我已经使用 LaTeX 排版我的简历好几年了,但一直有一个困扰我的问题,我从来没有能够完全解决。
我的简历的最后一部分总是推荐人列表。随着我的资历越来越高,我不得不将列出的 3-5 个推荐人的布局调整为单列、2 列或 3 列,具体取决于我剩余的空间大小,以确保紧凑。
一个简单的模型来展示我的意思:
现在我不再每天更新/发送简历(最多可能一年一次),所以我已经习惯了手动调整间距和使用表格。然而,这不是我喜欢或特别优雅的解决方案。
我的问题是——是否可以根据给定的尺寸即时创建网格?例如,我希望能够做到:
\begin{refList}[2]
\refItem{
John Smith\\
Department of Foo\\
Quxington University\\
[email protected]
}
\refItem{...}
\end{refList}
其中参考文献只是作为“项目”给出的,我可以通过更改[2]
为其他内容来选择要使用多少列(等宽)(行数由refItem
s 的数量和列数自动确定)。无需检查项目是否适合列,因为我显然不会像[5]
我的简历那样使用疯狂的数字,这会挤压/溢出/截断条目。
虽然我认为这样的系统会很好,但我不知道从哪里开始(或者是否有 CTAN 包已经可以做到这一点;快速搜索没有发现任何东西)。我正在寻找有关实现这个/有用的包/等的建议和帮助。
答案1
这没什么特别的,但是允许灵活的refList
环境自动\refItem
在一行上留出 s 的空格:
\documentclass{article}
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\newcommand{\refItem}[2][l]{% \refItem[<align>]{<reference>}
\begin{tabular}[t]{@{}#1@{}}#2\end{tabular}\hfill}
\newcommand{\email}[1]{% \email{<email>}
\href{mailto:#1}{\ttfamily #1}}%
\newenvironment{refList}
{\null\hfill}
{\null\par}
\begin{document}
\begin{refList}
\refItem{John Smith \\ Department of Foo \\ Quxington University \\ \email{[email protected]}}
\refItem{Jane Doe \\ Department of Bar \\ Bazville University \\ \email{[email protected]}}
\refItem{Jack B.\ Nimble \\ Department of Bar \\ Quxington University \\ \email{[email protected]}}
\end{refList}
\bigskip
\begin{refList}
\refItem[c]{John Smith \\ Department of Foo \\ Quxington University \\ \email{[email protected]}}
\refItem[r]{Jane Doe \\ Department of Bar \\ Bazville University \\ \email{[email protected]}}
\end{refList}
\bigskip
\begin{refList}
\refItem{John Smith \\ Department of Foo \\ Quxington University \\ \email{[email protected]}}
\refItem{Jane Doe \\ Department of Bar \\ Bazville University \\ \email{[email protected]}}
\refItem{Jack B.\ Nimble \\ Department of Bar \\ Quxington University \\ \email{[email protected]}} \par\medskip\null\hfill
\refItem{John Smith \\ Department of Foo \\ Quxington University \\ \email{[email protected]}}
\refItem{Jane Doe \\ Department of Bar \\ Bazville University \\ \email{[email protected]}}
\end{refList}
\end{document}
\refItem[<align>]{<reference>}
<reference>
像常规的一样设置tabular
,您可以在其中覆盖默认的l
eft 对齐(无论是c
entred 还是r
ight-aligned,如第二个refList
)。如上面的 MWE 所示,您不需要指定列数。
\email{<email>}
旨在使用传统方式指定电子邮件hyperref
界面。当然,您可以hyperref
根据自己的需要调整链接设置。请参阅hyperref
文档了解详情。
这是一个替代解决方案,使用tabularx
并要求用户输入以下列:
\documentclass{article}
\usepackage{hyperref,tabularx,array}% http://ctan.org/pkg/{hyperref,tabularx,array}
\newcommand{\refItem}[2][l]{% \refItem[<align>]{<reference>}
\begin{tabular}[t]{@{}#1@{}}#2\end{tabular}\hfill}
\newcommand{\email}[1]{% \email{<email>}
\href{mailto:#1}{\ttfamily #1}}%
\newenvironment{refList}[1]
{\noindent\tabularx{\linewidth}{@{}*{#1}{>{\centering\arraybackslash}X@{}}}}% \begin{refList}
{\endtabularx\par}% \end{refList}
\begin{document}
\begin{refList}{3}
\refItem{John Smith \\ Department of Foo \\ Quxington University \\ \email{[email protected]}} &
\refItem{Jane Doe \\ Department of Bar \\ Bazville University \\ \email{[email protected]}} &
\refItem{Jack B.\ Nimble \\ Department of Bar \\ Quxington University \\ \email{[email protected]}}
\end{refList}
\bigskip
\begin{refList}{2}
\refItem[c]{John Smith \\ Department of Foo \\ Quxington University \\ \email{[email protected]}} &
\refItem[r]{Jane Doe \\ Department of Bar \\ Bazville University \\ \email{[email protected]}}
\end{refList}
\bigskip
\begin{refList}{3}
\refItem{John Smith \\ Department of Foo \\ Quxington University \\ \email{[email protected]}} &
\refItem{Jane Doe \\ Department of Bar \\ Bazville University \\ \email{[email protected]}} &
\refItem{Jack B.\ Nimble \\ Department of Bar \\ Quxington University \\ \email{[email protected]}} \\
\refItem{John Smith \\ Department of Foo \\ Quxington University \\ \email{[email protected]}} &
\refItem{Jane Doe \\ Department of Bar \\ Bazville University \\ \email{[email protected]}}
\end{refList}
\end{document}
答案2
我会将该multicol
包与 结合使用trivlist
。
\documentclass{article}
\usepackage{multicol}
\begin{document}
\begin{multicols}{3}
\begin{trivlist}
\item John Smith\\
Department of Foo\\
Quxington University\\
[email protected]\\
\item John Smith\\
Department of Foo\\
Quxington University\\
[email protected]\\
\item John Smith\\
Department of Foo\\
Quxington University\\
[email protected]\\
\end{trivlist}
\end{multicols}
\end{document}
您可以根据需要将{3}
in 更改为任意数量的列,当然也可以将和组合到用户定义的环境中。\begin{multicols}{3}
trivlist
multicols