Tikz 环境中的项目

Tikz 环境中的项目

我有一个 tikz 环境,其中有一段很长的文本需要编写。问题是它在水平方向上变得太大,所以我想按项目细分。在下面的示例中,就像我想让每组列表元素位于各自的行中(第 1 行中的 list11、list12、list13,第 3 行中的 list21、list22、list23,依此类推)。

\documentclass[11pt]{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}
\draw[line width=2pt] (0,0) -- (7,0)node[right=4mm]{};
\draw[line width=1pt] (0,-2mm)node[below](0){\strut Given $list_{11},list_{12},list_{13}$, $list_{21},list_{22},list_{23}$} -- (0,2mm)node[above] {$i$ is drawn};
\draw[line width=1pt] (7,-2mm)node[below](0){\strut Given $list_{11},list_{12},list_{13}$, $list_{21},list_{22},list_{23}.$} -- (7,2mm)node[above]{$i$ is drawn};
\draw[-latex] (0,-7mm) -- +(0,-10mm)node[below]{$xx,yy,zz$};
\draw[-latex] (7,-7mm) -- +(0,-10mm)node[below]{$xx,yy,zz$};
\end{tikzpicture}
\end{center}
\end{document}

有什么想法吗?谢谢!

答案1

align=center添加使用多行时居中对齐节点文本的选项,并\\在第二行元素之前添加。此外,正如@egreg 指出的那样,最好使用它,\mathit{list}而不是像普通变量名那样将其保留在纯数学模式中。对于这种重复模式,新命令\lst{..}可能非常方便。

\documentclass[11pt]{article}
\usepackage{tikz}
\begin{document}
\newcommand*{\lst}[1]{\ensuremath{\mathit{list}_{#1}}}
\begin{center}
\begin{tikzpicture}[align=center]
\draw[line width=2pt] (0,0) -- (7,0)node[right=4mm]{};
\draw[line width=1pt] (0,-2mm)node[below](0){Given $\lst{11},\lst{12},\lst{13}$,\\$\lst{21},\lst{22},\lst{23}$} -- (0,2mm)node[above] {$i$ is drawn};
\draw[line width=1pt] (7,-2mm)node[below](1){Given $\lst{11},\lst{12},\lst{13}$,\\$\lst{21},\lst{22},\lst{23}$.} -- (7,2mm)node[above]{$i$ is drawn};
\draw[-latex] (0) -- +(0,-3em)node[below]{$xx,yy,zz$};
\draw[-latex] (1) -- +(0,-3em)node[below]{$xx,yy,zz$};
\end{tikzpicture}
\end{center}
\end{document}

在此处输入图片描述

答案2

另一种可能性:

\documentclass[11pt]{article}
\usepackage{tikz}
\begin{document}
\newcommand*{\lst}[1]{\mathit{list}_{#1}}
\begin{center}
\begin{tikzpicture}
\draw[line width=2pt] (0,0) -- (7,0)node[right=4mm]{};
\draw[line width=1pt] (0,-2mm)node[below](0){\begin{tabular}{c}
                                                     Given $\lst{11},\lst{12},\lst{13}$\\
                                                     $\lst{21},\lst{22},\lst{23}$
                                                     \end{tabular}} -- (0,2mm)node[above] {$i$ is drawn};
\draw[line width=1pt] (7,-2mm)node[below](1){\begin{tabular}{c}
Given $\lst{11},\lst{12},\lst{13}$,\\
$\lst{21},\lst{22},\lst{23}$.\end{tabular}} -- (7,2mm)node[above]{$i$ is drawn};
\draw[-latex] (0) -- +(0,-3em)node[below]{$xx,yy,zz$};
\draw[-latex] (1) -- +(0,-3em)node[below]{$xx,yy,zz$};
\end{tikzpicture}
\end{center}
\end{document}

相关内容