我正在使用这个简单的代码来对齐简历上的日期范围:
\section{I'm pretty cool}\begin{tabular}{l l}
2009--present & company 1 \\
2011--2012 & company 2
\end{tabular}
现在看起来像这样:
2009 - present company 1
2011 - 2012 company 2
但我想在每个条目中添加一个列表,如下所示:
2009 - present company 1:
* editor
2011 - 2012 company 2
* judge
* jury
* executioner
我该如何实现这一点?我可以将itemize
它们放在单独的列中,但在这种情况下,它不起作用tabular
,我希望“公司 2”的一部分位于该列中。
答案1
如果在列itemize
内使用,则会增加很多不必要的空间。使用正确定义的列类型来做正确的事情。以下内容很久以前由 Donald Arseneau 在 CTT 上发布,用于逐项和枚举单元格。p
tabular
编辑:\multicolumn
将内容更改为一p
列。
\documentclass{article}
\usepackage{array}
\makeatletter
\newcolumntype{e}[1]{%--- Enumerated cells ---
>{\minipage[t]{\linewidth}%
\NoHyper% Hyperref adds a vertical space
\let\\\tabularnewline
\enumerate
\addtolength{\rightskip}{0pt plus 50pt}% for raggedright
\setlength{\itemsep}{-\parsep}}%
p{#1}%
<{\@finalstrut\@arstrutbox\endenumerate
\endNoHyper
\endminipage}}
\newcolumntype{i}[1]{%--- Itemized cells ---
>{\minipage[t]{\linewidth}%
\let\\\tabularnewline
\itemize
\addtolength{\rightskip}{0pt plus 50pt}%
\setlength{\itemsep}{-\parsep}}%
p{#1}%
<{\@finalstrut\@arstrutbox\enditemize\endminipage}}
\AtBeginDocument{%
\@ifpackageloaded{hyperref}{}%
{\let\NoHyper\relax\let\endNoHyper\relax}}
\makeatother
\newlength{\pcolwdth}
\begin{document}
\setlength{\pcolwdth}{5cm}%
\begin{tabular}{li{\pcolwdth}}
2009--present & \multicolumn{1}{p{\pcolwdth}}{company 1} \\
& \item editor \\
2011--2012 & \multicolumn{1}{p{\pcolwdth}}{company 2} \\
& \item judge
\item jury
\item executioner \\
\end{tabular}
\end{document}
答案2
根据您的喜好,您也可以避免使用列表并使用“假列表”环境设置项目:
\documentclass{article}
\newcommand{\nextitem}{\par\hspace*{\labelsep}\textbullet\hspace*{\labelsep}}
\begin{document}
\thispagestyle{empty}
\begin{tabular}{rp{3in}}
2009--present & company 1
\nextitem editor \\
2011--2012 & company 2
\nextitem jury
\nextitem executioner
\end{tabular}
\end{document}
这只适用于第二列设置为p
aragraph 模式的情况。您也可以使用 -column X
(来自tabularx
包裹)。
另一个建议是使用moderncv
班级。以下是摘录自moderncv
模板/示例(还有其他例子):
答案3
列表环境在列内不起作用l
,但在列内可以正常工作p
:
\documentclass{article}
\usepackage{array}
\begin{document}
\thispagestyle{empty}
\begin{tabular}{l<{\raggedright}p{3in}}
2009--present & company 1
\begin{itemize}
\item editor
\end{itemize}
\\
2011--2012 & company 2
\begin{itemize}
\item jury
\item executioner
\end{itemize}
\end{tabular}
\end{document}
答案4
不完全是使用tabular
。但是这个解决方案使用了parallel
包。
\documentclass{article}
\usepackage{parallel,enumitem}
\setlist{label=*,leftmargin=0.31\textwidth}
\begin{document}
\begin{Parallel}[v]{0.24\textwidth}{0.74\textwidth} % remove [v] if you don't need a vertical line
\ParallelLText{\noindent
2009--present
}
%
\ParallelRText{%
\noindent
Company 1
\begin{enumerate}%[label=*,leftmargin=0.31\textwidth] %defined by \setlist in preamble
\item{editor}
\end{enumerate}}
\ParallelPar
\bigskip
%---------------------
\ParallelLText{\noindent
2011--2012
}
%
\ParallelRText{%
\noindent
Company 1
\begin{enumerate}%[label=*,leftmargin=0.31\textwidth]
\item{Judge}
\item{Jury}
\item{Executioner}
\end{enumerate}}
\ParallelPar
\bigskip
%---------------------
\end{Parallel}
\end{document}