Compare commits

..

1 commit

46 changed files with 475 additions and 289 deletions

View file

@ -1,36 +1,13 @@
version next
- Upgrade to Fontawesome 7 (#270)
- Fix "Underfull \hbox (badness 10000)" warning in banking \subsection dotted
rules by adding \hss glue as in \dotfill (#307)
- Update "circle" option to allow for half-filled circles in skill matrix (#309)
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]}}}
@ -237,8 +236,7 @@ where at most one value for each option can be passed to the document class:
\code{legalpaper}, \code{executivepaper}, \code{landscape} \\
\textbf{\code{font family}:} & \code{sans}, \code{roman} \\
\textbf{\code{font size}:} & \code{10pt}, \code{11pt} (default), \code{12pt} \\
\textbf{\code{draft/final}:} & \code{draft}, \code{final} (default) \\
\textbf{\code{skill level symbol}:} & \code{circle}, \code{square} (default)
\textbf{\code{draft/final}:} & \code{draft}, \code{final} (default)
\end{tabular}
\subsubsection*{Choosing a \texttt{moderncv} style and color}
@ -249,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.
@ -513,9 +512,7 @@ The required argument must be a number from 0 to 5.
\begin{lstlisting}
\cvskill{<0-5>}
\end{lstlisting}
This command can be used outside of the skill matrix, too.
If the option \code{square} (default) is passed when loading the document class, the skill level will be represented by filled and empty squares. If the option \code{circle} is passed, half-integer values ($0.5$, $1.5$, \emph{etc}) are allowed and the skill level will be represented by filled, half-filled and empty circles.
This command can be used outside of the skill matrix, too.
\paragraph{\code{\\cvskilllegend}}
A command for a legend for the skill matrix.
@ -556,7 +553,7 @@ Takes five optional arguments: post-padding width, level, skill label, years of
\paragraph{\code{\\cvskillentry}}
A command for an entry in the skill matrix.
Takes five required arguments: skill category, skill level, skill name, years of experience and a comment.
Takes five required arguments: skill category, skill level (0 to 5), skill name, years of experience and a comment.
Takes a single optional argument for the post-padding width.
\begin{lstlisting}
\cvskillentry*[<post-padding>]{<skill category>}{<0-5>}
@ -564,7 +561,6 @@ Takes a single optional argument for the post-padding width.
\end{lstlisting}
An optional asterisk toggles the inclusion of a dashed line.
\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}.
Skill level ranges from 0 to 5 with integer steps when using document class option \code{square}; or half-integer steps when using option \code{circle}.
How to make length adjustments to the skill matrix will be explained in section \ref{section:length:skillmatrix}.
@ -666,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.
@ -680,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.
@ -690,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.
@ -700,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.
@ -720,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}
@ -834,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}
@ -975,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}
@ -1108,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
@ -139,13 +139,13 @@
\newcommand*{\subsectionrule}{}
\if@fullrules%
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
\renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\hss\scriptsize.\hss}\hfill\kern0pt}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
\renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
\if@shortrules%
\renewcommand*{\sectionrule}{\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
\renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\hss\scriptsize.\hss}\hfill\kern0pt}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\if@mixedrules%
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
\renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\hss\scriptsize.\hss}\hfill\kern0pt}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\if@norules%
\renewcommand*{\sectionrule}{}
\renewcommand*{\subsectionrule}{}\fi
@ -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"
@ -219,7 +219,6 @@
\DeclareOption{moderncvbodyv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvtrue}
% If option `circle` is specified, use circles instead of small rectangles for rating skills
% This option also allows for half-filled circles
\@initializeif{\if@cvskillcircle}\@cvskillcirclefalse
\DeclareOption{circle}{\@cvskillcircletrue}
@ -233,77 +232,43 @@
\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
% %-------------------------------------------------------------------------------
% The code for the Skilllevel illustration with the little boxes (or circles).
% The code for the Skilllevel illustration with the little boxes.
% This is idea stolen from the limecv package, see https://github.com/opieters/limecv.git
\@initializelength{\cvSkill@ShapeSize}
\if@cvskillcircle%
\setlength{\cvSkill@ShapeSize}{.8ex}%
\newcommand*\cvSkill@FullCircle[1][\cvSkill@ShapeSize]{%
\tikz\filldraw[skillmatrixfullcolor] (0,0) circle (#1);%
}
\newcommand*\cvSkill@HalfCircle[1][\cvSkill@ShapeSize]{%
\tikz{%
\fill[skillmatrixfullcolor] (0,0) -- (90:#1) arc (90:270:#1) -- cycle;%
\fill[skillmatrixemptycolor] (0,0) -- (-90:#1) arc (-90:90:#1) -- cycle;%
}%
}
\newcommand*\cvSkill@EmptyCircle[1][\cvSkill@ShapeSize]{%
\tikz\filldraw[skillmatrixemptycolor] (0,0) circle (#1);%
}
\setlength{\cvSkill@ShapeSize}{.7ex}%
\def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) circle (\cvSkill@ShapeSize);}
\else
\setlength{\cvSkill@ShapeSize}{1.2ex}
\def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) rectangle (\cvSkill@ShapeSize, \cvSkill@ShapeSize);}
\fi
\newcount\my@repeat@count
\DeclareDocumentCommand{\cvskill}{m}{%
% Illustrate skill level with little colored boxes.
% By default five skill levels are predefined.
% Option "circle" replaces the boxes by circles
%
% Input:
% integer between 0 and 5
% Example usage:
% \cvskill{3} gives 3 filled boxes or circles and 2 empty
% \cvskill{3.5} gives 3 and a half filled circles and 1 and a half empty (only with option "circle")
\begingroup
\if@cvskillcircle%
\pgfmathtruncatemacro{\full}{floor(#1)}% number of full circles
\pgfmathparse{(#1-\full) > 0.01 ? 1 : 0}%
\let\half\pgfmathresult% number of half circles
\pgfmathtruncatemacro{\empty}{5-\full-\half}% number of empty circles
\ifnum\full>0%
\foreach \z in {1,...,\full}%
{\cvSkill@FullCircle\,}%
\fi%
\ifnum\pgfmathresult=1%
{\cvSkill@HalfCircle\,}%
\fi%
\ifnum\empty>0%
\foreach \z in {1,...,\empty}%
{\cvSkill@EmptyCircle\,}%
\fi%
\else
% Only full boxes
\newcount\my@repeat@count
\my@repeat@count=\z@
\@whilenum\my@repeat@count<#1\do{%
\cvSkill@Shape{skillmatrixfullcolor}%
\advance\my@repeat@count\@ne\,%
}%
\my@repeat@count=\numexpr5-\z@\relax
\@whilenum\my@repeat@count>#1\do{%
\cvSkill@Shape{skillmatrixemptycolor}%
\advance\my@repeat@count\m@ne\,%
}%
\fi
\endgroup
% \cvskill{3}
\begingroup
\my@repeat@count=\z@
\@whilenum\my@repeat@count<#1\do{\cvSkill@Shape{skillmatrixfullcolor}\advance%
\my@repeat@count\@ne\,}%
\my@repeat@count=\numexpr5-\z@\relax
\@whilenum\my@repeat@count>#1\do{\cvSkill@Shape{skillmatrixemptycolor}\advance%
\my@repeat@count\m@ne\,}%
\endgroup
}% end \cvskill
% %-------------------------------------------------------------------------------
@ -648,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 } \\%
@ -698,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 } \\
%
@ -818,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} \\%
@ -866,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}\\%
%
@ -1042,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

