我正在尝试找出一个使用 LaTeX 绘制下图(来自文档的快照图像)的好方法。
我最接近的方法是使用以下代码:
\begin{align}
\begin{array}{ccccccccc}
0 &\xlongrightarrow & M' & \xlongrightarrow & M & \xlongrightarrow & M'' & \xlongrightarrow & 0\\
& & \bigg\downarrow & & \bigg\downarrow & & \bigg\downarrow & & \\
0 &\xlongrightarrow & N' & \xlongrightarrow & N & \xlongrightarrow & N'' & \xlongrightarrow & 0
\end{array}
\end{align}
渲染结果如下图所示:
使用数组和对齐环境似乎不是一件好事。有没有更有效的方法来制作这种带箭头的图表?我见过类似的帖子,建议使用 TikZ,但我对此了解不多——也许我会学习它。但如果有多种解决方案或正确方向的指示,将非常受欢迎。
那么角度箭头怎么样(比如从第一行的 $M'$ 到第二行的 $N$——这在上下文中没有意义,但我希望能够轻松地制作这样的箭头,并且在发生更改时只需对代码进行少量修改)?
答案1
答案2
这是一个简单的解决方案。长右箭头是用 hbox 生成的。您可以调整长度;我在这里选择了 1cm。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\Lrightarrow}{\hbox to1cm{\rightarrowfill}}
\newcommand{\Ldownarrow}{\bigg\downarrow}
\begin{document}
\[
\setlength{\arraycolsep}{1pt}
\begin{array}{*{9}c}
0 &\Lrightarrow & M' & \Lrightarrow & M & \Lrightarrow & M'' & \Lrightarrow & 0\\
& & \Ldownarrow & & \Ldownarrow & & \Ldownarrow & & \\
0 &\Lrightarrow & N' & \Lrightarrow & N & \Lrightarrow & N'' & \Lrightarrow & 0
\end{array}
\]
\end{document}
答案3
使用该amscd
包可以得到类似的结果,尽管不支持对角箭头:
\documentclass{article}
\usepackage{amscd}
\begin{document}
\[
\begin{CD}
0 @>>> M' @>>> M @>>> M'' @>>> 0 \\
@. @VVV @VVV @VVV \\
0 @>>> N' @>>> N @>>> N'' @>>> 0
\end{CD}
\]
\end{document}
答案4
这是使用该xy-pic
包的解决方案,包括一个对角箭头:
\documentclass{article}
\usepackage[all]{xy}
\begin{document}
\xymatrix{
0 \ar[r] & M' \ar[d]\ar[r] \ar[dr] & M \ar[d]\ar[r] & M'' \ar[d]\ar[r] & 0 \\
0 \ar[r] & N' \ar[r] & N \ar[r] & N'' \ar[r] & 0
}
\end{document}