我正在使用 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/modernncv',考慮到2019年TeXlive),你會看到\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!