如何仅证明用户定义的表格环境的第一列?

如何仅证明用户定义的表格环境的第一列?

前段时间我发了一个问题如何仅证明[a]用户定义表格环境的第一列。尽管 David Carlisle 给出了令人满意的答案,但他的答案仅在所讨论的列包含至少两个或更多单词时才有效。这是因为他提供的答案通过调整单词内空间来对齐文本。我现在需要一个解决方案来解决我的问题,该解决方案也适用于只有一个单词的情况。与我最初的问题一样,答案必须与兼容ragged2e

考虑以下 MWE:

\documentclass{article}

\usepackage{ragged2e}

\pagestyle{empty}

\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]{10.00cm}{\strut%
    \textbf{#2}%
    \hfill%
    {\footnotesize #3\par}%no!\\%
    #4\vspace{\parsep}%
  }\\}

\begin{document}

  \begin{entrylist}

   \entry
    {Office addr}
    {A very fancy building in a very fancy place}
    {}
    {}

   \entry
    {Web addr}
    {www.somename.com}
    {}
    {}

  \entry
    {Pers email}
    {somename a aaa}
    {}
    {}

  \entry
    {Work email}
    {veryfancyname2 a aaa}
    {}
    {}
    
  \entry
    {Phone}
    {+00 0000 000000}
    {}
    {}

\end{entrylist}

\end{document}

我使用此 MWE 获得的输出是这样的:

在此处输入图片描述

问题出在单词“phone”上,它没有像其所在列中的其他单词一样对齐。我希望它像其所在列中的其他单词一样对齐。我想过不同的解决方案:

  1. 将文本向右刷新,但我担心这个解决方案可能看起来很糟糕,因为它意味着牺牲合理性……

  2. 确保相关列中的每个条目始终至少包含两个单词,这样字内空间就可以始终调整,以确保单元格的内容对齐。但是,有时不存在有意义的替代措辞……

  3. 调整字母间距,以确保相关列中的所有单词都对齐,无论单词数量多少。据我所知,如果没有太多空间需要纠正,这是一个不错的选择……

我想尝试选项 3,但我还没能找到方法。有人能帮我实现选项 3 吗(如果可能的话)?理想情况下,只要列中至少有两个单词,David Carlisle 的答案就应该保留为默认值,而只有当列中只有一个单词时,选项 3 才应该实现。

由于这是我正在更新的简历,因此我很乐意听取那些比我更精通 LaTex 的人提出的排版和文体建议。即使您无法帮助我按照我的意愿实现选项 3,也请随时提出您的意见。

非常感谢大家抽出时间。

相关内容