表格* 中的 \vphantom{E} 的效果?

表格* 中的 \vphantom{E} 的效果?

我对 LaTeX 还比较陌生,我对\vphantom{E}这种情况下到底起什么作用以及为什么会产生这种影响感到困惑。

我有一张有 2 列的表格,每行上的项目用点水平分隔。我认为我已经将表格设置为 6.5 英寸宽,项目左右对齐。

这是表格的图片,看起来与预期一致。但是,我想在不使用的情况下减少最后一行后的空白\vspace。我尝试删除该\vphantom命令,表格不再填满整个 6.5 英寸。

在此处输入图片描述

\newcommand{\award}[2]
{
    \multicolumn{2}{c}{#1 \cftdotfill{\cftdotsep} #2}\\
}

\begin{center}
    \begin{tabular*}{6.5in}[t]{l@{\extracolsep{\fill}}r}
        \award{Text text text text text text text}{2019}
        \award{Text text text text text text text Text text text text text text text}{2018-19}
        \award{Text text text text text text text Text text text text text text text}{2018}
        \vphantom{E}
    \end{tabular*}
\end{center}

删除\vphantom{E}以下结果:

在此处输入图片描述

答案1

请尝试以下操作:

\documentclass{report}
\usepackage{geometry}

\newcommand{\award}[2]{#1 \dotfill  #2\\}

\begin{document}
\begin{center}
    \begin{tabular}{p{5.5in}}
        \award{Text text text text text text text}{2019}
        \award{Text text text text text text text Text text text text text text text}{2018-19}
        \award{Text text text text text text text Text text text text text text text}{2018}
     \end{tabular}
\end{center}
\end{document}

在此处输入图片描述

为了正确工作,\dotfill您需要明确定义(多列)单元格宽度,而表格中没有。如果您添加一条假线,例如使用 ~ & ~~不可见字符)或简单地使用&或使用\vphantom{E}(通过它您在第一列中定义此表格行的垂直空间,而第二列左侧未定义,这是错误的),表格宽度等于规定的宽度。

我使用,\dotfill因为您的文档序言是未知的,并且\cftdotfill在我的文档示例中未定义。

使用以下命令可以获得相同的结果minipage

\documentclass{report}
\usepackage{geometry}

\newcommand{\award}[2]{#1 \dotfill #2\\}

\begin{document}
\begin{center}
    \begin{minipage}{5.5in}
        \award{Text text text text text text text}{2019}
        \award{Text text text text text text text Text text text text text text text}{2018-19}
        \award{Text text text text text text text Text text text text text text text}{2018}
     \end{minipage}
\end{center}
\end{document}

相关内容