Ich verwende die Vorlage für ModernCV und möchte die Punkte am Ende der Zeile entfernen \cventry
. Kann jemand den Befehl für mich umcodieren?
\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}
Antwort1
Um dies zu ändern, müssen Sie die \cventry
Definition ändern.
\cventry
ist definiert als:
\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}}
Sie können das Paket verwendenxpatch
um diesen Befehl in der Präambel Ihres Dokuments zu patchen. Wenn Sie sich die obige Definition ansehen, werden Sie feststellen, dass die relevante zu ändernde Zeile die Zeile ist, die besagt .\strut}%
:
xpatch
stellt den Befehl bereit \xpatchcmd
. Die Syntax für den Befehl lautet:
\xpatchcmd{⟨command⟩}{⟨search⟩}{⟨replace⟩}{⟨success⟩}{⟨failure⟩}
MWE
\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}
Antwort2
Das hier funktioniert bei mir auch:
\usepackage{xpatch}
\xpatchcmd\cventry{.}{}{}{}
Antwort3
Als Hinweis, ausgehend von der Antwort von @AdamLiter, müssen Sie die \moderncvstyle
verwendeten berücksichtigen. Beispielsweise durch die Verwendung von \moderncvstyle{casual}
, Lesen innerhalb der Datei moderncvstylecasual.sty
(befindet sich in„/texmf-dist/tex/latex/moderncv“, angesichtsTeXlive 2019), werden Sie sehen, \moderncvbody{1}
dass bedeutet moderncvbodyi.sty
. In diesem letzten können Sie also die Definition von nehmen \cventry
, die in diesem Fall lautet:
\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}}
In Ihrer tex
Datei preamble
können Sie es jetzt kopieren und .\strut%
mit ändern \strut%
, und ich schlage vor, dass Sie diesem einen anderen Namen geben.neuer Befehl(zum Beispiel \cventrynofinaldotcasual
) das Original nicht zu überschreiben, sondern dieses zu verwendenBrauch \cventry
nur wenn Sie es brauchen, etwa so:
\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
Jetzt können Sie den neuen Befehl in Ihrer tex
Datei wie folgt verwenden :
\cventrynofinaldotcasual[spacing]{years}{degree/job title}{institution/employer}{localization}{optional: grade/...}{optional: comment/job description} % OUTPUT WITHOUT FINAL DOT!