我正在使用 moderncv 编写自己的简历。在“教育”部分,我有一个条目不符合 所需的输入\cventry
。通常,\cventry
需要 6 个字段,但我只需要 4 个。我的问题是,如果我只在需要的地方插入文本,并将不需要的曲线括号留空,我得到的结果是:
01.2001-02-2002: Name, City, .
Text that briefly describes it.
如您所见,标签“City”后面有一个“,”我不想要。我该如何摆脱它?我现在\cventry
是这样的:
\cventry{Date1-Date2}{Name}{}{City}{\textit{}}{Some text}
我尝试将“城市”切换到其右侧的空括号,我删除了“,”但我的城市名称变成了斜体。另一方面,如果我将“城市”标签向左移动,我仍然会得到“,”符号,城市名称也会变成斜体。
答案1
Moderncv 应该考虑到这一点,以下是定义的摘录\cventry
在包中定义的摘录(moderncvbodyi.sty 在http://ctan.org/tex-archive/macros/latex/contrib/moderncv)。
\renewcommand*{\cventry}[7][.25em]{%
\cvitem[#1]{#2}{%
{\bfseries#3}%
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
\ifthenelse{\equal{#5}{}}{}{, #5}%
\ifthenelse{\equal{#6}{}}{}{, #6}%
.\strut%
\ifx&%
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
\ifthenelse
检查第四、第五或第六个元素是否为空,以避免空格之间出现逗号。如果括号中没有任何内容,则不会插入逗号,但如果括号不为空,则会添加逗号并插入括号的内容。请注意,这在您的示例中有效,因为您在{}
Name 和 City 之间使用的逗号没有出现空白逗号。
我认为问题在于{\textit{}}
不等于{}
,而参数中没有定义打印文本,测试发现\textit{}
不同于无。删除它并使用\cventry{Date1-Date2}{Name}{}{City}{}{Some text}
应该可以解决问题。
要定义一个简短的条目(假设您从不使用可选参数),以下内容应该足够了,但可能不值得这么麻烦
\newcommand{\cventryshort}[4]{\cventry{#1}{#2}{#3}{}{}{#4}}