我对 LaTeX 还不太熟悉,我很好奇是否有人知道如何制作这类图表。我在这里看到了另一张图片,但它是一个三节点图,我不确定如何让 LaTeX 识别出插入另一个节点时如何制作正方形。有什么想法吗?
编辑:具体来说,这是有效的:
\begin{tikzpicture}[every node/.style={midway}]
\matrix[column sep={4em,between origins},
row sep={2em}] at (0,0)
{ \node(R) {$R$} ; & \node(S) {$S$}; \\
\node(R/I) {$R/I$}; \\};
\draw[<-] (R/I) -- (R) node[anchor=east] {$\chi$};
\draw[->] (R/I) -- (S) node[anchor=north] {$\psi$};
\draw[->] (R) -- (S) node[anchor=south] {$\phi$};
\end{tikzpicture}
但是我需要改变箭头的起点和目的地以允许四个节点。
答案1
这真的很容易tikz-cd
:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}
R \arrow{r}{\phi} \arrow[swap]{d}{\chi} & S \arrow{d}{\Psi} \\
R/I \arrow{ur}{\psi} \arrow{r}{\Phi} & T
\end{tikzcd}
\]
\end{document}
答案2
正如 JLDiaz 告诉你的那样,我们可以通过添加一个& \node ...;
\documentclass[convert = false, tikz]{standalone}
\begin{document}
\begin{tikzpicture}[every node/.style={midway}]
\matrix[column sep={4em,between origins}, row sep={2em}] at (0,0) {
\node(R) {$R$} ; & \node(S) {$S$}; \\
\node(R/I) {$R/I$}; & \node (T) {$T$};\\
};
\draw[<-] (R/I) -- (R) node[anchor=east] {$\chi$};
\draw[->] (R/I) -- (S) node[anchor=north] {$\psi$};
\draw[->] (R) -- (S) node[anchor=south] {$\phi$};
\draw[->] (S) -- (T) node[anchor=west] {$\Psi$};
\draw[->] (R/I) -- (T) node[anchor=north] {$\Phi$};
\end{tikzpicture}
\end{document}