$$\begin{tikzpicture}[scale=3]
\node (A) at (1,0) {$0$};
\node (B) at (2,0) {$H^1(G/H,M^H)$};
\node (C) at (3,0) {$H^1(G,M)$};
\node (D) at (4,0) {$H^1(H,M)$};
\node (E) at (5,0) {$0$};
\path[->,font=\scriptsize,>=angle 90]
(A) edge node[above]{} (B)
(B) edge node[above]{$\phi$} (C)
(C) edge node[above]{$\psi$} (D)
(D) edge node[above]{} (E);
\end{tikzpicture}$$
我如何才能改变箭头的长度,使它们都具有相同的长度?如果可能的话,我想尝试将整个文档的箭头长度标准化。
$H^1(G/H,M^H)$, $H^1(G,M)$
另外,我意识到如果我使用较小的比例,即比例=2,那么由于项和的大小$H^1(H,M)$
,它们最终会重叠。
答案1
箭头的长度由项之间的距离决定。
您可以使用单行矩阵来定位具有相同间隔的项。
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{arrows,matrix}
\begin{document}
\[\begin{tikzpicture}
\matrix(m)[
matrix of math nodes,
column sep=1cm% sep between columns
]{
0 & H^1(G/H,M^H) & H^1(G,M) & H^1(H,M) & 0 \\};
% arrows:
\foreach[count=\i,evaluate={\j=int(\i+1)}]\text in {{},$\phi$,$\psi$,{}}
\path[-angle 90,font=\scriptsize](m-1-\i)edge node[above]{\text}(m-1-\j);
\end{tikzpicture}\]
\end{document}
或者您可以使用该graphs
库(需要 pgf/TikZ 版本 3.0):
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{arrows,graphs,quotes}
\tikzset{
graphs/mathgraph/.style={
math nodes,
/tikz/>=angle 90,
grow right sep=1cm,% sep between nodes
edge={font=\scriptsize},
fresh nodes
}
}
\begin{document}
\[\tikz\graph[mathgraph]{0 -> "H^1(G/H,M^H)" ->["$\phi$"] "H^1(G,M)"->["$\psi$"]"H^1(H,M)" -> 0};\]
\end{document}
结果和上面一样。
答案2
虽然对于精确序列来说,相同长度的箭头可能是更好的选择,但对于交换图来说,这并不可行。然而,在我看来,长箭头并不能改善外观。
不使用 TikZ 你也可以做到:
\documentclass{article}
\newcommand{\lto}{\longrightarrow}
\begin{document}
This has long arrows
\[
0 \lto H^1(G/H,M^H) \lto H^1(G,M) \lto H^1(H,M) \lto 0
\]
and this has short ones, which I prefer,
\[
0 \to H^1(G/H,M^H) \to H^1(G,M) \to H^1(H,M) \to 0
\]
\end{document}