Compare commits

..

1 commit

46 changed files with 452 additions and 215 deletions

View file

@ -1,33 +1,13 @@
version next
- Upgrade to Fontawesome 7 (#270)
version 2.6.1 (24 Jun 2026)
- Allow the customisation of the contemporary style (#297)
- Correct the documented style option defaults, changing them from nodetails to
details for the classic, banking, oldstyle, and fancy styles, to match the
current implementation (#299)
- Set the details option explicitly as default in the banking style (#299)
- Add the missing details and nodetails options to the contemporary style,
setting details and separator as explicit defaults (#299)
- Replace fontawesome shorthand commands with the \faIcon syntax (#296)
version 2.6.0 (19 Jun 2026)
- Upgrade to Fontawesome 6 (#183)
- Document how to set custom strings for social command (#239)
- Correct documentation to reflect new order \moderncvcolor before \moderncvstyle (#256)
- Adding optional \postscript{PS text} command to cover letter in all current styles (#271)
- Decreasing the size of born symbol to "tiny" and raising it by .5ex,
to look typograpically more in line with born symbols outside moderncv (#273)
- Eliminate extra horizontal space for tikz icons (#259)
- Fix missing Senders Name in Header (#278)
- Document an additional example in the userguide on how to adjust the skill matrix (#213)
- Adds contributing guidelines for moderncv (#275)
- Fix incomplete social icons migration (Fontawesome 6) (#287)
- Complete the color and style listings in the documentation (#291)
- Correct additional link signatures in the documentation (#293)
- Remove arydshln dependency to fix tabular parser conflicts with cventry (#288, #289)
- New Contemporary style option - separator under the CV header can be shown or hidden (#280)
version 2.5.1 (31 Jan 2026)

Binary file not shown.

View file

@ -1,4 +1,4 @@
%% moderncv_userguide.tex as shipped with 2026-06-24 v2.6.1 modern curriculum vitae and letter document class (moderncv)
%% moderncv_userguide.tex as shipped with 2026-01-31 v2.5.1 modern curriculum vitae and letter document class (moderncv)
%% 2021 David Seus (cryptointerest@posteo.de), 2021-2026 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
@ -9,7 +9,7 @@
\title{%
\texttt{moderncv} User Guide\\
{\small Package v2.6.1}%
{\small Package v2.5.1}%
}
% Cristina Sambo,
\author{%
@ -18,7 +18,7 @@
moderncv community\\
{\small Documentation by David Seus}%
}
\date{2026-06-24}
\date{2026-01-31}
% Language and encoding options
\usepackage[english]{babel}
@ -98,7 +98,7 @@
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,
recipient, subject, opening, closing, signature, postscript, enclosure, makelettertitle, makeletterclosing, httplink, httpslink, emaillink
recipient, subject, opening, closing, signature, postscript, enclosure, makelettertitle, makeletterclosing
},
emphstyle={\color{cvblue}},
emph={[2]
@ -140,7 +140,6 @@
\definecolor{cvburgundy}{rgb}{0.596078, 0, 0} % burgundy: 139/255 (0.545098) or 152/255 (0.596078)
\definecolor{cvgrey}{rgb}{0.55, 0.55, 0.55}
\definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80}
\definecolor{cvcerulean}{HTML}{0081a7}
% Macros
\newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}}
@ -248,9 +247,10 @@ Choose a \Moderncv style and color by adjusting the commands (command order is i
\end{lstlisting}
As explained in \cvtemplate, the possible values are
\begin{tabular}{r@{\hspace{2ex}}p{0.72\textwidth}}
\textbf{\code{color}:} & \code{black} \cvdoccolorbox{black}, \code{blue} \cvdoccolorbox{cvblue} (default), \code{burgundy} \cvdoccolorbox{cvburgundy}, \code{cerulean} \cvdoccolorbox{cvcerulean}, \code{green} \cvdoccolorbox{cvgreen}, \code{grey} \cvdoccolorbox{cvgrey}, \code{orange} \cvdoccolorbox{cvorange}, \code{purple} \cvdoccolorbox{cvpurple}, \code{red} \cvdoccolorbox{cvred}\\
\textbf{\code{style}:} & \code{casual} (default), \code{classic}, \code{banking}, \code{oldstyle}, \code{fancy}, \code{contemporary}
\begin{tabular}{r@{\hspace{2ex}}p{0.65\textwidth}}
\textbf{\code{color}:} & \code{black} \cvdoccolorbox{black}, \code{blue} \cvdoccolorbox{cvblue} (default), \code{burgundy} \cvdoccolorbox{cvburgundy}, \code{green} \cvdoccolorbox{cvgreen}, \code{grey} \cvdoccolorbox{cvgrey}, \code{orange} \cvdoccolorbox{cvorange}, \code{purple} \cvdoccolorbox{cvpurple}, \code{red} \cvdoccolorbox{cvred}\\
\textbf{\code{style}:} & \code{casual} (default), \code{classic}, \code{banking}, \code{oldstyle},
\code{fancy}
\end{tabular}
\note Some of the styles take additional options to fine-tune their appearance.
@ -662,7 +662,7 @@ This style allows the following options which \emph{only} affect header and foot
\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}}
\textbf{\code{alignment}} & values: \code{left} (default), \code{right}.
Aligns the address block and the picture. \\
\textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}.
\textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
Toggles between inclusion of icons or text-based abbreviations for personal data.
@ -676,7 +676,7 @@ This style allows the following options:
Aligns the entries in the style. \\
\textbf{\code{rule style}} & values: \code{fullrules}, \code{shortrules}, \code{mixedrules} (default), \code{norules}.
Adjusts the rules used in the style. \\
\textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}.
\textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
Toggles between inclusion of icons or text-based abbreviations for personal data.
@ -686,7 +686,7 @@ This style allows the following options:
This style allows the following options:
\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}}
\textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}.
\textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
Toggles between inclusion of icons or text-based abbreviations for personal data.
@ -696,7 +696,7 @@ This style allows the following options:
This style allows the following options:
\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}}
\textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}.
\textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
Toggles between inclusion of icons or text-based abbreviations for personal data.
@ -716,9 +716,7 @@ This style allows the following options which \emph{only} affect header and foot
\textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}.
Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{qr}} & values: \code{qr} (default), \code{noqr}.
Enables or disables the inclusion of a QR code of your personal website. \\
\textbf{\code{separator in head}} & values: \code{separator} (default), \code{noseparator}.
Shows or hides the separator line after the colored header.
Enables or disables the inclusion of a QR code of your personal website.
\end{tabular}
\note For the \code{contemporary} style it is recommended to use the \code{\\moderncvcolor\{cerulean\}} color scheme. The \code{contemporary} style is even more appealing with reduced margins. Use this in your preamble:
\begin{lstlisting}
@ -830,12 +828,12 @@ As an alternative the appearing link and string after the symbol can be customiz
\paragraph{Note.}
The possible options for \code{<\\symbol>} depend on the package that is used.
By default, the \code{marvosym} package is loaded if \code{pdflatex} is used, and the \code{academicons} and \code{fontawesome7} packages are loaded if either \code{lualatex} or \code{xelatex} is used.
By default, the \code{marvosym} package is loaded if \code{pdflatex} is used, and the \code{academicons} and \code{fontawesome6} packages are loaded if either \code{lualatex} or \code{xelatex} is used.
Full lists of all available symbols and icons can be found in the documentation of each respective package:
\begin{tabular}{l}
\url{https://ctan.org/pkg/marvosym} \\[1ex]
\url{https://ctan.org/pkg/fontawesome7} \\[1ex]
\url{https://ctan.org/pkg/fontawesome6} \\[1ex]
\url{https://ctan.org/pkg/academicons}
\end{tabular}
@ -971,32 +969,32 @@ Adjusting one column affects the other ones as the total width of the skill matr
\end{lstlisting}
\subsection{Additional link commands}%% adapted from Cristina Sambo's documentation
To create links to a website or an email address, use the following commands:
To create links to a website or a email address, use the following commands:
A general weblink with optional text.
A general weblink with optional text.
\begin{lstlisting}
\link[<text>]{<link>}
%% example
\link[name of the link]{ftp://ftp.somesite.org}
\end{lstlisting}
An HTTP link. The \texttt{http://} prefix is generated automatically and is not needed in the link argument.
An HTTP link. The HTTP prefix is generated automatically and is not needed in the link argument.
\begin{lstlisting}
\httplink[<text>]{<link>}
\link[<text>]{<link>}
%% example
\httplink[goto HTTP site]{www.somehttpsite.org}
\link[goto HTTP site]{www.somehttpsite.org}
\end{lstlisting}
A HTTPS link. The \texttt{https://} prefix is generated automatically and is not needed in the link argument.
A HTTPS link. The HTTPS prefix is generated automatically and is not needed in the link argument.
\begin{lstlisting}
\httpslink[<text>]{<link>}
\link[<text>]{<link>}
%% example
\httpslink[goto HTTPS site]{www.somesecuresite.org}
\end{lstlisting}
An email link. The \texttt{mailto:} prefix is generated automatically and is not needed in the link argument.
An email link. The mailto prefix is generated automatically and is not needed in the link argument.
\begin{lstlisting}
\emaillink[<text>]{<link>}
\link[<text>]{<link>}
%% example
\emaillink[my email]{jdoe@website.org}
\end{lstlisting}
@ -1104,13 +1102,13 @@ In addition to the packages that \Moderncv provides, the following packages are
\item \code{expl3}
\item \code{tikz}
\item \code{changepage}
\item \code{fontawesome7}
\item \code{fontawesome6}
\item \code{academicons}
\item \code{tgpagella}
\item \code{ebgaramond}
\item \code{kurier}
\item \code{multirow}
\item \code{arydshln}
\end{multicols}
\end{itemize}

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{moderncv}[2026-06-24 v2.6.1 modern curriculum vitae and letter document class]
\ProvidesClass{moderncv}[2026-01-31 v2.5.1 modern curriculum vitae and letter document class]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyi}[2026-06-24 v2.6.1 modern curriculum vitae and letter body variant: 1]
\ProvidesPackage{moderncvbodyi}[2026-01-31 v2.5.1 modern curriculum vitae and letter body variant: 1]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyiii}[2026-06-24 v2.6.1 modern curriculum vitae and letter body variant: 3]
\ProvidesPackage{moderncvbodyiii}[2026-01-31 v2.5.1 modern curriculum vitae and letter body variant: 3]
% rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializeif{\if@fullrules}\@fullrulesfalse
@ -180,16 +180,14 @@
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{
\begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
\ifboolexpr{%
% skip the company name and location line if both are empty, allowing one to show multiple roles within the same company without repeating it
\ifboolexpr{%
test {\ifstrempty{#4}}
and
test {\ifstrempty{#5}}}%
{}%
{{\bfseries #4} & {\bfseries #5}\\}%
{\itshape #3\ifstrempty{#6}{}{, #6}} & {\itshape #2}\\%
\end{tabular*}%
test {\ifstrempty{#4}}
and
test {\ifstrempty{#5}}}%
{}%
{\makebox[\maincolumnwidth][l]{\textbf{#4}\hfill\textbf{#5}}\\}%
\makebox[\maincolumnwidth][l]{\textit{#3\ifstrempty{#6}{}{, #6}}\hfill\textit{#2}}\\%
\ifx&#7&%
\else{\\%
\begin{minipage}{\maincolumnwidth}%

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyiv}[2026-06-24 v2.6.1 modern curriculum vitae and letter body variant: 4]
\ProvidesPackage{moderncvbodyiv}[2026-01-31 v2.5.1 modern curriculum vitae and letter body variant: 4]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyv}[2026-06-24 v2.6.1 modern curriculum vitae and letter body variant: 5]
\ProvidesPackage{moderncvbodyv}[2026-01-31 v2.5.1 modern curriculum vitae and letter body variant: 5]
%-------------------------------------------------------------------------------

View file

@ -11,7 +11,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyvi}[2026-06-24 v2.6.1 modern curriculum vitae and letter body variant: 6]
\ProvidesPackage{moderncvbodyvi}[2026-01-31 v2.5.1 modern curriculum vitae and letter body variant: 6]
%-------------------------------------------------------------------------------
@ -78,7 +78,7 @@
\settoheight{\baseletterheight}{\sectionstyle{o}}
\setlength{\baseletterheight}{\baseletterheight-0.95ex}
% The optional argument can be used to place a small icon near the section name.
% E.g. `\section[\faIcon{bookmark}]{Education}`
% E.g. `\section[\faBookmark]{Education}`
\RenewDocumentCommand{\section}{sO{}m}{%
\tl@resetchain%
\par\addvspace{2.5ex}%

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcollection}[2026-06-24 v2.6.1 moderncv collections]
\ProvidesPackage{moderncvcollection}[2026-01-31 v2.5.1 moderncv collections]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorblack}[2026-06-24 v2.6.1 modern curriculum vitae and letter color scheme: black]
\ProvidesPackage{moderncvcolorblack}[2026-01-31 v2.5.1 modern curriculum vitae and letter color scheme: black]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorblue}[2026-06-24 v2.6.1 modern curriculum vitae and letter color scheme: blue]
\ProvidesPackage{moderncvcolorblue}[2026-01-31 v2.5.1 modern curriculum vitae and letter color scheme: blue]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorburgundy}[2026-06-24 v2.6.1 modern curriculum vitae and letter color scheme: burgundy]
\ProvidesPackage{moderncvcolorburgundy}[2026-01-31 v2.5.1 modern curriculum vitae and letter color scheme: burgundy]
%-------------------------------------------------------------------------------

View file

@ -11,7 +11,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorcerulean}[2026-06-24 v2.6.1 modern curriculum vitae and letter color scheme: cerulean]
\ProvidesPackage{moderncvcolorcerulean}[2026-01-31 v2.5.1 modern curriculum vitae and letter color scheme: cerulean]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorgreen}[2026-06-24 v2.6.1 modern curriculum vitae and letter color scheme: green]
\ProvidesPackage{moderncvcolorgreen}[2026-01-31 v2.5.1 modern curriculum vitae and letter color scheme: green]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorgrey}[2026-06-24 v2.6.1 modern curriculum vitae and letter color scheme: grey]
\ProvidesPackage{moderncvcolorgrey}[2026-01-31 v2.5.1 modern curriculum vitae and letter color scheme: grey]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolororange}[2026-06-24 v2.6.1 modern curriculum vitae and letter color scheme: orange]
\ProvidesPackage{moderncvcolororange}[2026-01-31 v2.5.1 modern curriculum vitae and letter color scheme: orange]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorpurple}[2026-06-24 v2.6.1 modern curriculum vitae and letter color scheme: purple]
\ProvidesPackage{moderncvcolorpurple}[2026-01-31 v2.5.1 modern curriculum vitae and letter color scheme: purple]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorred}[2026-06-24 v2.6.1 modern curriculum vitae and letter color scheme: red]
\ProvidesPackage{moderncvcolorred}[2026-01-31 v2.5.1 modern curriculum vitae and letter color scheme: red]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolors}[2026-06-24 v2.6.1 modern curriculum vitae and letter base colors]
\ProvidesPackage{moderncvcolors}[2026-01-31 v2.5.1 modern curriculum vitae and letter base colors]
%-------------------------------------------------------------------------------
% built-in colors

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcompatibility}[2026-06-24 v2.6.1 modern curriculum vitae and letter compatibility patches]
\ProvidesPackage{moderncvcompatibility}[2026-01-31 v2.5.1 modern curriculum vitae and letter compatibility patches]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvdebugtools}[2026-06-24 v2.6.1 modern curriculum vitae and letter debug tools]
\ProvidesPackage{moderncvdebugtools}[2026-01-31 v2.5.1 modern curriculum vitae and letter debug tools]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvfooti}[2026-06-24 v2.6.1 modern curriculum vitae and letter footer variant: 1]
\ProvidesPackage{moderncvfooti}[2026-01-31 v2.5.1 modern curriculum vitae and letter footer variant: 1]
%-------------------------------------------------------------------------------

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadi}[2026-06-24 v2.6.1 modern curriculum vitae and letter header variant: 1]
\ProvidesPackage{moderncvheadi}[2026-01-31 v2.5.1 modern curriculum vitae and letter header variant: 1]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadii}[2026-06-24 v2.6.1 modern curriculum vitae and letter header variant: 2]
\ProvidesPackage{moderncvheadii}[2026-01-31 v2.5.1 modern curriculum vitae and letter header variant: 2]
% details options: "details" or "nodetails" (default)
\@initializeif{\if@details}\@detailsfalse

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadiii}[2026-06-24 v2.6.1 modern curriculum vitae and letter header variant: 3]
\ProvidesPackage{moderncvheadiii}[2026-01-31 v2.5.1 modern curriculum vitae and letter header variant: 3]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadiv}[2026-06-24 v2.6.1 modern curriculum vitae and letter header variant: 4]
\ProvidesPackage{moderncvheadiv}[2026-01-31 v2.5.1 modern curriculum vitae and letter header variant: 4]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@ -116,7 +116,7 @@
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\hbox to 1.0em{\hss\csname\collectionloopkey socialsymbol\endcsname\hss}~\collectionloopitem}%
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi}
@ -165,7 +165,7 @@
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\hbox to 1.0em{\hss\csname\collectionloopkey socialsymbol\endcsname\hss}~\collectionloopitem}%
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
% ensure no extra spacing after \makelettertitle due to a possible blank line
%\ignorespacesafterend% not working

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadv}[2026-06-24 v2.6.1 modern curriculum vitae and letter header variant: 5]
\ProvidesPackage{moderncvheadv}[2026-01-31 v2.5.1 modern curriculum vitae and letter header variant: 5]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadvi}[2026-06-24 v2.6.1 modern curriculum vitae and letter header: 6]
\ProvidesPackage{moderncvheadvi}[2026-01-31 v2.5.1 modern curriculum vitae and letter header: 6]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse

View file

@ -11,7 +11,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadvii}[2026-06-24 v2.6.1 modern curriculum vitae and letter header variant: 7]
\ProvidesPackage{moderncvheadvii}[2026-01-31 v2.5.1 modern curriculum vitae and letter header variant: 7]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@ -29,13 +29,8 @@
\@initializeif{\if@right}\@rightfalse
\DeclareOption{right} {\@leftfalse\@righttrue}
% separator line option: "separator" (default) or "noseparator"
\@initializeif{\if@separator}\@separatortrue
\DeclareOption{separator} {\@separatortrue}
\DeclareOption{noseparator} {\@separatorfalse}
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{details,qr,left,separator}
\ExecuteOptions{details,qr,left}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@ -153,10 +148,10 @@
% case with no photo: assure defined \@photoframewidth with 2pt
\ifthenelse{\isundefined{\@photo}}{\@initializelength{\@photoframewidth}\setlength{\@photoframewidth}{2pt}}{}%
\if@separator%
\path[draw,line width=\@photoframewidth, color=headhr!85!black]
(head-bg.south west) -- (head-bg.south east);
\fi%
\path[draw,line width=\@photoframewidth]
(head-bg.south west) edge[color=headhr!85!black] ([xshift=8em]head-bg.south west)
([xshift=8em]head-bg.south west) edge[color=headhr] ([xshift=-8em]head-bg.south east)
([xshift=-8em]head-bg.south east) edge[color=headhr!85!black] (head-bg.south east);
\end{tikzpicture}%
\if@left%
\usebox{\makecvheadpicturebox}%

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsacademic}[2026-06-24 v2.6.1 modern curriculum vitae icons: academicons]
\ProvidesPackage{moderncviconsacademic}[2026-01-31 v2.5.1 modern curriculum vitae icons: academicons]
%-------------------------------------------------------------------------------
@ -28,7 +28,7 @@
\providecolor{orcid}{named}{default-socialicon-color}
\providecolor{researchgate}{named}{default-socialicon-color}
\providecolor{researcherid}{named}{default-socialicon-color}
%\providecolor{googlescholar}{named}{default-socialicon-color}
\providecolor{googlescholar}{named}{default-socialicon-color}
\providecolor{arxiv}{named}{default-socialicon-color}
\providecolor{inspire}{named}{default-socialicon-color}
@ -54,7 +54,7 @@
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}~}
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}~} % alternative: \aiResearchGate
\renewcommand*{\researcheridsocialsymbol} {{\color{researcherid}\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID
%\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\raisebox{-1pt}{\large\aiGoogleScholar}}~}
\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\raisebox{-1pt}{\large\aiGoogleScholar}}~}
%\newcommand*{\telegramsocialsymbol} {}
%\newcommand*{\whatsappsocialsymbol} {}
%\newcommand*{\matrixsocialsymbol} {}

