我目前正在使用很久以前在互联网上找到的一个非常酷的模板(用户定义的 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}