我正在尝试使用 Tikz 绘制交换图,但在所有函数之间添加箭头时遇到了一些麻烦。我在网上找到了一些代码,并对其进行了修改,但只在 X 和 Y 之间得到了一个箭头,而没有其他任何函数。这是我得到的:
\begin{document}
\documentclass[12pt,a4paper,oneside]{report}
\usepackage[left=2.00cm,right=2.00cm,top=2.45cm,bottom=2.5cm]{geometry}
\usepackage{amsmath,amssymb,amscd,amstext}
\usepackage{color,epsfig,fancyhdr,latexsym,slashed}
\usepackage[thmmarks]{ntheorem}
\usepackage{tikz, subfig}
\usepackage{verbatim}
\usetikzlibrary{matrix,arrows}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes, row sep=3em,
column sep=2.5em, text height=1.5ex, text depth=0.25ex]
{ X & & Y \\
& Z & \\ };
%\draw[->] (m-1-1) – (m-1-3);
\path[->,font=\normalsize]
(m-1-1) edge node[auto] {$ f $} (m-1-3)
edge node[auto] {$ h $} (m-2-2)
(m-1-3) edge node[auto] {$ g $} (m-2-2);
\end{tikzpicture}
谢谢。
答案1
为什么不使用tikz-cd
?
\documentclass[a4paper]{report}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
X \arrow{rr}{f} \arrow{rd}[swap]{h} && Y \arrow{dl}{g} \\
& Z
\end{tikzcd}
\end{document}
键swap
将标签放在默认的另一侧。
另一种方法是使用 Xy-pic
\documentclass[a4paper]{report}
\usepackage[all,cmtip]{xy}
\begin{document}
\xymatrix{
X \ar[rr]^f \ar[dr]_h && Y \ar[dl]^g \\
& Z
}
\end{document}
这使
答案2
你的 mwe 有一些错误,如\begin{document
和\end{document}
。更正后,我得到了这个。
\documentclass[12pt,a4paper,oneside]{report}
\usepackage[left=2.00cm,right=2.00cm,top=2.45cm,bottom=2.5cm]{geometry}
\usepackage{amsmath,amssymb,amscd,amstext}
\usepackage{color,epsfig,fancyhdr,latexsym,slashed}
\usepackage[thmmarks]{ntheorem}
\usepackage{tikz, subfig}
\usepackage{verbatim}
\usetikzlibrary{matrix,arrows}
\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes, row sep=3em,
column sep=2.5em, text height=1.5ex, text depth=0.25ex]
{ X & & Y \\
& Z & \\ };
% \draw[->] (m-1-1) -- (m-1-3);
\path[->,font=\normalsize]
(m-1-1) edge node[above] {$ f $} (m-1-3)
edge node[left] {$ h $} (m-2-2)
(m-1-3) edge node[right] {$ g $} (m-2-2);
\end{tikzpicture}
\end{document}
从你的问题中无法明确你是否需要更多箭头。这里可能需要一些澄清。