我的代码如下:
\documentclass{book}
\usepackage{amsmath}
\usepackage[silent,nohug,heads=littlevee,midshaft]{diagrams}
\begin{document}
\begin{diagram}[height=0.7cm]
H^{n}(k,(n)) &\rTo& H^{n}(k,Q(n)) &\rTo& H^{n}(k,D(n))
&\rTo& 0\qquad\qquad \\
\dTo^{} && \dTo^{\cong} && \dTo && \\
H_\eta^{n}(k,(n))&\rTo&H_\eta^{n}(k,Q(n))&\rTo&H_\eta^{n}(k,D(n))
&\rTo^{\text{onto}}& H_\eta^{n+1}(k,(n)).
\end{diagram}
\end{document}
输出如下:
两个标记的箭头位置都错了,可以修复吗?请指教。
答案1
该littlevee
选项是非常有问题;提示只能放在垂直箭头处,另见https://tex.stackexchange.com/a/308352/4427
除了删除该选项之外,你没有什么可以做的head=littlevee
。
调试diagrams.sty
基本上是不可能的,因为代码是模糊的。据我所知,箭头在包加载时被框住了。littlevee
在手册本身中也可以看到箭头本质上是坏的(第 11 页)
答案2
我在我的 TeX 发行版中找不到diagrams
包,但你可以使用以下命令获得相同的结果tikz-cd
:
\documentclass{book}
\usepackage{amsmath}
\usepackage{tikz-cd}
\usetikzlibrary{arrows.meta}
\tikzcdset{arrow style=tikz, diagrams={>={Straight Barb[length=5pt,width=5pt]}}}
\begin{document}
\[
\begin{tikzcd}[cells={anchor=west}]
H^{n}(k,(n)) \ar{r}\ar{d} & H^{n}(k,Q(n)) \ar{r}\ar{d}[swap, xshift=-2pt]{\cong} & H^{n}(k,D(n)) \ar{r}\ar{d}
&[10pt] 0 \\[10pt]
H_\eta^{n}(k,(n)) \ar{r} & H_\eta^{n}(k,Q(n)) \ar{r} & H_\eta^{n}(k,D(n)) \ar{r}[yshift=2pt]{\text{onto}}
& H_\eta^{n+1}(k,(n))
\end{tikzcd}
\]
\end{document}