我正在使用 moderncv 的模板,我想删除行尾的点\cventry
,有人可以为我重新编码命令吗?
\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{casual}
\name{John}{Doe}
\begin{document}
\makecvtitle
\section{Education}
\cventry{1990--2015}{Wisdom}{School of life}{Earth}{}{Description}
\end{document}
答案1
为了改变这种状况,您需要改变\cventry
定义方式。
\cventry
定义为:
\renewcommand*{\cventry}[7][.25em]{%
\savebox{\cventryyearbox}{%
\hspace*{2\separatorcolumnwidth}%
\hintstyle{#2}}%
\setlength{\cventrytitleboxwidth}{\widthof{\usebox{\cventryyearbox}}}%
\setlength{\cventrytitleboxwidth}{\maincolumnwidth-\cventrytitleboxwidth}%
\begin{minipage}{\maincolumnwidth}%
\parbox[t]{\cventrytitleboxwidth}{%
\strut%
{\bfseries#3}%
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
\ifthenelse{\equal{#5}{}}{}{, #5}%
\ifthenelse{\equal{#6}{}}{}{, #6}%
.\strut}%
\usebox{\cventryyearbox}%
\end{minipage}%
\ifx&%
\else{%
\newline{}%
\begin{minipage}[t]{\maincolumnwidth}%
\small%
#7%
\end{minipage}}\fi%
\par\addvspace{#1}}
您可以使用该包xpatch
在文档的序言中修补此命令。如果您查看上面的定义,您将看到要更改的相关内容是行.\strut}%
。
xpatch
提供命令\xpatchcmd
。该命令的语法为:
\xpatchcmd{⟨command⟩}{⟨search⟩}{⟨replace⟩}{⟨success⟩}{⟨failure⟩}
平均能量损失
\documentclass{moderncv}
\moderncvstyle{casual}
\name{John}{Doe}
\usepackage{xpatch}
\xpatchcmd{\cventry}{.\strut}{\strut}{}{}
\begin{document}
\makecvtitle
\section{Education}
\cventry{1990--2015}{Wisdom}{School of life}{Earth}{}{Description}
\end{document}
答案2
这也适用于我:
\usepackage{xpatch}
\xpatchcmd\cventry{.}{}{}{}
答案3
值得注意的是,从@AdamLiter 的回答开始,您需要考虑\moderncvstyle
使用。例如,通过使用\moderncvstyle{casual}
,读取文件内部moderncvstylecasual.sty
(位于'/texmf-dist/tex/latex/moderncv',考虑到TeXlive 2019),你会看到\moderncvbody{1}
这意味着moderncvbodyi.sty
。因此,在最后一个中,你可以采用的定义\cventry
,在本例中为:
\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}}
在您的tex
文件中preamble
,您现在可以复制它,并将其更改.\strut%
为\strut%
,并且我建议您为其指定另一个名称新命令(例如\cventrynofinaldotcasual
)不覆盖原来的,而是使用这个风俗 \cventry
只有当你需要它时,就像这样:
\newcommand*{\cventrynofinaldotcasual}[7][.25em]{% ROW CHANGED: NOTE '\newcommand', NOT '\renewcommand'!
\cvitem[#1]{#2}{%
{\bfseries#3}%
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
\ifthenelse{\equal{#5}{}}{}{, #5}%
\ifthenelse{\equal{#6}{}}{}{, #6}%
\strut% ROW CHANGED!
\ifx&%
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
body
现在您可以在文件中使用新命令,tex
如下所示:
\cventrynofinaldotcasual[spacing]{years}{degree/job title}{institution/employer}{localization}{optional: grade/...}{optional: comment/job description} % OUTPUT WITHOUT FINAL DOT!