View file

@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsawesome}[2026-06-24 v2.6.1 modern curriculum vitae icons: awesome]
\ProvidesPackage{moderncviconsawesome}[2026-01-31 v2.5.1 modern curriculum vitae icons: awesome]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% Font Awesome font
\RequirePackage{fontawesome7}
\RequirePackage{fontawesome6}
\RequirePackage{xcolor}
%-------------------------------------------------------------------------------
@ -61,51 +61,49 @@
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
%-------------------------------------------------------------------------------
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faIcon[regular]{circle}}} % alternative: \faIcon{circle} (solid style)
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircle[regular]}} % alternative: \faCircle (solid style)
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
%\renewcommand*{\addresssymbol} {}
\renewcommand*{\mobilephonesymbol} {{\color{mobilephone}\small\faIcon{mobile-screen}}~} % alternative: \faIcon{mobile} (solid style)
\renewcommand*{\fixedphonesymbol} {{\color{fixedphone}\small\faIcon{phone}}~} % alternative: \faIcon{phone-flip} (reversed)
\renewcommand*{\faxphonesymbol} {{\color{faxphone}\small\faIcon{fax}}~} % alternative: \faIcon{print}
\renewcommand*{\emailsymbol} {{\color{email}\small\faIcon[regular]{envelope}}~} % alternative: \faIcon{inbox}, \faIcon{envelope} (solid style)
\renewcommand*{\homepagesymbol} {{\color{homepage}\small\faIcon{earth-americas}}~} % alternative: \faIcon{house}, \faIcon{house-chimney}, \faIcon{globe}, \faIcon{earth-europe}, \faIcon{earth-africa}, \faIcon{earth-asia}, \faIcon{earth-oceania}
\renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faIcon{linkedin-in}}~} % alternative: \faIcon{linkedin}
\renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faIcon{xing}}~} % alternative: \faIcon{square-xing}
\renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faIcon{twitter}}~} % alternative: \faIcon{square-twitter}, \faIcon{x-twitter}, \faIcon{square-x-twitter}
\renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faIcon{mastodon}}~}
\renewcommand*{\githubsocialsymbol} {{\color{github}\small\faIcon{github}}~} % alternative: \faIcon{square-github}, \faIcon{github-alt}
\renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faIcon{gitlab}}~}
\renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faIcon{stack-overflow}}~}
\renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faIcon{bitbucket}}~}
\renewcommand*{\skypesocialsymbol} {{\color{skype}\small\faIcon{skype}}~}
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faIcon{orcid}}~}
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faIcon{researchgate}}~}
\renewcommand*{\mobilephonesymbol} {{\color{mobilephone}\small\faMobile*}~} % alternative: \faMobile (solid style)
\renewcommand*{\fixedphonesymbol} {{\color{fixedphone}\small\faPhone*}~} % alternative: \faPhone (reversed)
\renewcommand*{\faxphonesymbol} {{\color{faxphone}\small\faFax}~} % alternative: \faPrint
\renewcommand*{\emailsymbol} {{\color{email}\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style)
\renewcommand*{\homepagesymbol} {{\color{homepage}\small\faEarthAmericas}~} % alternative: \faHome, \faGlobe, \faEarthEurope, \faEarthAfrica, \faEarthAsia, \faEarthOceania
\renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}~} % alternative: \faLinkedin
\renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}~} % alternative: \faXingSquare
\renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}~} % alternative: \faTwitterSquare
\renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}~}
\renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}~} % alternative: \faGithubSquare, \faGithub*
\renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}~}
\renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}~}
\renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}~}
\renewcommand*{\skypesocialsymbol} {{\color{skype}\small\faSkype}~}
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}~}
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}~}
%\renewcommand*{\researcheridsocialsymbol} {}
\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\small\faIcon{google-scholar}}~}
\renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faIcon{telegram}}~}
\renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faIcon{whatsapp}}~}
\renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faIcon{discord}}~}
\renewcommand*{\twitchsocialsymbol} {{\color{twitch}\small\faIcon{twitch}}~}
\renewcommand*{\youtubesocialsymbol} {{\color{youtube}\small\faIcon{youtube}}~}
\renewcommand*{\tiktoksocialsymbol} {{\color{tiktok}\small\faIcon{tiktok}}~}
\renewcommand*{\instagramsocialsymbol} {{\color{instagram}\small\faIcon{instagram}}~}
\renewcommand*{\soundcloudsocialsymbol} {{\color{soundcloud}\small\faIcon{soundcloud}}~}
\renewcommand*{\steamsocialsymbol} {{\color{steam}\small\faIcon{steam}}~}
\renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faIcon{xbox}}~}
\renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faIcon{playstation}}~}
\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faIcon{battle-net}}~}
\renewcommand*{\signalsocialsymbol} {{\color{signal}\small\faIcon{signal-messenger}}~}
%\renewcommand*{\googlescholarsocialsymbol}{}
\renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}~}
\renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}~}
\renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}~}
\renewcommand*{\twitchsocialsymbol} {{\color{twitch}\small\faTwitch}~}
\renewcommand*{\youtubesocialsymbol} {{\color{youtube}\small\faYoutube}~}
\renewcommand*{\tiktoksocialsymbol} {{\color{tiktok}\small\faTiktok}~}
\renewcommand*{\instagramsocialsymbol} {{\color{instagram}\small\faInstagram}~}
\renewcommand*{\soundcloudsocialsymbol} {{\color{soundcloud}\small\faSoundcloud}~}
\renewcommand*{\steamsocialsymbol} {{\color{steam}\small\faSteam}~}
\renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}~}
\renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}~}
\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~}
\renewcommand*{\signalsocialsymbol} {{\color{signal}\small\faSignalMessenger}~}
%\renewcommand*{\matrixsocialsymbol} {}
% No arxiv icon in fontawesome6 (v6.7.2-3) or fontawesome7 (v7.1.0-1)
% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faIcon{arxiv}}}~}
% No inspire icon in fontawesome6 (v6.7.2-3) or fontawesome7 (v7.1.0-1)
% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faIcon{inspire}}}~}
\renewcommand*{\bornsymbol} {{\color{born}\raisebox{.5ex}{\tiny\faIcon{asterisk}}}~} % alternative: \faIcon{baby-carriage}
\renewcommand*{\mediumsocialsymbol} {{\color{medium}\small\faIcon{medium}}~}
% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~}
% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~}
\renewcommand*{\bornsymbol} {{\color{born}\raisebox{.5ex}{\tiny\faAsterisk}}~} % alternative: \faBabyCarriage
\renewcommand*{\mediumsocialsymbol} {{\color{medium}\small\faMedium}~}
\endinput

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsletters}[2026-06-24 v2.6.1 modern curriculum vitae icons: letter]
\ProvidesPackage{moderncviconsletters}[2026-01-31 v2.5.1 modern curriculum vitae icons: letter]
%-------------------------------------------------------------------------------
% symbols definition
@ -60,7 +60,7 @@
\renewcommand*{\arxivsocialsymbol} {\textbf{arx}~}
\renewcommand*{\inspiresocialsymbol} {\textbf{ins}~}
\renewcommand*{\simplexsocialsymbol} {\textbf{splx}~}
\renewcommand*{\threemasocialsymbol} {\textbf{thr}~}
\renewcommand*{\simplexsocialsymbol} {\textbf{thr}~}
\renewcommand*{\listitemsymbol} {\labelitemi~}

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsmarvosym}[2026-06-24 v2.6.1 modern curriculum vitae icons: marvosym]
\ProvidesPackage{moderncviconsmarvosym}[2026-01-31 v2.5.1 modern curriculum vitae icons: marvosym]
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconssymbols}[2026-06-24 v2.6.1 modern curriculum vitae icons selector]
\ProvidesPackage{moderncviconssymbols}[2026-01-31 v2.5.1 modern curriculum vitae icons selector]
\ifxetexorluatex

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconstikz}[2026-06-24 v2.6.1 modern curriculum vitae and letter icons: tickz]
\ProvidesPackage{moderncviconstikz}[2026-01-31 v2.5.1 modern curriculum vitae and letter icons: tickz]
%-------------------------------------------------------------------------------
@ -26,6 +26,12 @@
%-------------------------------------------------------------------------------
\usepackage{moderncvcolors}
\providecolor{linkedin}{named}{default-socialicon-color}
\providecolor{twitter}{named}{default-socialicon-color}
\providecolor{github}{named}{default-socialicon-color}
\providecolor{gitlab}{named}{default-socialicon-color}
\providecolor{skype}{named}{default-socialicon-color}
\providecolor{googlescholar}{named}{default-socialicon-color}
\providecolor{matrix}{named}{default-socialicon-color}
\providecolor{codeberg}{named}{default-socialicon-color}
\providecolor{simplex}{named}{default-socialicon-color}
@ -36,19 +42,309 @@
% all symbols described in moderncv.cls
% only redefine symbols that are not defined at this level
%-------------------------------------------------------------------------------
% this will act as a normalizer to mimic the same behavior as for fontaewesome icons
\DeclareRobustCommand{\@tikzsocialicon}[1]{%
\mbox{\raisebox{-0.12em}{#1}}%
}%
\ifdefempty{\linkedinsocialsymbol} {
\renewcommand*{\linkedinsocialsymbol} {
\protect\raisebox{-0.165em}{
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.25, yscale=-0.25, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[cm={{0.60,0.0,0.0,0.60,(346.39,123.07)}}]
\protect\path[fill=linkedin]
(381,202) -- (434,202) .. controls (439,202) and (442,205) ..
(442,210) -- (442,264) .. controls (442,268) and (439,272) ..
(434,272) -- (381,272) .. controls (376,272) and (372,268) ..
(372,264) -- (372,210) .. controls (372,205) and (376,202) ..
(381,202) -- cycle;
\protect\begin{scope}[xscale=0.98, yscale=1.02, fill=white]
\protect\path[fill=white]
(403,253) -- (403,224) -- (394,224) -- (394,253) --
cycle(398,211) .. controls (397,211) and (395,212) ..
(395,213) .. controls (394,213) and (393,215) ..
(393,216) .. controls (393,217) and (394,218) ..
(395,219) .. controls (395,220) and (397,220) ..
(398,220) .. controls (400,220) and (401,220) ..
(402,219) .. controls (402,218) and (403,217) ..
(403,216) .. controls (403,215) and (402,213) ..
(402,213) .. controls (401,212) and (400,211) ..
(398,211) -- cycle;
\protect\path[fill=white]
(410,253) -- (419,253) --
(419,236) .. controls (419,236) and (419,235) ..
(419,235) .. controls (419,235) and (419,234) ..
(419,234) .. controls (419,233) and (420,232) ..
(421,232) .. controls (422,231) and (423,231) ..
(424,231) .. controls (425,231) and (427,231) ..
(427,232) .. controls (428,234) and (428,235) ..
(428,237) -- (428,253) -- (437,253) --
(437,236) .. controls (437,232) and (436,228) ..
(434,226) .. controls (433,224) and (430,223) ..
(427,223) .. controls (425,223) and (423,224) ..
(421,225) .. controls (420,226) and (419,227) ..
(418,228) -- (418,228) -- (417,224) --
(410,224) .. controls (410,225) and (410,227) ..
(410,228) .. controls (410,230) and (410,231) ..
(410,233) -- cycle;
\protect\end{scope}
\protect\end{scope}
\protect\end{tikzpicture}}
~}
}{}\par
\ifdefempty{\twittersocialsymbol} {
\renewcommand*{\twittersocialsymbol} {
\protect\raisebox{0em}{%
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.005, yscale=-0.005, inner sep=0pt, outer sep=0pt]
\protect\path[fill=twitter]
(2000, 192) .. controls (1926, 225) and (1847, 247) ..
(1764, 257) .. controls (1849, 206) and (1914, 126) ..
(1945, 30) .. controls (1865, 77) and (1778, 111) ..
(1684, 130) .. controls (1609, 50) and (1503, 0) ..
(1385, 0) .. controls (1158, 0) and ( 974, 184) ..
( 974, 410) .. controls ( 974, 442) and ( 978, 474) ..
( 985, 504) .. controls ( 644, 487) and ( 342, 323) ..
( 139, 75) .. controls ( 104, 136) and ( 84, 206) ..
( 84, 281) .. controls ( 84, 424) and ( 156, 549) ..
( 266, 623) .. controls ( 199, 621) and ( 136, 602) ..
( 80, 572) .. controls ( 80, 573) and ( 80, 575) ..
( 80, 577) .. controls ( 80, 776) and ( 222, 941) ..
( 409, 979) .. controls ( 375, 988) and ( 339, 993) ..
( 301, 993) .. controls ( 275, 993) and ( 249, 991) ..
( 224, 986) .. controls ( 276,1149) and ( 428,1268) ..
( 607,1271) .. controls ( 467,1381) and ( 290,1447) ..
( 98,1447) .. controls ( 65,1447) and ( 32,1445) ..
( 0,1441) .. controls ( 182,1557) and ( 397,1625) ..
( 629,1625) .. controls (1384,1625) and (1796,1000) ..
(1796, 458) .. controls (1796, 440) and (1796, 422) ..
(1795, 405) .. controls (1875, 347) and (1945, 275) ..
(2000, 192);
\protect\end{tikzpicture}}
~}
}{}\par
\ifdefempty{\githubsocialsymbol} {
\renewcommand*{\githubsocialsymbol} {
\protect\raisebox{-0.15em} {
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.25, yscale=-0.25, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
\protect\path[fill=github]
(117, 60) .. controls (117, 71) and (108, 81) ..
( 96, 81) .. controls ( 85, 81) and ( 75, 71) ..
( 75, 60) .. controls ( 75, 48) and ( 85, 39) ..
( 96, 39) .. controls (108, 39) and (117, 48) ..
(117, 60) -- cycle;
\protect\path[cm={{0.88,0.0,0.0,0.88,(11.10,6.89)}}, fill=white]
(117, 60) .. controls (117, 71) and (108, 81) ..
( 96, 81) .. controls ( 85, 81) and ( 75, 71) ..
( 75, 60) .. controls ( 75, 48) and ( 85, 39) ..
( 96, 39) .. controls (108, 39) and (117, 48) ..
(117, 60) -- cycle;
\protect\path[fill=github, nonzero rule]
(103, 45) .. controls (103, 45) and (101, 46) ..
(101, 47) -- (100, 47) --
( 99, 47) .. controls ( 99, 47) and ( 98, 47) ..
( 97, 47) .. controls ( 94, 47) and ( 93, 47) ..
( 92, 47) -- ( 92, 47) --
( 91, 47) .. controls ( 90, 46) and ( 88, 45) ..
( 88, 45) .. controls ( 88, 45) and ( 88, 45) ..
( 87, 45) .. controls ( 87, 45) and ( 87, 45) ..
( 87, 45) .. controls ( 86, 46) and ( 86, 48) ..
( 86, 49) -- ( 87, 50) --
( 86, 51) .. controls ( 85, 51) and ( 85, 52) ..
( 85, 53) .. controls ( 85, 54) and ( 85, 57) ..
( 85, 58) .. controls ( 85, 58) and ( 85, 58) ..
( 82, 59) .. controls ( 79, 59) and ( 77, 59) ..
( 77, 59) .. controls ( 77, 59) and ( 77, 59) ..
( 78, 59) .. controls ( 80, 59) and ( 83, 59) ..
( 85, 59) .. controls ( 85, 59) and ( 85, 59) ..
( 85, 59) .. controls ( 86, 59) and ( 86, 59) ..
( 86, 59) .. controls ( 86, 59) and ( 85, 59) ..
( 84, 59) .. controls ( 82, 60) and ( 80, 60) ..
( 79, 60) .. controls ( 78, 61) and ( 77, 61) ..
( 77, 61) .. controls ( 77, 61) and ( 78, 61) ..
( 79, 61) .. controls ( 81, 60) and ( 83, 60) ..
( 85, 60) .. controls ( 86, 60) and ( 86, 60) ..
( 86, 60) .. controls ( 86, 60) and ( 87, 61) ..
( 88, 62) .. controls ( 89, 63) and ( 90, 63) ..
( 92, 63) .. controls ( 92, 63) and ( 93, 64) ..
( 93, 64) .. controls ( 93, 64) and ( 93, 64) ..
( 93, 64) .. controls ( 92, 64) and ( 92, 65) ..
( 92, 65) .. controls ( 92, 66) and ( 90, 66) ..
( 89, 66) .. controls ( 88, 66) and ( 88, 66) ..
( 87, 65) .. controls ( 87, 64) and ( 86, 63) ..
( 86, 63) .. controls ( 85, 63) and ( 84, 63) ..
( 84, 63) .. controls ( 84, 63) and ( 84, 63) ..
( 84, 63) .. controls ( 85, 64) and ( 86, 65) ..
( 86, 66) .. controls ( 87, 67) and ( 87, 68) ..
( 88, 68) .. controls ( 89, 68) and ( 89, 68) ..
( 90, 68) -- ( 92, 68) -- ( 92, 70) -- ( 92, 72) --
( 91, 72) .. controls ( 91, 72) and ( 91, 73) ..
( 91, 73) .. controls ( 90, 73) and ( 90, 73) ..
( 91, 73) .. controls ( 92, 73) and ( 92, 73) ..
( 92, 73) .. controls ( 93, 73) and ( 93, 73) ..
( 93, 70) .. controls ( 93, 67) and ( 93, 67) ..
( 94, 66) -- ( 94, 66) --
( 94, 69) .. controls ( 94, 71) and ( 94, 73) ..
( 94, 73) .. controls ( 94, 73) and ( 94, 73) ..
( 93, 74) .. controls ( 93, 74) and ( 93, 74) ..
( 93, 74) .. controls ( 93, 74) and ( 93, 74) ..
( 94, 74) .. controls ( 94, 74) and ( 95, 74) ..
( 96, 73) .. controls ( 96, 72) and ( 96, 71) ..
( 96, 68) -- ( 96, 66) -- ( 96, 66) --
( 96, 69) .. controls ( 96, 72) and ( 96, 72) ..
( 97, 73) .. controls ( 97, 74) and ( 99, 74) ..
( 99, 74) .. controls ( 99, 74) and ( 99, 74) ..
( 99, 73) .. controls ( 99, 73) and ( 98, 73) ..
( 98, 72) .. controls ( 98, 72) and ( 98, 66) ..
( 98, 66) .. controls ( 98, 66) and ( 99, 66) ..
( 99, 66) .. controls ( 99, 67) and ( 99, 67) ..
( 99, 69) .. controls ( 99, 71) and ( 99, 72) ..
( 99, 72) .. controls ( 99, 73) and (100, 73) ..
(100, 73) .. controls (101, 73) and (101, 73) ..
(101, 73) .. controls (102, 73) and (102, 73) ..
(102, 73) .. controls (101, 72) and (101, 72) ..
(101, 69) .. controls (101, 66) and (101, 65) ..
(100, 65) .. controls (100, 64) and (100, 64) ..
(100, 64) -- ( 99, 64) --
(100, 63) .. controls (101, 63) and (102, 63) ..
(103, 63) .. controls (104, 62) and (106, 61) ..
(106, 60) -- (106, 60) --
(107, 60) .. controls (109, 60) and (113, 60) ..
(115, 61) .. controls (115, 61) and (115, 61) ..
(115, 61) .. controls (115, 60) and (111, 60) ..
(108, 59) .. controls (107, 59) and (107, 59) ..
(107, 59) .. controls (107, 59) and (107, 59) ..
(107, 59) -- (107, 59) --
(108, 59) .. controls (110, 59) and (112, 59) ..
(114, 59) .. controls (115, 59) and (115, 59) ..
(115, 59) .. controls (115, 59) and (112, 59) ..
(109, 59) .. controls (108, 58) and (107, 58) ..
(107, 58) .. controls (107, 58) and (107, 58) ..
(107, 58) .. controls (107, 57) and (107, 56) ..
(107, 55) .. controls (107, 53) and (107, 53) ..
(107, 53) .. controls (107, 52) and (106, 51) ..
(106, 50) -- (105, 50) --
(105, 48) .. controls (105, 47) and (105, 46) ..
(105, 46) -- (105, 45) --
(104, 45) .. controls (104, 45) and (104, 45) ..
(103, 45) -- cycle;
\protect\end{scope}
\protect\end{tikzpicture}}
~}
}{}\par
\ifdefempty{\gitlabsocialsymbol} {
\renewcommand*{\gitlabsocialsymbol} {
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[x=0.11em, y=0.11em, xscale=0.015, yscale=-0.015, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
\protect\path[fill=gitlab,line width=0.057pt]
(105.2000,24.9000) .. controls (102.1000,16.0000) and (89.5000,16.0000) ..
(86.3000,24.9000) -- (29.8000,199.7000) -- (161.7000,199.7000) .. controls
(161.7000,199.7000) and (105.2000,24.9000) .. (105.2000,24.9000) -- cycle
(0.9000,287.7000) .. controls (-1.7000,295.7000) and (1.2000,304.6000) ..
(8.0000,309.7000) -- (255.9000,493.7000) -- (29.7000,199.7000) -- cycle
(161.7000,199.7000) -- (161.7000,199.7000) -- (256.0000,493.7000) -- (350.3000,199.7000) -- cycle
(511.1000,287.7000) -- (482.3000,199.7000) -- (256.0000,493.7000) --
(503.9000,309.7000) .. controls (510.8000,304.6000) and (513.6000,295.7000) ..
(511.1000,287.7000) -- cycle(425.7000,24.9000) .. controls (422.6000,16.0000)
and (410.0000,16.0000) .. (406.8000,24.9000) -- (350.2000,199.7000) -- (482.2000,199.7000) -- cycle;
\protect\end{scope}
\protect\end{tikzpicture}}
~}
}{}\par
\ifdefempty{\skypesocialsymbol} {
\renewcommand*{\skypesocialsymbol} {
\protect\raisebox{-0.15em}{
\protect\begin{tikzpicture}[y=0.08em, x=0.08em, xscale=0.020, yscale=-0.020, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
\protect\path[fill=skype,even odd rule]
(487.6550,288.9690) .. controls (489.0610,278.5690) and (489.8700,267.9960) ..
(489.8700,257.2330) .. controls (489.8700,128.0770) and (384.5990,23.3610) ..
(254.7670,23.3610) .. controls (241.8630,23.3610) and (229.2120,24.4210) ..
(216.9010,26.4410) .. controls (194.8280,12.0570) and (168.5590,3.6740) ..
(140.2880,3.6740) .. controls (62.7660,3.6740) and (0.0000,66.4820) ..
(0.0000,143.9800) .. controls (0.0000,172.1780) and (8.2990,198.3740) ..
(22.5900,220.3690) .. controls (20.6650,232.3860) and (19.6810,244.6920) ..
(19.6810,257.2290) .. controls (19.6810,386.4050) and (124.8980,491.1100) ..
(254.7660,491.1100) .. controls (269.4230,491.1100) and (283.6930,489.6840) ..
(297.5620,487.1780) .. controls (319.1120,500.5470) and (344.4960,508.3260) ..
(371.7080,508.3260) .. controls (449.2100,508.3260) and (512.0010,445.5020) ..
(512.0010,368.0120) .. controls (511.9980,338.7190) and (503.0410,311.4840) ..
(487.6550,288.9690) -- cycle(276.7400,429.5960) .. controls (202.0340,433.4870) and (167.0750,416.9590) .. (135.0500,386.9050) .. controls (99.2850,353.3370) and (113.6520,315.0500) ..
(142.7900,313.1040) .. controls (171.9120,311.1590) and (189.3980,346.1160) ..
(204.9410,355.8400) .. controls (220.4650,365.5280) and (279.5340,387.6000) ..
(310.7350,351.9320) .. controls (344.7100,313.1040) and (288.1410,293.0120) ..
(246.6760,286.9300) .. controls (187.4730,278.1640) and (112.7260,246.1370) ..
(118.5410,183.0230) .. controls (124.3580,119.9490) and (172.1230,87.6090) ..
(222.3910,83.0470) .. controls (286.4680,77.2300) and (328.1820,92.7540) ..
(361.1760,120.9070) .. controls (399.3270,153.4360) and (378.6840,189.8010) ..
(354.3770,192.7270) .. controls (330.1660,195.6360) and (302.9730,139.2230) ..
(249.5860,138.3750) .. controls (194.5590,137.5110) and (157.3690,195.6360) ..
(225.3000,212.1590) .. controls (293.2660,228.6640) and (366.0500,235.4450) ..
(392.2610,297.5760) .. controls (418.4900,359.7130) and (351.5070,425.7010) ..
(276.7400,429.5960) -- cycle;
\protect\end{scope}
\protect\end{tikzpicture}}
~}
}{}\par
\ifdefempty{\googlescholarsocialsymbol} {
\renewcommand*{\googlescholarsocialsymbol} {
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=2.0pt, x=2.0pt, yscale=-0.1, xscale=0.1, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
\protect\path[fill=googlescholar] (25.0000,2.0000) .. controls (12.3095,2.0000) and (2.0000,12.3095)
.. (2.0000,25.0000) .. controls (2.0000,37.6905) and (12.3095,48.0000) ..
(25.0000,48.0000) .. controls (37.6905,48.0000) and (48.0000,37.6905) ..
(48.0000,25.0000) .. controls (48.0000,12.3095) and (37.6905,2.0000) ..
(25.0000,2.0000) -- cycle(25.0000,4.0000) .. controls (36.6095,4.0000) and
(46.0000,13.3905) .. (46.0000,25.0000) .. controls (46.0000,36.6095) and
(36.6095,46.0000) .. (25.0000,46.0000) .. controls (13.3905,46.0000) and
(4.0000,36.6095) .. (4.0000,25.0000) .. controls (4.0000,13.3905) and
(13.3905,4.0000) .. (25.0000,4.0000) -- cycle(21.0000,11.0000) --
(11.0000,20.0000) -- (17.7812,20.0000) .. controls (17.8012,22.8470) and
(19.9675,25.7305) .. (23.7695,25.7305) .. controls (24.1295,25.7305) and
(24.5297,25.6904) .. (24.9297,25.6504) .. controls (24.7497,26.1004) and
(24.5605,26.4701) .. (24.5605,27.0801) .. controls (24.5605,28.2301) and
(25.1404,28.9201) .. (25.6504,29.5801) .. controls (24.0204,29.6901) and
(20.9898,29.8795) .. (18.7598,31.2695) .. controls (16.6298,32.5595) and
(15.9805,34.4300) .. (15.9805,35.7500) .. controls (15.9805,38.4700) and
(18.5005,41.0000) .. (23.7305,41.0000) .. controls (29.9305,41.0000) and
(33.2207,37.5105) .. (33.2207,34.0605) .. controls (33.2207,31.5305) and
(31.7795,30.2799) .. (30.1895,28.9199) -- (28.9004,27.8906) .. controls
(28.5004,27.5706) and (27.9492,27.1203) .. (27.9492,26.3203) .. controls
(27.9492,25.5103) and (28.5007,24.9898) .. (28.9707,24.5098) .. controls
(30.4807,23.3098) and (32.0000,21.9602) .. (32.0000,19.2402) .. controls
(32.0000,18.1972) and (31.7562,17.3484) .. (31.4082,16.6504) --
(35.0000,13.5703) -- (35.0000,17.2773) .. controls (34.4050,17.6233) and
(34.0000,18.2610) .. (34.0000,19.0000) -- (34.0000,25.0000) .. controls
(34.0000,26.1040) and (34.8960,27.0000) .. (36.0000,27.0000) .. controls
(37.1040,27.0000) and (38.0000,26.1040) .. (38.0000,25.0000) --
(38.0000,19.0000) .. controls (38.0000,18.2620) and (37.5950,17.6243) ..
(37.0000,17.2773) -- (37.0000,12.0000) .. controls (37.0000,11.9570) and
(36.9806,11.9209) .. (36.9746,11.8789) -- (38.0000,11.0000) --
(21.0000,11.0000) -- cycle(24.2695,14.2402) .. controls (27.2695,14.2402) and
(28.8203,18.3500) .. (28.8203,21.0000) .. controls (28.8203,21.6500) and
(28.7399,22.8199) .. (27.9199,23.6699) .. controls (27.3399,24.2599) and
(26.3709,24.6992) .. (25.4609,24.6992) .. controls (22.3709,24.6992) and
(20.9492,20.6202) .. (20.9492,18.1602) .. controls (20.9492,17.2102) and
(21.1400,16.2209) .. (21.7500,15.4609) .. controls (22.3300,14.7109) and
(23.3395,14.2402) .. (24.2695,14.2402) -- cycle(26.0391,30.6094) .. controls
(26.4091,30.6094) and (26.5909,30.6104) .. (26.8809,30.6504) .. controls
(29.6209,32.6304) and (30.8008,33.6202) .. (30.8008,35.4902) .. controls
(30.8008,37.7602) and (28.9700,39.4609) .. (25.5000,39.4609) .. controls
(21.6400,39.4609) and (19.1602,37.5905) .. (19.1602,34.9805) .. controls
(19.1602,32.3705) and (21.4598,31.4992) .. (22.2598,31.1992) .. controls
(23.7698,30.6792) and (25.7191,30.6094) .. (26.0391,30.6094) -- cycle;
\protect\end{scope}
\protect\end{tikzpicture}}
~}
}{}\par
\ifdefempty{\matrixsocialsymbol} {
\renewcommand*{\matrixsocialsymbol} {
\@tikzsocialicon{%
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=1.8pt, x=1.8pt, yscale=-0.15, xscale=0.15, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
% path can be overridden, but defines a tight bounding box
\protect\path[use as bounding box]
(0.0950, -0.1013) rectangle (30.9390, 32.9750);
\protect\path[fill=matrix]
(0.9360,0.7320) .. controls (0.9360,10.9053) and (0.9360,21.0787) ..
(0.9360,31.2520) .. controls (1.6673,31.2520) and (2.3987,31.2520) ..
@ -88,17 +384,14 @@
(29.2278,31.2454) and (29.6629,31.2462) .. (30.0980,31.2470) -- cycle;
\protect\end{scope}
\protect\end{tikzpicture}}
}
~}
}{}\par
\ifdefempty{\codebergsocialsymbol} {
\renewcommand*{\codebergsocialsymbol} {
\@tikzsocialicon{
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507, 387)}]
% path can be overridden, but defines a tight bounding box
\protect\path[use as bounding box, scale=0.265]
(11236.4, -1884) rectangle (11273, -1848);
\protect\path[scale=0.265, opacity=0.500, line cap=butt, line join=miter, line width=0.779pt, miter limit=2.00]
(11249.8942,-1872.9296)arc(269.285:169.240:0.201313 and 0.150) --
(11258.5852,-1839.4433)arc(66.699:32.084:23.067) --
@ -111,18 +404,14 @@
-- cycle;
\protect\end{scope}
\protect\end{tikzpicture}}
}
~}
}{}\par
\ifdefempty{\simplexsocialsymbol} {
\renewcommand*{\simplexsocialsymbol} {
\@tikzsocialicon{%
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}, rotate=45]
% path can be overridden, but defines a tight bounding box
\protect\path[use as bounding box, scale=0.065]
(0, -100) rectangle (160, 60);
\protect\path[fill=simplex!80, scale=0.065]
(0,0) rectangle +(100,20)
(40,-60) rectangle +(20,120);
@ -134,18 +423,14 @@
(100,0) rectangle +(60,20);
\protect\end{scope}
\protect\end{tikzpicture}}
}
~}
}{}\par
\ifdefempty{\threemasocialsymbol} {
\renewcommand*{\threemasocialsymbol} {
\@tikzsocialicon{%
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
% path can be overridden, but defines a tight bounding box
\protect\path[use as bounding box, scale=0.015]
(-263, -325) rectangle (537, 621);
\protect\path[fill=threema, scale=0.015]
% speech bubble
(137,25) ellipse (400 and 350)
@ -166,7 +451,7 @@
(390,553) circle (68);
\protect\end{scope}
\protect\end{tikzpicture}}
}
~}
}{}\par
\endinput

