我可以画画
使用
\begin{diagram}
X &\rTo^{\gamma} &Y & \lDotsto & \varepsilon_2\\
\dTo^\alpha &\ruTo^\beta & & &\\
Z& \lDotsto &\varepsilon_3
\end{diagram}
以及序言中的以下声明
\documentclass{beamer}
\usepackage[small,nohug,heads=littlevee]{diagrams}
\diagramstyle[labelstyle=\scriptstyle]
有人可以告诉我如何修改以获得原始图表的以下变体吗?
非常感谢!
答案1
如果你不介意使用 xy-pic,代码
\documentclass{beamer}
\usepackage[all,cmtip]{xy}
\begin{document}
\begin{displaymath}
\xymatrix{
{X} \ar[rr]^{\gamma} \ar[dr]^{\alpha}
&& {Y}\\
{\varepsilon_{3}} \ar[r]
& {Z} \ar[ur]^{\beta}
& {\varepsilon_{2}} \ar[u]
}% xymatrix
\end{displaymath}
\end{document}
将产生
有关使用 xy-pic 的交换图的教程,请参阅“AMS-LaTeX 入门和运行”第 8 节,网址为https://www.ctan.org/tex-archive/info/amslatex-primer?lang=en
答案2
这是带有 的图表diagrams.sty
;我绘制了带有标准箭头的版本以及head=littlevee
版本。后者的后果是灾难性的。
\documentclass{article}
\usepackage[small,nohug]{diagrams}
\diagramstyle[labelstyle=\scriptstyle]
\begin{document}
\begin{diagram}
X & & \rTo^{\gamma} & & Y \\
& \rdTo^\alpha & & \ruTo^\beta & \uTo \\
\varepsilon_3 & \rTo & Z & & \varepsilon_2
\end{diagram}
\diagramstyle[heads=littlevee]
\begin{diagram}
X & & \rTo^{\gamma} & & Y \\
& \rdTo^\alpha & & \ruTo^\beta & \uTo \\
\varepsilon_3 & \rTo & Z & & \varepsilon_2
\end{diagram}
\end{document}
我建议使用tikz-cd
。语法更简单,结果也更漂亮。
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
X \arrow[rr,"\gamma"] \arrow[dr,"\alpha"] && Y \\
\varepsilon_3 \arrow[r] & Z \arrow[ur,"\beta"] & \varepsilon_2 \arrow[u]
\end{tikzcd}
\end{document}
这是tikz-cd
带有虚线箭头的版本。
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
X \arrow[rr,"\gamma"] \arrow[dr,"\alpha"] && Y \\
\varepsilon_3 \arrow[r,dotted] & Z \arrow[ur,"\beta"] & \varepsilon_2 \arrow[u,dotted]
\end{tikzcd}
\end{document}
答案3
LaTeX 的内置图片命令还不错,但反复试验才能正确放置图片很不方便。要获得以下内容,请使用以下代码。
\documentclass[11pt]{article}
\begin{document}
\setlength{\unitlength}{1pt}
\begin{picture}(150,50)
\put(0,0){$\varepsilon_3$} \put(70,0){$Z$} \put(140,0){$\varepsilon_2$}
\put(0,40){$X$} \put(140,40){$Y$}
\put(12,3){\vector(1,0){55}} \put(143,10){\vector(0,1){27}}
\put(13,38){\vector(2,-1){55}} \put(82,10){\vector(2,1){55}}
\put(13,43){\vector(1,0){120}}
\put(70,48){$\gamma$} \put(45,25){$\alpha$} \put(96,25){$\beta$}
\end{picture}
\end{document}
答案4
我不知道diagram
环境,但对于交换图,我建议使用 蒂克兹包裹和一个matrix of math nodes
给予:
以下是代码:
\documentclass[border=5mm,tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{center}
\begin{tikzpicture}[>=stealth,->,shorten >=2pt,looseness=.5,auto]
\matrix (M)[matrix of math nodes,row sep=1cm,column sep=16mm]{
X & & Y\\
\varepsilon_3 & Y & \varepsilon_2\\
};
\draw(M-1-1)--node{$\gamma$}(M-1-3);
\draw(M-1-1)--node{$\alpha$}(M-2-2);
\draw(M-2-2)--node{$\beta$}(M-1-3);
\draw(M-2-1)--(M-2-2);
\draw(M-2-3)--(M-1-3);
\end{tikzpicture}
\end{center}
\end{document}
我认为代码大部分都是不言自明的,尽管熟悉tikz
当然会有所帮助:)也许一个不太明显的部分是,(M)
中的表示矩阵坐标应该使用字母以及行和列索引\matrix (M)
来引用。因此,如果您改为使用,那么您将把坐标引用为,等等。M
\matrix (mat)
(mat-1-1)
(mat-1-2)
还有一个錄音包,但我的头脑简单无法应对它所需的语法:)