在 TikZ 中的节点中写入文本时使用 \shortstack

在 TikZ 中的节点中写入文本时使用 \shortstack

我已经\shortstack在 TikZ 的某些节点中看到了该命令(例如,接受的答案这里)。

用于什么?我在 TikZ 手册中找不到它的定义。

答案1

\shortstack不是 的一部分tikz。它用于将项目堆叠在一起。请注意,MWE 不使用任何包。

在此处输入图片描述

句法:

\shortstack[alignment]{line 1 \\ line 2 \\ line 3 etc. }

有效对齐方式如下:

r - right aligned
l - left aligned
c - centered (default)

代码:

\documentclass{article}

\begin{document}
\shortstack{Predefined\\Process}
\hspace{1cm}
\shortstack[r]{Predefined\\Process}
\hspace{1cm}
\shortstack[l]{Predefined\\Process}
\end{document}

答案2

\shortstack不是一个tikz特定命令。它是标准 LaTeX 发行版的一部分,定义在latex.ltx格式如下:

\shortstack[<alignment>]{<stuff>}

以下是原始定义:

\gdef\shortstack{\@ifnextchar[\@shortstack{\@shortstack[c]}}
\gdef\@shortstack[#1]{%
  \leavevmode
  \vbox\bgroup
    \baselineskip-\p@\lineskip 3\p@
    \let\mb@l\hss\let\mb@r\hss
    \expandafter\let\csname mb@#1\endcsname\relax
    \let\\\@stackcr
    \@ishortstack}
\gdef\@ishortstack#1{\ialign{\mb@l {##}\unskip\mb@r\cr #1\crcr}\egroup}

它的目的是像 一样将元素堆叠在一起tabular。但是,它的 较短\baselineskip,导致元素的垂直堆叠较短。

tabular下面是一个简单例子,展示了和之间的一些区别\shortstack

在此处输入图片描述

\documentclass{article}
\begin{document}
\begin{tabular}{ll}
  \verb|\shortstack|: & \shortstack{Predefined\\Process} \hspace{1cm}
    \shortstack[r]{Predefined\\Process} \hspace{1cm}
    \shortstack[l]{Predefined\\Process} \\ \hline
  \verb|tabular|: & \begin{tabular}{@{}c@{}}Predefined\\Process\end{tabular} \hspace{1cm}
    \begin{tabular}{@{}r@{}}Predefined\\Process\end{tabular} \hspace{1cm}
    \begin{tabular}{@{}l@{}}Predefined\\Process\end{tabular}
\end{tabular}
\end{document}​

请注意 中减少的基线跳跃\shortstack。此外,\shortstack必然具有零宽度水平填充。最后, 的默认对齐方式\shortstack是沿着baseline,而tabular允许top、center(默认)或baseline。

答案3

\shortstack在基础文件中定义latex.ltx,其目的是在限定的区域内设置多行文本。

相关内容