我有一份用 LaTeX 创建的简历(使用 moderncv 包)。
我正在尝试根据变量创建简历风格。我想要做的是以不同的顺序生成各个部分。
例如我目前有:
\section{Education}
\cventry{X}{Y}{Z}{}{}{}
\cventry{X}{Y}{Z}{}{}{}
\section{Experience}
\cventry{X}{Y}{Z}{}{}{}
\cventry{X}{Y}{Z}{}{}{}
\section{References}
\cventry{X}{Y}{Z}{}{}{}
\cventry{X}{Y}{Z}{}{}{}
因此,现在生成的 PDF 具有以下顺序:
- 教育
- 经验
- 参考
我想将 flavor_A 呈现为:
- 经验
- 教育
- 参考
并将 flavor_B 呈现为:
- 经验
- 教育
并将 flavor_C 呈现为:
- 教育
- 经验
- 参考
这样的事可能吗?
答案1
无需探索更复杂的选项,您可以简单地将每个部分放在单独的文件中(例如education.tex
,experience.tex
和references.tex
),并将它们包含在主文件中(正如 Mariano 在他的评论中正确指出的那样,input
最好使用include
以避免分页符):
\input{education.tex}
\input{experience.tex}
\input{references.tex}
生成不同风格的简历只需重新排序这三行即可。要完全删除某个部分,只需用 注释该行即可%
。
您可以编写一个函数来自动根据变量进行重新排序(正如您的问题所建议的那样),但除非您真的要生成大量的风格(这可能意味着您应该重新考虑您的简历),否则它会比简单地交换线条效率更低input
。
答案2
如果将简历分成不同的文件不可行,那么可以这样做:我们将每个部分吸收到一个宏中,并在需要时使用它。
该示例取自 文档中的模板moderncv
。
\documentclass[11pt,a4paper,sans]{moderncv}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[scale=0.75]{geometry}
\setlength{\footskip}{40pt}
\moderncvstyle{casual}
\moderncvcolor{blue}
\usepackage{environ}
\makeatletter
% a helper macro
\def\g@addto@macroname@exp#1#2{%
\expandafter\g@addto@macro\csname#1\expandafter\endcsname\expandafter{#2}}
% the main environment
\NewEnviron{cvsection}[2][]{%
\if!#1!\def\cvsection@key{#2}\else\def\cvsection@key{#1}\fi
\global\@namedef{thecvsection@\cvsection@key}{\section{#2}}
\g@addto@macroname@exp{thecvsection@\cvsection@key}{\BODY}%
}
% the command for printing the information
\newcommand{\usecvsection}[1]{\@nameuse{thecvsection@#1}}
\makeatother
% personal data
\firstname{John}
\familyname{Doe}
\title{Resumé title}
\address{street and number}{postcode city}{country}
\mobile{+1~(234)~567~890}
\phone{+2~(345)~678~901}
\fax{+3~(456)~789~012}
\email{[email protected]}
\homepage{www.johndoe.com}
\extrainfo{additional information}
%\photo[64pt][0.4pt]{picture}
\quote{Some quote}
\begin{document}
\makecvtitle
\begin{cvsection}{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
\end{cvsection}
\begin{cvsection}[MT]{Master thesis}
\cvitem{title}{\emph{Title}}
\cvitem{supervisors}{Supervisors}
\cvitem{description}{Short thesis abstract}
\end{cvsection}
\begin{cvsection}{Experience}
\subsection{Vocational}
\cventry{year--year}{Job title}{Employer}{City}{}{General description no longer than 1--2 lines.\newline{}%
Detailed achievements:%
\begin{itemize}%
\item Achievement 1;
\item Achievement 2, with sub-achievements:
\begin{itemize}%
\item Sub-achievement (a);
\item Sub-achievement (b), with sub-sub-achievements (don't do this!);
\begin{itemize}
\item Sub-sub-achievement i;
\item Sub-sub-achievement ii;
\item Sub-sub-achievement iii;
\end{itemize}
\item Sub-achievement (c);
\end{itemize}
\item Achievement 3.
\end{itemize}}
\cventry{year--year}{Job title}{Employer}{City}{}{Description line 1\newline{}Description line 2}
\subsection{Miscellaneous}
\cventry{year--year}{Job title}{Employer}{City}{}{Description}
\end{cvsection}
\usecvsection{Education}
\usecvsection{Experience}
\usecvsection{MT}
\end{document}
每个部分都出现在一个cvsection
环境中,该环境具有一个可选参数,当部分标题不完全由纯 ASCII 字符组成时,应使用该参数。我曾将其用于“硕士论文”,尽管在这种情况下没有必要。
定义各个部分之后,您可以按照您喜欢的顺序打印它们,使用部分标题或键(如果可选参数已用于特定部分)。