我想在单个 LaTeX 文件中维护我的简历的多个版本,例如:
- 版本“period1”:从 2014 年到 2016 年
- 版本“period2”:从 2017 年到 2019 年
- 版本“全部”:从 2014 年到 2019 年
到目前为止,我一直为每个时期保存单独的文件,但这是一项繁琐的任务。我希望将所有内容放在一个文件中,但我不知道如何以简单的方式实现这一点,因为我的简历必须遵循非常具体的结构才能进行评估。
我一直在尝试使用“可选”包,但它不容易维护,而且我无法获得所需的输出。例如,在以下 MWE 中:
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[all]{optional} % change "all" to get a specific period
% options:
% all = period1 + period2
% period1 = only activities in period 1
% period2 = only activities in period 2
% allow enumerate without items inside, otherwise compilation might fail
\makeatletter
\let\@noitemerr\relax
\makeatother
\begin{document}
\section{Curriculum Vitae -- \opt{all}{All}\opt{period1}{Period 1}\opt{period2}{Period 2}}
\begin{itemize}
\item Activity category A:
\begin{enumerate}
\opt{all,period1}{
\item activity 1
}
\opt{all,period2}{
\item activity 2
\item activity 3
}
\opt{all,period3}{
% nothing
}
\end{enumerate}
\item Activity category B:
\begin{enumerate}
\opt{all,period1}{
\item activity 1
\item activity 2
}
\opt{all,period2}{
% nothing
}
\opt{all,period3}{
\item activity 3
}
\end{enumerate}
\item Activity category C:
\begin{enumerate}
\opt{all,period1}{
% nothing
}
\opt{all,period2}{
\item activity 1
\item activity 2
}
\opt{all,period3}{
\item activity 3
}
\end{enumerate}
\end{itemize}
\end{document}
“全部”选项效果很好。但是,“period1”和“period2”选项可能会显示“活动类别 X”,但没有任何项目——我想避免这种情况:
“period2” 的当前输出(来自 MWE):
- 活动类别 A:
- 活动 2
- 活动 3
- 活动类别 B:
- 活动类别 C:
- 活动 1
- 活动 2
所需的输出将是没有空的“活动类别 B:”:
- 活动类别 A:
- 活动 2
- 活动 3
- 活动类别 C:
- 活动 1
- 活动 2
有没有一种方法可以实现这种输出,并且能够在具有多个时期的大型 CV 中易于维护?
答案1
例如,以下工作:
...
\opt{all,period1,period3}{ % mention all cases here, except "empty" ones
\item Activity category B:
\begin{enumerate}
\opt{all,period1}{ % don't need "all" here
\item activity 1
\item activity 2
}
\opt{all,period2}{
% nothing
}
\opt{all,period3}{
\item activity 3
}
\end{enumerate}
}
...