我正在尝试绘制对立平方,如下所示:
https://plato.stanford.edu/entries/square/image-a.jpg
到目前为止我已经生成了以下代码:
\documentclass{article}
\usepackage{tikz}
\begin{tikzpicture}
\draw (0, 0) rectangle (2, 2);
\path
(0, 0) node[below left] {\textit{Some S is P}}
(2, 0) node[below right] {\textit{No S is P}}
(2, 2) node[above right] {\textit{Some S is not P}}
(0, 2) node[above left] {\textit{Every S is P}}
;
\end{tikzpicture}
\end{document}``
但这不包含对角线,没有箭头,角落也没有字母标记。
如何在 Latex 中创建对立平方?
答案1
这是您正在寻找的东西吗?
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[
corner/.style={font=\bfseries\large\sffamily},
arrow/.style={->,>=stealth,thick},
label/.style={font=\small\sffamily,fill=white,midway},
contra/.style={thick}
]
\node[corner] (E) at (2,1) {E};
\node[corner] (O) at (2,-1) {O};
\node[corner] (I) at (-2,-1) {I};
\node[corner] (A) at (-2,1) {A};
\draw[arrow] (A) -- (I) node[label] {subalterns};
\draw[arrow] (E) -- (O) node[label] {subalterns};
\draw[contra] (A) -- (O);
\draw[contra] (I) -- (E) node[label] {contradictories};
\draw[contra] (A) -- (E) node[label] {contraries};
\draw[contra] (I) -- (O) node[label] {contraries};
\node[above of = A,yshift=-18,font=\footnotesize] {Every S is P};
\node[above of = E,yshift=-18,font=\footnotesize] {No S is P};
\node[below of = I,yshift=18,font=\footnotesize] {Some S is P};
\node[below of = O,yshift=18,font=\footnotesize] {Some S is not P};
\end{tikzpicture}
\end{document}
请注意,位置和 y 轴偏移是猜测的,应根据您的要求进行调整。字体类型和大小也是如此。