View file

@ -203,7 +203,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvskillmatrix}[2026-06-24 v2.6.1 modern curriculum vitae and letter skill matrix]
\ProvidesPackage{moderncvskillmatrix}[2026-01-31 v2.5.1 modern curriculum vitae and letter skill matrix]
% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
@ -232,7 +232,12 @@
\RequirePackage{tikz}
\usetikzlibrary{babel}
\RequirePackage{multirow}
% package arydshln is needed for the dashed lines but is incompatible with fancy style
\if@moderncvbodyv%
% \RequirePackage{arydshln} % incompatible with fancy style
\else%
\RequirePackage{arydshln} % incompatible with fancy style
\fi
% %-------------------------------------------------------------------------------
% % \cvskill command
@ -608,9 +613,9 @@
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%%
p{2\skilllegend@padding}p{\cvskilllegend@leftdescriptorwidth}@{}@{\hspace{2\skillmatrix@padding}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{2\skilllegend@padding}%
p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& &{\skillLegend@FontSize #5 } \\%
@ -658,10 +663,10 @@
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
\arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{2\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{2\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\
%
@ -778,9 +783,9 @@
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%%
p{2\skilllegend@padding}p{\cvskilllegend@leftdescriptorwidth}@{}@{\hspace{2\skillmatrix@padding}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{2\skilllegend@padding}%
p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{4}& &{\skillLegend@FontSize #6} \\%
@ -826,10 +831,10 @@
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{2\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{2\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize#3} & \cvskill{4} & & {\skillLegend@FontSize#6}\\%
%
@ -1002,7 +1007,7 @@
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@experiencewidth} @{\hspace{\skillmatrix@padding}}%
p{\skillmatrix@commentwidth}@{}}%
\noalign{\vspace{2pt}\noindent\tikz \draw[dashed, color=bodyrulecolor, line width=0.6pt] (0,0) -- (\linewidth,0);\vspace{2pt}}
\cdashline{2-5}[.6pt/1pt]
\raggedleft\hintstyle{#3} &\centering \cvskill{#4} &\centering {#5} & \centering {#6} &{\itshape#7}%
\end{tabular}%
\endgroup

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylebanking}[2026-06-24 v2.6.1 modern curriculum vitae and letter style scheme: banking]
\ProvidesPackage{moderncvstylebanking}[2026-01-31 v2.5.1 modern curriculum vitae and letter style scheme: banking]
% body rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializecommand{\moderncvstylebodyoptions}{}
@ -36,7 +36,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{mixedrules,left,symbols,details}
\ExecuteOptions{mixedrules,left,symbols}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylecasual}[2026-06-24 v2.6.1 modern curriculum vitae and letter style scheme: casual]
\ProvidesPackage{moderncvstylecasual}[2026-01-31 v2.5.1 modern curriculum vitae and letter style scheme: casual]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstyleclassic}[2026-06-24 v2.6.1 modern curriculum vitae and letter style scheme: classic]
\ProvidesPackage{moderncvstyleclassic}[2026-01-31 v2.5.1 modern curriculum vitae and letter style scheme: classic]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}

View file

@ -11,24 +11,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylecontemporary}[2026-06-24 v2.6.1 modern curriculum vitae and letter style scheme: contemporary]
\ProvidesPackage{moderncvstylecontemporary}[2026-01-31 v2.5.1 modern curriculum vitae and letter style scheme: contemporary]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
% QR code options: "qr" (default) or "noqr"
\DeclareOption{qr} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,qr}}
\DeclareOption{noqr}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noqr}}
% separator in head options: "separator" (default) or "noseparator"
\DeclareOption{separator}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,separator}}
\DeclareOption{noseparator}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noseparator}}
% data in head options: "details" (default) or "nodetails"
\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
\DeclareOption{nodetails}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{left,qr,details,separator}
\ExecuteOptions{left,qr}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
@ -52,23 +45,8 @@
%-------------------------------------------------------------------------------
% Colors
%-------------------------------------------------------------------------------
% head and footer
\colorlet{lastnamecolor}{color2}
\colorlet{namecolor}{lastnamecolor}
\colorlet{headrulecolor}{lastnamecolor!50}
\colorlet{firstnamecolor}{lastnamecolor!50}
\colorlet{titlecolor}{color2}
\colorlet{addresscolor}{color2}
\colorlet{quotecolor}{color1}
\colorlet{pictureframecolor}{color1}
% body
\colorlet{bodyrulecolor}{color1}
\colorlet{sectioncolor}{color1}
\colorlet{subsectioncolor}{color1}
\colorlet{hintstylecolor}{color0}
% letter
\colorlet{letterclosingcolor}{color2}
% skillmatrix
\colorlet{bodyrulecolor}{color1}
\colorlet{skillmatrixfullcolor}{color1}
\colorlet{skillmatrixemptycolor}{color2!30}

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstyleempty}[2026-06-24 v2.6.1 modern curriculum vitae scheme: empty]
\ProvidesPackage{moderncvstyleempty}[2026-01-31 v2.5.1 modern curriculum vitae scheme: empty]
%-------------------------------------------------------------------------------
% required packages

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylefancy}[2026-06-24 v2.6.1 modern curriculum vitae and letter style scheme: fancy]
\ProvidesPackage{moderncvstylefancy}[2026-01-31 v2.5.1 modern curriculum vitae and letter style scheme: fancy]
% headoptions
\@initializecommand{\moderncvstyleheadoptions}{}

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstyleoldstyle}[2026-06-24 v2.6.1 modern curriculum vitae and letter style scheme: oldstyle]
\ProvidesPackage{moderncvstyleoldstyle}[2026-01-31 v2.5.1 modern curriculum vitae and letter style scheme: oldstyle]
% headoptions
\@initializecommand{\moderncvstyleheadoptions}{}

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvverticaltimeline}[2026-06-24 v2.6.1 modern curriculum vitae vertical timeline]
\ProvidesPackage{moderncvverticaltimeline}[2026-01-31 v2.5.1 modern curriculum vitae vertical timeline]
%-------------------------------------------------------------------------------

View file

@ -133,7 +133,7 @@
%----- resume ---------------------------------------------------------
\makecvtitle
\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faIcon{graduation-cap}]{Education}
\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}