Entfernen Sie das Komma aus moderncvs \cventry

Entfernen Sie das Komma aus moderncvs \cventry

Dieses Bild zeigt den Ausschnitt einerLebenslauferstellt mit der moderncvDokumentklasse:

Beachten Sie, dass nach dem fettgedruckten Text ein Komma steht. Dies scheint automatisch generiert zu werden. Wie kann ich das verhindern?

Antwort1

Der Eintrag, den Sie anzeigen, wird mit erzeugt \cventry, daher möchten wir die Definition dieses Makros ändern. Es ist in definiert moderncvstyleclassic.sty. Ich habe es lediglich wortwörtlich in meine Präambel kopiert und das unerwünschte Komma entfernt. (Im MWE habe ich die Zeile tatsächlich kopiert und das Original auskommentiert, um die Änderung erkennbar zu machen.

\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&#7&%
      \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}

Ausgabe

Antwort2

Anstatt den gesamten Befehl selbst neu zu definieren, können Sie auch Folgendes verwenden xpatch:

\usepackage{xpatch}

\xpatchcmd\cventry{,}{}{}{}

Diese Zeile ersetzt das erste Vorkommen von im Makrotext ,durch die leere Zeichenfolge, d. h. entfernt es.

Hier ist aucheine schöne Dokumentation der Funktionsweise des Befehls.

Antwort3

Offensichtlicher Kommentar, aber falls Sie zwischen der Verwendung und Nichtverwendung von Kommas wechseln möchten, können Sie einen neuen Befehl \cventrynocommawie diesen definieren:

\newcommand*{\cventrynocomma}[7][.25em]{%
  \cvitem[#1]{#2}{%
    {\bfseries#3}%
    \ifthenelse{\equal{#4}{}}{}{ {\slshape#4}}%
    \ifthenelse{\equal{#5}{}}{}{ #5}%
    \ifthenelse{\equal{#6}{}}{}{ #6}%
    \strut%
    \ifx&#7&%
      \else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}

Antwort4

Entfernen Sie aus der Datei moderncvstyleclassic.sty das Komma und den Punkt wie folgt:

\renewcommand*{\cventry}[7][.25em]{%
  \cvitem[#1]{#2}{%
    {\bfseries#3}%
    \ifthenelse{\equal{#4}{}}{}{ {\slshape#4}}%
    \ifthenelse{\equal{#5}{}}{}{ #5}%
    \ifthenelse{\equal{#6}{}}{}{ #6}%
    \strut%
    \ifx&#7&%
      \else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}

Dadurch werden die automatisch generierten Kommas und Punkte aus \cventry entfernt.

verwandte Informationen