我想绘制两个数学序列 (a、b、c、d、e、...) 和 (1、2、3、4、5、6、...) 之间的图形,并从 a 到 1、从 b 到 2 等等绘制箭头。我该怎么做?
这是我的第一次尝试:
\documentclass[a4paper,10pt]{article}
\usepackage{tikz}
\usetikzlibrary{arrows,chains,matrix,positioning,scopes}
\begin{document}
\begin{tikzpicture}
\node (a) {(7,};
\node[right=0cmof a] (b) {11,};
\node[right=0cm of b] (c) {17,};
\node[right=0cm of c] (d) {26,};
\node[right=0cm of d] (e) {13,};
\node[right=0cm of e] (f) {20,};
\node[right=0cm of f] (g) {$\dots)$};
\node (a1) [below=of a] {(1,};
\node[right=0cmof a1] (b1) {1,};
\node[right=0cm of b1] (c1) {1,};
\node[right=0cm of c1] (d1) {0,};
\node[right=0cm of d1] (e1) {1,};
\node[right=0cm of e1] (f1) {0,};
\node[right=0cm of f1] (g1) {$\dots)$};
\draw[->] (a) -- (a1);
\draw[->] (b) -- (b1);
\draw[->] (c) -- (c1);
\draw[->] (d) -- (d1);
\draw[->] (e) -- (e1);
\draw[->] (f) -- (f1);
\end{tikzpicture}
\end{document}
然而,这看起来不太好:
我现在可以调整节点之间的距离以使其看起来准确,但有没有更好的方法?
答案1
您应该使用以下方法让您的生活更轻松一些并利用自动化\foreach
:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach [count=\xi from 0] \x / \y in {7/1,11/1,17/1,26/0,13/1,20/0}{%
\node (\x_\xi) at (\xi/1.5,1) {\x};
\node (\y_\xi) at (\xi/1.5,0) {\y};
\draw[->] (\x_\xi) -- (\y_\xi);
}
\end{tikzpicture}
\end{document}