此图显示的是简历使用文档类生成moderncv
:
请注意,粗体文本后面有一个逗号。这似乎是自动生成的。我该如何停止这种情况?
答案1
您显示的条目是用 生成的\cventry
,因此我们想更改此宏的定义。它在 中定义moderncvstyleclassic.sty
。我所做的就是将其逐字复制到我的序言中并删除不需要的逗号。(在 MWE 中,我实际上复制了该行并注释掉了原始行,以使更改可识别。
\documentclass{moderncv}
\moderncvstyle{casual}
%%%
% the following definition is from the file moderncvstyleclassic.sty
\renewcommand*{\cventry}[7][.25em]{%
\cvitem[#1]{#2}{%
{\bfseries#3}%
% \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}% I changed this line (with comma) ...
\ifthenelse{\equal{#4}{}}{}{ {\slshape#4}}% ... into this one (without comma).
\ifthenelse{\equal{#5}{}}{}{, #5}%
\ifthenelse{\equal{#6}{}}{}{, #6}%
.\strut%
\ifx&%
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
%%%
\firstname{John}
\familyname{Doe}
\begin{document}
\section{Education}
\cventry{December 2012}{Master of Science in Chocolatology}{University of Candyland}{Sugartown}{A+ with Golden Gummy Bear}{I am the chocolate-man.}
\end{document}
答案2
除了自己重新定义整个命令外,还可以考虑使用xpatch
:
\usepackage{xpatch}
\xpatchcmd\cventry{,}{}{}{}
,
此行用空字符串替换宏文本中第一次出现的字符- 即删除它。
这也是关于命令如何工作的详细文档。
答案3
明显的注释,但是如果你想要在有逗号和无逗号之间切换,你可以定义一个新命令,\cventrynocomma
如下:
\newcommand*{\cventrynocomma}[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}}
答案4
从文件 moderncvstyleclassic.sty 中,删除逗号和点,如下所示:
\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}}
它将从 \cventry 中删除自动生成的逗号和点。