diff --git a/CHANGELOG b/CHANGELOG index b23350a..8ff4448 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -25,6 +25,7 @@ version 2.?.? (29 Jun 2023) - all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Oldstyle does not respond too well to nodetails. - casual style: make the head options 'alternate', 'details' and 'nodetails' available to the user. (previously they were hidden). - Setting \listitemsymbolspace allows custom spacing between list symbol and text item (for \cvlistitem and \cvlistdoubleitem). +- Introducing \cvtripleitem command for items in three columns. Closing feature request #174. version 2.3.1 (21 Feb 2022) - Fix duplicate GitLab icon (#105). diff --git a/manual/moderncv_userguide.pdf b/manual/moderncv_userguide.pdf index ac6ee99..4110f1f 100644 Binary files a/manual/moderncv_userguide.pdf and b/manual/moderncv_userguide.pdf differ diff --git a/manual/moderncv_userguide.tex b/manual/moderncv_userguide.tex index 6b8b8de..9e4e7b2 100644 --- a/manual/moderncv_userguide.tex +++ b/manual/moderncv_userguide.tex @@ -93,7 +93,7 @@ belowcaptionskip=0.75\baselineskip, % frame=L, emph={ - cvitem, cventry, cvdoubleentry, cvdoubleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor, + cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor, cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers, name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment }, @@ -432,6 +432,14 @@ Can be used to enter skills, such as computer skills or language skills, in a tw \cvdoubleitem{}{}{}{} \end{lstlisting} +\paragraph{\code{\\cvtripleitem}} +A three-column variation of \code{\\cvitem}. +Takes six required arguments: the descriptor and body text of the first column, second and third column. +Can be used to enter skills, such as computer skills or language skills, in a three-column fashion. +\begin{lstlisting} + \cvtripleitem{}{}{}{}{}{} +\end{lstlisting} + \paragraph{\code{\\cvitemwithcomment}} A variation of \code{\\cvitem} with an additional argument for a comment. Can be used to enter skills such as computer skills or language skills. diff --git a/moderncv.cls b/moderncv.cls index 227b773..b057970 100644 --- a/moderncv.cls +++ b/moderncv.cls @@ -560,6 +560,10 @@ % usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2} \newcommand*{\cvdoubleitem}[5][.25em]{} +% makes a resume line 3 headers and their corresponding text +% usage: \cvtripleitem[spacing]{header1}{text1}{header2}{text2}{header3}{text3} +\newcommand*{\cvtripleitem}[7][.1em]{} + % makes a resume line with a list item % usage: \cvlistitem[spacing]{item} \newcommand*{\cvlistitem}[2][\listitemsymbol]{} diff --git a/moderncvbodyi.sty b/moderncvbodyi.sty index 8736f6a..361cdfc 100644 --- a/moderncvbodyi.sty +++ b/moderncvbodyi.sty @@ -44,6 +44,8 @@ \@initializelength{\maincolumnwidth} % used by \cvdoubleitem \@initializelength{\doubleitemcolumnwidth} +% used by \cvtripleitem +\@initializelength{\tripleitemcolumnwidth} % used by \cvlistitem \@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol} \@initializelength{\listitemcolumnwidth} @@ -60,6 +62,8 @@ \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}% \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% + \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}% + \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}% \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}% \recompute@cvskillmatrix@lengths @@ -98,6 +102,19 @@ \hspace*{\separatorcolumnwidth}% \begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}} +\renewcommand*{\cvtripleitem}[7][.1em]{% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}% + \hspace*{\separatorcolumnwidth}% + \begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}% + \hspace*{\separatorcolumnwidth}% + \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}% + \hspace*{\separatorcolumnwidth}% + \begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}} + + \renewcommand*{\cvlistitem}[2][.25em]{% \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}} diff --git a/moderncvbodyiii.sty b/moderncvbodyiii.sty index c70895d..beb4f57 100644 --- a/moderncvbodyiii.sty +++ b/moderncvbodyiii.sty @@ -83,6 +83,8 @@ \@initializelength{\maincolumnwidth} % used by \cvdoubleitem \@initializelength{\doubleitemcolumnwidth} +% used by \cvtripleitem +\@initializelength{\tripleitemcolumnwidth} % used by \cvlistitem \@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol} \@initializelength{\listitemcolumnwidth} @@ -97,6 +99,8 @@ \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}% \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% + \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}% + \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}% \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}% \recompute@cvskillmatrix@lengths @@ -156,6 +160,14 @@ \begin{minipage}[t]{\doubleitemcolumnwidth}\ifstrempty{#4}{}{\hintstyle{#4}: }#5\end{minipage}% \par\addvspace{#1}} +\renewcommand*{\cvtripleitem}[7][.1em]{% + \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\tripleitemcolumnwidth}\ifstrempty{#6}{}{\hintstyle{#6}: }#7\end{minipage}% + \par\addvspace{#1}} + \renewcommand*{\cvlistitem}[2][.25em]{% \listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}% \par\addvspace{#1}} diff --git a/moderncvbodyiv.sty b/moderncvbodyiv.sty index f606238..6e9f208 100644 --- a/moderncvbodyiv.sty +++ b/moderncvbodyiv.sty @@ -49,8 +49,11 @@ \@initializelength{\listitemcolumnwidth} % used by \cvlistdoubleitem \@initializelength{\listdoubleitemcolumnwidth} +% used by \cvtripleitem +\@initializelength{\tripleitemcolumnwidth} \@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt} + % commands \renewcommand*{\recomputecvbodylengths}{% % body lengths @@ -58,6 +61,8 @@ \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}% \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% + \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}% + \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}% \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}% \recompute@cvskillmatrix@lengths @@ -88,6 +93,14 @@ \begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}% \par\addvspace{#1}} +\renewcommand*{\cvtripleitem}[7][.1em]{% + \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}% + \par\addvspace{#1}} + \renewcommand*{\cvlistitem}[2][.25em]{% \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}} diff --git a/moderncvbodyv.sty b/moderncvbodyv.sty index 24a779f..418925b 100644 --- a/moderncvbodyv.sty +++ b/moderncvbodyv.sty @@ -46,6 +46,8 @@ \@initializelength{\maincolumnwidth} % used by \cvdoubleitem \@initializelength{\doubleitemcolumnwidth} +% used by \cvtripleitem +\@initializelength{\tripleitemcolumnwidth} % used by \cvlistitem \@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol} \@initializelength{\listitemcolumnwidth} @@ -62,6 +64,8 @@ \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}% \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% + \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}% + \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}% \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}% \recompute@cvskillmatrix@lengths @@ -118,6 +122,14 @@ \hfill% fill of \separatorcolumnwidth \begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}}} +\renewcommand*{\cvtripleitem}[7][.1ex]{% + \@cvitem[#1]{}{% + \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}}} + \renewcommand*{\cvlistitem}[2][.5ex]{% \@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}} diff --git a/moderncvbodyvi.sty b/moderncvbodyvi.sty index ec7405d..76e1a15 100644 --- a/moderncvbodyvi.sty +++ b/moderncvbodyvi.sty @@ -48,6 +48,8 @@ \@initializelength{\maincolumnwidth} % used by \cvdoubleitem \@initializelength{\doubleitemcolumnwidth} +% used by \cvtripleitem +\@initializelength{\tripleitemcolumnwidth} % used by \cvlistitem \@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol} \@initializelength{\listitemcolumnwidth} @@ -64,6 +66,8 @@ \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}% \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}% \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}% + \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}% + \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}% \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}% \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}% \recompute@cvskillmatrix@lengths @@ -105,6 +109,18 @@ \hspace*{\separatorcolumnwidth}% \begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}} +\renewcommand*{\cvtripleitem}[7][.1em]{% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}% + \hfill% fill of \separatorcolumnwidth + \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}% + \hspace*{\separatorcolumnwidth}% + \begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}% + \hspace*{\separatorcolumnwidth}% + \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}% + \hspace*{\separatorcolumnwidth}% + \begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}} + \renewcommand*{\cvlistitem}[2][.25em]{% \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}} diff --git a/template.tex b/template.tex index 7988dae..c9d453f 100644 --- a/template.tex +++ b/template.tex @@ -172,6 +172,7 @@ Detailed achievements: \cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ} \cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ} \cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ} +\cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ} \section{Skill matrix} \cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}