Beim Versuch, itemize
eine Erneuerung \cventry
in einem durchzuführen, wird mir folgende Fehlermeldung angezeigt moderncv
:
Use of \@@array doesn't match its definition. \end{itemize}}
Meine Modifikation cventry
sieht so aus:
\renewcommand*{\cventry}[7][.25em]{
\begin{tabular}{@{}>{\raggedleft}p{.2\textwidth-\tabcolsep}p{.8\textwidth-\tabcolsep}@{}}%
{\bfseries #2} & {\bfseries #3} \\%
{\itshape #5} & {\itshape #4}\\%
\ifthenelse{\equal{#7}{}}%
{\end{tabular}}%
{{} & {#7}\\\end{tabular}}%
\par\addvspace{#1}}
Ich möchte Folgendes tun:
\cventry{2016--2019}{Did this and that, including these tasks:%
\begin{itemize}%
\item 1;
\item 2, with sub-items:
\begin{itemize}%
\item Sub-item (a)
\item Sub-item (b)
\end{itemize}
\item item 3.
\end{itemize}}
}
Ich mache Callouts \usepackage{array}
.
Ich habe die von @gonzalo-medina in diesem Beitrag vorgeschlagenen Alternativen ausprobiert:Aufzählungslisten in ModernCV Cventry.
Bei mir haben sie nicht funktioniert. Ich bekomme immer wieder den gleichen Fehler. Vielleicht liegt das daran, dass ich eine modifizierte Version von verwende \cventry
?
Update zur Anfrage von @mensch
Hier der kompilierbare Ausschnitt:
\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{banking}
\moderncvcolor{blue}
\usepackage[scale=0.80]{geometry}
%__________________________________________________________________________________
% Customization:
%\usepackage{fontspec}%Rendering must be done with XeLatex, not with PDFLatex.
\renewcommand\rmdefault{cmr} %Sets roman default font to Computer Modern
\usepackage{microtype}
\usepackage{array}
%This is @gonzalo-medina's suggestion:
\usepackage{enumitem}
%The following resets the way of cv entries:
\usepackage{array}
\setlength{\tabcolsep}{1ex}
\renewcommand*{\cventry}[7][.25em]{
\begin{tabular}{@{}>{\raggedleft}p{.2\textwidth-\tabcolsep}p{.8\textwidth-\tabcolsep}@{}}%
{\bfseries #2} & {\bfseries #3} \\%
{\itshape #5} & {\itshape #4}\\%
\ifthenelse{\equal{#7}{}}%
{\end{tabular}}%
{{} & {#7}\\\end{tabular}}%
\par\addvspace{#1}}
%__________________________________________________________________________________
% personal data
\name{Carl}{Sagan}
\title{\large \textbf{Populists Buster}}
%----------------------------------------------------------------------------------
% content
%----------------------------------------------------------------------------------
\begin{document}
%\begin{CJK*}{UTF8}{gbsn} % to typeset your resume in Chinese using CJK
%----- resume ---------------------------------------------------------
\makecvtitle
\section{Experience}
\subsection{Vocational}
\cventry{year--year}{Job title}{Employer}{City}{}{General description no longer than 1--2 lines.\newline{}%
Detailed achievements:%
\begin{itemize}[label=\textbullet]%
\item Achievement 1;
\item Achievement 2, with sub-achievements:
\begin{itemize}%
\item Sub-achievement (a);
\item Sub-achievement (b), with sub-sub-achievements (don't do this!);
\begin{itemize}
\item Sub-sub-achievement i;
\item Sub-sub-achievement ii;
\item Sub-sub-achievement iii;
\end{itemize}
\item Sub-achievement (c);
\end{itemize}
\item Achievement 3.
\end{itemize}
}
\cventry{year--year}{Job title}{Employer}{City}{}{Description line 1\newline{}Description line 2}
\end{document}
Ich verwende es im neuesten moderncv
verfügbaren Paket vonCTAN-Repo hier.
Antwort1
Ich denke, es liegt ein Missverständnis und eine falsche Codezeile vor, aber gehen wir es Schritt für Schritt durch:
1. Missverständnis
Die Standarddefinition eines Befehls \cventry
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}}
Nur für den letzten Parameter ( #7
) wird eine Minipage verwendet, die die Verwendung von itemize
etc. ermöglicht.
Für den von Ihnen verwendeten Befehl cventry
müssen Sie also die Tabelle beenden und sie dann innerhalb eines Minipage-Arguments 7 ( #7
) ausdrucken:
\newcommand*{\mycventry}[7][.25em]{
\begin{tabular}{@{}>{\raggedleft}p{.2\textwidth-\tabcolsep}p{.8\textwidth-\tabcolsep}@{}}%
{\bfseries #2} & {\bfseries #3} \\%
{\itshape #5} & {\itshape #4}\\%
\end{tabular} % <===================================================
\ifx&%%
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}% else <=============
\fi
\par\addvspace{#1}}
2. Codefehler
Ihr verwendeter Code innerhalb Ihres Befehls\cventy
\ifthenelse{\equal{#7}{}}%
{\end{tabular}}%
gibt einen Fehler zurück, verwenden Sie stattdessen
\ifx&%%
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}% else <=============
\fi
Ich habe den korrigierten Code hier gezeigt.
Also mit dem folgenden MWE (bitte beachten Sie, dass ich einen neuen Befehl definiert habe, um den Unterschied zwischen dem ursprünglichen Code der Klasse und dem neu definierten Befehl mit Ihrer Tabelle und den eingefügten Listen \mycventry
anzeigen zu können ):\cventry
moderncv
\mycventry
\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{banking}
\moderncvcolor{blue}
\usepackage[scale=0.80]{geometry}
%__________________________________________________________________________________
% Customization:
%\usepackage{fontspec}%Rendering must be done with XeLatex, not with PDFLatex.
\renewcommand\rmdefault{cmr} %Sets roman default font to Computer Modern
\usepackage{microtype}
\usepackage{array}
%This is @gonzalo-medina's suggestion:
\usepackage{enumitem}
%The following resets the way of cv entries:
\usepackage{array}
\setlength{\tabcolsep}{1ex}
\newcommand*{\mycventry}[7][.25em]{% <==================================
\begin{tabular}{@{}>{\raggedleft}p{.2\textwidth-\tabcolsep}p{.8\textwidth-\tabcolsep}@{}}%
{\bfseries #2} & {\bfseries #3} \\%
{\itshape #5} & {\itshape #4}\\%
\end{tabular} % <===================================================
\ifx&%% <========================================================
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}%
\fi
\par\addvspace{#1}}
%__________________________________________________________________________________
% personal data
\name{Carl}{Sagan}
\title{\large \textbf{Populists Buster}}
%----------------------------------------------------------------------------------
% content
%----------------------------------------------------------------------------------
\begin{document}
%\begin{CJK*}{UTF8}{gbsn} % to typeset your resume in Chinese using CJK
%----- resume ---------------------------------------------------------
\makecvtitle
\section{Experience}
\subsection{Vocational}
\cventry{year--year}{Job title}{Employer}{City}{}{General description no longer than 1--2 lines.\newline{}%
Detailed achievements:%
\begin{itemize}[label=\textbullet]%
\item Achievement 1;
\item Achievement 2, with sub-achievements:
\begin{itemize}%
\item Sub-achievement (a);
\item Sub-achievement (b), with sub-sub-achievements (don't do this!);
\begin{itemize}
\item Sub-sub-achievement i;
\item Sub-sub-achievement ii;
\item Sub-sub-achievement iii;
\end{itemize}
\item Sub-achievement (c);
\end{itemize}
\item Achievement 3.
\end{itemize}
}
\mycventry{year--year}{Job title}{Employer}{City}{}{Description line 1\newline{}Description line 2} % <==========
\mycventry{year--year}{Job title}{Employer}{City}{}{General description no longer than 1--2 lines.\newline{}% <=============
Detailed achievements:%
\begin{itemize}[label=\textbullet]%
\item Achievement 1;
\item Achievement 2, with sub-achievements:
\begin{itemize}%
\item Sub-achievement (a);
\item Sub-achievement (b), with sub-sub-achievements (don't do this!);
\begin{itemize}
\item Sub-sub-achievement i;
\item Sub-sub-achievement ii;
\item Sub-sub-achievement iii;
\end{itemize}
\item Sub-achievement (c);
\end{itemize}
\item Achievement 3.
\end{itemize}
}
\end{document}
Sie erhalten folgendes PDF ohne Fehlermeldungen: