绘制特定的交换图

绘制特定的交换图

我可以画画

在此处输入图片描述

使用

\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 的内置图片命令还不错,但反复试验才能正确放置图片很不方便。要获得以下内容,请使用以下代码。

图表.jpg

\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)

还有一个錄音包,但我的头脑简单无法应对它所需的语法:)

相关内容