@ -6,7 +6,7 @@
% available at http://www.latex-project.org/lppl/.
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' (default) and '12pt'), paper size ('a4paper' (default), 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape'), font family ('sans' and 'roman'), draft state ('draft', 'final' (default)) and skill level symbol ('circle', 'square' (default))
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
\moderncvcolor{cerulean} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
% moderncv themes
@ -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}
@ -200,7 +200,7 @@ Detailed achievements:
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]
% \setcvskilllegendcolumns[0ex][0.46]% this is useful for the banking style
%% Add a legend if you are using \cvskill{<0-5>} command or \cvskillentry
%% Add a legend if you are using \cvskill{<1-5>} command or \cvskillentry
%% Usage \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
% \cvskilllegend % insert default legend without lines
\cvskilllegend*[1em]{}% adjust post spacing
@ -227,13 +227,9 @@ Detailed achievements:
\cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!}
\cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
%\cvskillentry{}{4.5}{AmigaOS}{20}{I've been developing games most of my life}% Half-integer skill level possible when using document class option 'circle' (default in contemporary style)
\cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years}
% \cvskill{<0-5>} command
\cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed outside the skill matrix by the \textbackslash{cvskill} command, e.g.
\cvskill{2}
%\cvskill{3.5} half-integer skill levels are possible only when using document class option 'circle' (default in contemporary style)
}
%% \cvskill{<0-5>} command
% \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}}
\section{Interests}
\cvitem{hobby 1}{Description}