如何在使用 ragged2e 时仅调整此用户定义的表格环境的第一列?

如何在使用 ragged2e 时仅调整此用户定义的表格环境的第一列?

我目前正在使用很久以前在互联网上找到的一个非常酷的模板(用户定义的 CV 类 + 模板本身)更新我的简历。这些年来,我或多或少能够根据自己的需要调整和文件.cls.tex但现在我面临着一个我无法独自解决的挑战。在某个时候,定义了.cls一个名为 的新环境。entrylist

现在考虑下面的 MWE。在entrylist定义的环境中(请注意,这只是一个有点花哨的表格环境),第一列的内容没有对齐(见下面的输出)。我尝试了很多方法来对齐第一列的内容,但到目前为止还没有成功。换句话说,目标是让“短名称或日期”和“更长的名称或日期”都对齐。因此,有人知道如何仅证明第一列的内容吗?

\documentclass{article}

\setlength{\tabcolsep}{0pt}
\newenvironment{entrylist}{%
  \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll}
}{%
  \end{tabular*}
}
\renewcommand{\bfseries}{}
\newcommand{\entry}[4]{%
  #1&\parbox[t]{7.00cm}{%
    \textbf{#2}%
    \hfill%
    {\footnotesize #3}\\%
    #4\vspace{\parsep}%
  }\\}


\begin{document}

  \begin{entrylist}

  \vspace{5pt}
  \entry
    {Short name or date}
    {WHATEVER}
    {Whatever}
    {Whatever}

  \vspace{5pt}
  \entry
    {much much longer name or date}
    {WHATEVER}
    {Whatever}
    {Whatever}

\end{entrylist}


\end{document}

电流输出

附言:请随意评论这些警告或者忽略它们——我会尽快处理它们。

感谢大家付出的时间和精力!

编辑!在 David Carlisle 回答之后,我注意到我需要任何可能的解决方案来与软件包兼容ragged2e。换句话说,我仍然需要让该列对齐,而文档的其余部分会受到影响[document]ragged2e这可能吗?(也许使用 array包……?)

答案1

在此处输入图片描述

您需要删除列规范\hfil添加的胶水l,因此:

\documentclass{article}

\setlength{\tabcolsep}{0pt}
\newenvironment{entrylist}{%
  \noindent
  \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll}
}{%
  \end{tabular*}
}
\renewcommand{\bfseries}{}
\newcommand{\entry}[4]{%
  \spaceskip0pt\xspaceskip0pt % for ragged2e document settting
  #1\hspace*{0pt plus -1fil}\mbox{}&\parbox[t]{7.00cm}{%
    \textbf{#2}%
    \hfill%
    {\footnotesize #3\par}%no!\\%
    #4\vspace{\parsep}%
  }\\}


\begin{document}

  \begin{entrylist}

  \vspace{5pt}
  \entry
    {Short name or date}
    {WHATEVER}
    {Whatever}
    {Whatever}

  \vspace{5pt}
  \entry
    {much much longer name or date}
    {WHATEVER}
    {Whatever}
    {Whatever}

\end{entrylist}


\end{document}

相关内容