\shortstack 帶空行

\shortstack 帶空行

如何強制\shortstack保留空行?例如,

\shortstack[c]{hoge \\ foo \\ bar}
\shortstack[c]{hoge \\  \\ bar}

提供預覽

。但我想保留中間的空白行。

答案1

\shortstack確實不適合均勻堆疊字符,因為它只考慮字符的高度和深度,在它們之間僅添加 3pt。

查看結果

\documentclass{article}

\begin{document}

\shortstack{a\\c\\e}
\shortstack{g\\y\\q}
\shortstack{fg\\ly\\pt}
\shortstack{l\\a\\f}

\end{document}

在此輸入影像描述

結果絕對不是你想像的那樣。此指令僅當其參數僅包含大寫字母(無變音符號)時才有用。

\documentclass{article}

\newcommand{\bettershortstack}[2][c]{%
  \begin{tabular}[b]{@{}#1@{}}#2\end{tabular}%
}

\begin{document}

\bettershortstack{a\\c\\e}
\bettershortstack{g\\y\\q}
\bettershortstack{fg\\ly\\pt}
\bettershortstack{l\\a\\f}

\end{document}

在此輸入影像描述

現在你的例子:

\documentclass{article}

\newcommand{\bettershortstack}[2][c]{%
  \begin{tabular}[b]{@{}#1@{}}#2\end{tabular}%
}

\begin{document}

\bettershortstack{hoge \\ foo \\ bar}
\bettershortstack{hoge \\  \\ bar}

\end{document}

在此輸入影像描述

答案2

為了使內容正確排列,請使用 a \vphantom,因為行高是相對於條目而言的:

在此輸入影像描述

\documentclass{article}

\usepackage{stackengine}

\begin{document}

\shortstack[c]{hoge \\ foo \\ bar}
\shortstack[c]{hoge \\  \\ bar}
\shortstack[c]{hoge \\ \vphantom{foo} \\ bar}

\end{document}

相關內容