Compare commits

..

12 commits

Author SHA1 Message Date
daniel
d4e882caf5
Upgrade fontawesome7 (#301)
* upgrade to fontawesome7

* [threema social] fix copy past error for the icon letter version

* adds upgrade to fontawesome7 to CHANGELOG
2026-07-14 20:34:40 +02:00
LLdaniel
da4118b07a
prepare new patch release v2.6.1 2026-06-24 18:05:42 +02:00
Alexander Edding
b724ef7f33
fix: Undefined control sequences with MiKTeX and LuaLaTeX/XeLaTeX (#302)
Address #296:
- Replace `fontawesome` shorthand commands with the `\faIcon` syntax.
2026-06-24 17:00:21 +02:00
Alexander Edding
47ff7f1c36
fix: Correct style option defaults (#300)
* fix: Correct the documented style option defaults

Partially address #299:
- Change the documented default from `nodetails` to `details` for the
  `classic`, `banking`, `oldstyle`, and `fancy` styles, to match the current
  implementation.

* fix: Set the `details` option explicitly as default in the banking style (#299)

* fix: Add missing options to the `contemporary` style

Address #299:
- Add the missing `details` and `nodetails` options.
- Set `details` and `separator` as explicit defaults using `\ExecuteOptions`.
- Add per-group comments for all option categories.

* docs: Add a summary of the PR changes to `CHANGELOG`
2026-06-21 12:50:13 +02:00
Alexander Edding
fa92810524
fix: Allow the customisation of the contemporary style (#298)
Address #297:
- Add the colour definitions required by generic header, body, and footer
  variants to `moderncvstylecontemporary.sty`, enabling style customisation via
  `\moderncvhead`, `\moderncvbody`, and `\moderncvfoot`.
- Update `CHANGELOG` with a summary of the changes and a reference to the
  issue they close.
2026-06-21 10:32:18 +02:00
LLdaniel
ad13d4bf6d
preparation for release 2.6.0: header comments, up to date userguide, CHANGELOG version 2026-06-19 22:56:32 +02:00
daniel
d98496dcb4
New Header option in contemporary style (separator) (#285)
* introduce a new contemporary option: (no)separator to hide/show the separator line after the colored header

* document new contemporary header option - separator in CHANGELOG and user guide
2026-06-19 22:34:02 +02:00
daniel
28cd99f528
Eliminate horizontal space for tikz icons (#276)
* adds trim right for tikz icons to eliminate horizontal space, removes tikz icons already available with fontawesome, use fontawesome googlescholar icon

* new approach to tackle tikz icon spacing issue: define tight bounding boxes, omit non-breakable space, make oldstyle more flexible regarding icons to prevent spacing issues
2026-06-19 22:26:43 +02:00
Daniel Gallagher
0d3fb55708
Fix tabular parser conflicts in banking style (Remove arydshln dependency) (#290)
* Fix #288, #289: Remove arydshln and fix tabular parser conflicts

- Removed arydshln dependency from moderncvskillmatrix.sty

- Replaced dashed rules with TikZ to avoid conflicts with banking style

- Fixed missing FontAwesome 6 icons (\faAsterisk, \faTiktok)

- Updated CHANGELOG and userguide

* Clean up commented arydshln code

* Revert faTiktok and faAsterisk updates
2026-06-19 22:19:24 +02:00
Alexander Edding
e65bc3ce72
docs: Correct additional link signatures in the documentation (#294)
Update the [User Guide], addressing #293:
- Add `httplink`, `httpslink`, and `emaillink` to the `emph` list.
- Replace incorrect signatures and an example with the relevant commands
  (`\httplink`, `\httpslink`, and `\emaillink`).
- Fix a grammatical error: "a email" to "an email".
- Update `CHANGELOG` with a summary of the changes and a reference to the issue
  they close.

[User Guide]:
  https://github.com/moderncv/moderncv/blob/master/manual/moderncv_userguide.pdf
2026-06-18 23:54:26 +02:00
Alexander Edding
017db17850
docs: Complete the color and style listings in the documentation (#292)
Update the [User Guide], addressing #291:
- Define the `cvcerulean` color in the preamble, following its definition in
  `moderncvcolors.sty`.
- Add `cerulean` and `contemporary` to the color and style table on page 3.
- Adjust the table width to accommodate for the additions, avoiding weird line
  breaks.
- Update `CHANGELOG` with a summary of the changes and a reference to the issue
  they close.

[User Guide]:
  https://github.com/moderncv/moderncv/blob/master/manual/moderncv_userguide.pdf
2026-06-18 23:38:02 +02:00
der-scheme
60f5c12448
Fix #286. (#287)
Fixes bug #286 by replacing the incorrect macro calls with the correct ones for the fontawesome6 package.
2026-06-12 16:19:46 +02:00
46 changed files with 215 additions and 452 deletions

View file

@ -1,13 +1,33 @@
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-01-31 v2.5.1 modern curriculum vitae and letter document class (moderncv)
%% moderncv_userguide.tex as shipped with 2026-06-24 v2.6.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.5.1}%
{\small Package v2.6.1}%
}
% Cristina Sambo,
\author{%
@ -18,7 +18,7 @@
moderncv community\\
{\small Documentation by David Seus}%
}
\date{2026-01-31}
\date{2026-06-24}
% 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
recipient, subject, opening, closing, signature, postscript, enclosure, makelettertitle, makeletterclosing, httplink, httpslink, emaillink
},
emphstyle={\color{cvblue}},
emph={[2]
@ -140,6 +140,7 @@
\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]}}}
@ -247,10 +248,9 @@ 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.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}
\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}
\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}, \code{nodetails} (default).
\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{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}, \code{nodetails} (default).
\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{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}, \code{nodetails} (default).
\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{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}, \code{nodetails} (default).
\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{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
Toggles between inclusion of icons or text-based abbreviations for personal data.
@ -716,7 +716,9 @@ 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.
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.
\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}
@ -828,12 +830,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{fontawesome6} 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{fontawesome7} 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/fontawesome6} \\[1ex]
\url{https://ctan.org/pkg/fontawesome7} \\[1ex]
\url{https://ctan.org/pkg/academicons}
\end{tabular}
@ -969,32 +971,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 a email address, use the following commands:
To create links to a website or an 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 HTTP prefix is generated automatically and is not needed in the link argument.
An HTTP link. The \texttt{http://} prefix is generated automatically and is not needed in the link argument.
\begin{lstlisting}
\link[<text>]{<link>}
\httplink[<text>]{<link>}
%% example
\link[goto HTTP site]{www.somehttpsite.org}
\httplink[goto HTTP site]{www.somehttpsite.org}
\end{lstlisting}
A HTTPS link. The HTTPS prefix is generated automatically and is not needed in the link argument.
A HTTPS link. The \texttt{https://} prefix is generated automatically and is not needed in the link argument.
\begin{lstlisting}
\link[<text>]{<link>}
\httpslink[<text>]{<link>}
%% example
\httpslink[goto HTTPS site]{www.somesecuresite.org}
\end{lstlisting}
An email link. The mailto prefix is generated automatically and is not needed in the link argument.
An email link. The \texttt{mailto:} prefix is generated automatically and is not needed in the link argument.
\begin{lstlisting}
\link[<text>]{<link>}
\emaillink[<text>]{<link>}
%% example
\emaillink[my email]{jdoe@website.org}
\end{lstlisting}
@ -1102,13 +1104,13 @@ In addition to the packages that \Moderncv provides, the following packages are
\item \code{expl3}
\item \code{tikz}
\item \code{changepage}
\item \code{fontawesome6}
\item \code{fontawesome7}
\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-01-31 v2.5.1 modern curriculum vitae and letter document class]
\ProvidesClass{moderncv}[2026-06-24 v2.6.1 modern curriculum vitae and letter document class]
%-------------------------------------------------------------------------------

View file

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

View file

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

View file

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

View file

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

View file

@ -11,7 +11,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyvi}[2026-01-31 v2.5.1 modern curriculum vitae and letter body variant: 6]
\ProvidesPackage{moderncvbodyvi}[2026-06-24 v2.6.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[\faBookmark]{Education}`
% E.g. `\section[\faIcon{bookmark}]{Education}`
\RenewDocumentCommand{\section}{sO{}m}{%
\tl@resetchain%
\par\addvspace{2.5ex}%

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadi}[2026-01-31 v2.5.1 modern curriculum vitae and letter header variant: 1]
\ProvidesPackage{moderncvheadi}[2026-06-24 v2.6.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-01-31 v2.5.1 modern curriculum vitae and letter header variant: 2]
\ProvidesPackage{moderncvheadii}[2026-06-24 v2.6.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-01-31 v2.5.1 modern curriculum vitae and letter header variant: 3]
\ProvidesPackage{moderncvheadiii}[2026-06-24 v2.6.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-01-31 v2.5.1 modern curriculum vitae and letter header variant: 4]
\ProvidesPackage{moderncvheadiv}[2026-06-24 v2.6.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{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
\makenewline\hbox to 1.0em{\hss\csname\collectionloopkey socialsymbol\endcsname\hss}~\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{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
\makenewline\hbox to 1.0em{\hss\csname\collectionloopkey socialsymbol\endcsname\hss}~\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-01-31 v2.5.1 modern curriculum vitae and letter header variant: 5]
\ProvidesPackage{moderncvheadv}[2026-06-24 v2.6.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-01-31 v2.5.1 modern curriculum vitae and letter header: 6]
\ProvidesPackage{moderncvheadvi}[2026-06-24 v2.6.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-01-31 v2.5.1 modern curriculum vitae and letter header variant: 7]
\ProvidesPackage{moderncvheadvii}[2026-06-24 v2.6.1 modern curriculum vitae and letter header variant: 7]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@ -29,8 +29,13 @@
\@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}
\ExecuteOptions{details,qr,left,separator}
\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
@ -148,10 +153,10 @@
% case with no photo: assure defined \@photoframewidth with 2pt
\ifthenelse{\isundefined{\@photo}}{\@initializelength{\@photoframewidth}\setlength{\@photoframewidth}{2pt}}{}%
\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);
\if@separator%
\path[draw,line width=\@photoframewidth, color=headhr!85!black]
(head-bg.south west) -- (head-bg.south east);
\fi%
\end{tikzpicture}%
\if@left%
\usebox{\makecvheadpicturebox}%

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsacademic}[2026-01-31 v2.5.1 modern curriculum vitae icons: academicons]
\ProvidesPackage{moderncviconsacademic}[2026-06-24 v2.6.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-01-31 v2.5.1 modern curriculum vitae icons: awesome]
\ProvidesPackage{moderncviconsawesome}[2026-06-24 v2.6.1 modern curriculum vitae icons: awesome]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% Font Awesome font
\RequirePackage{fontawesome6}
\RequirePackage{fontawesome7}
\RequirePackage{xcolor}
%-------------------------------------------------------------------------------
@ -61,49 +61,51 @@
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
%-------------------------------------------------------------------------------
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircle[regular]}} % alternative: \faCircle (solid style)
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faIcon[regular]{circle}}} % alternative: \faIcon{circle} (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\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*{\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*{\researcheridsocialsymbol} {}
%\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*{\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*{\matrixsocialsymbol} {}
% \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}~}
% 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}}~}
\endinput

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsletters}[2026-01-31 v2.5.1 modern curriculum vitae icons: letter]
\ProvidesPackage{moderncviconsletters}[2026-06-24 v2.6.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*{\simplexsocialsymbol} {\textbf{thr}~}
\renewcommand*{\threemasocialsymbol} {\textbf{thr}~}
\renewcommand*{\listitemsymbol} {\labelitemi~}

View file

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

View file

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

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconstikz}[2026-01-31 v2.5.1 modern curriculum vitae and letter icons: tickz]
\ProvidesPackage{moderncviconstikz}[2026-06-24 v2.6.1 modern curriculum vitae and letter icons: tickz]
%-------------------------------------------------------------------------------
@ -26,12 +26,6 @@
%-------------------------------------------------------------------------------
\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}
@ -42,309 +36,19 @@
% all symbols described in moderncv.cls
% only redefine symbols that are not defined at this level
%-------------------------------------------------------------------------------
\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
% this will act as a normalizer to mimic the same behavior as for fontaewesome icons
\DeclareRobustCommand{\@tikzsocialicon}[1]{%
\mbox{\raisebox{-0.12em}{#1}}%
}%
\ifdefempty{\matrixsocialsymbol} {
\renewcommand*{\matrixsocialsymbol} {
\protect\raisebox{-0.12em}{
\@tikzsocialicon{%
\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) ..
@ -384,14 +88,17 @@
(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} {
\protect\raisebox{-0.12em}{
\@tikzsocialicon{
\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) --
@ -404,14 +111,18 @@
-- cycle;
\protect\end{scope}
\protect\end{tikzpicture}}
~}
}
}{}\par
\ifdefempty{\simplexsocialsymbol} {
\renewcommand*{\simplexsocialsymbol} {
\protect\raisebox{-0.12em}{
\@tikzsocialicon{%
\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);
@ -423,14 +134,18 @@
(100,0) rectangle +(60,20);
\protect\end{scope}
\protect\end{tikzpicture}}
~}
}
}{}\par
\ifdefempty{\threemasocialsymbol} {
\renewcommand*{\threemasocialsymbol} {
\protect\raisebox{-0.12em}{
\@tikzsocialicon{%
\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)
@ -451,7 +166,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-01-31 v2.5.1 modern curriculum vitae and letter skill matrix]
\ProvidesPackage{moderncvskillmatrix}[2026-06-24 v2.6.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,12 +232,7 @@
\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
@ -613,9 +608,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}};{.6pt/1pt}%%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%%
p{2\skilllegend@padding}p{\cvskilllegend@leftdescriptorwidth}@{}@{\hspace{2\skillmatrix@padding}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
p{2\skilllegend@padding}%
p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& &{\skillLegend@FontSize #5 } \\%
@ -663,10 +658,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}};{.6pt/1pt}%
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
p{2\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
p{2\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\
%
@ -783,9 +778,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}};{.6pt/1pt}%%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%%
p{2\skilllegend@padding}p{\cvskilllegend@leftdescriptorwidth}@{}@{\hspace{2\skillmatrix@padding}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
p{2\skilllegend@padding}%
p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{4}& &{\skillLegend@FontSize #6} \\%
@ -831,10 +826,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}};{.6pt/1pt}%
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
p{2\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{\cvskill@width}@{\hspace{\skilllegend@padding}}!{\color{bodyrulecolor}\vrule width 0.6pt}%
p{2\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize#3} & \cvskill{4} & & {\skillLegend@FontSize#6}\\%
%
@ -1007,7 +1002,7 @@
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@experiencewidth} @{\hspace{\skillmatrix@padding}}%
p{\skillmatrix@commentwidth}@{}}%
\cdashline{2-5}[.6pt/1pt]
\noalign{\vspace{2pt}\noindent\tikz \draw[dashed, color=bodyrulecolor, line width=0.6pt] (0,0) -- (\linewidth,0);\vspace{2pt}}
\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-01-31 v2.5.1 modern curriculum vitae and letter style scheme: banking]
\ProvidesPackage{moderncvstylebanking}[2026-06-24 v2.6.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}
\ExecuteOptions{mixedrules,left,symbols,details}
\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-01-31 v2.5.1 modern curriculum vitae and letter style scheme: casual]
\ProvidesPackage{moderncvstylecasual}[2026-06-24 v2.6.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-01-31 v2.5.1 modern curriculum vitae and letter style scheme: classic]
\ProvidesPackage{moderncvstyleclassic}[2026-06-24 v2.6.1 modern curriculum vitae and letter style scheme: classic]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}

View file

@ -11,17 +11,24 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylecontemporary}[2026-01-31 v2.5.1 modern curriculum vitae and letter style scheme: contemporary]
\ProvidesPackage{moderncvstylecontemporary}[2026-06-24 v2.6.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}
\ExecuteOptions{left,qr,details,separator}
\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
%-------------------------------------------------------------------------------
@ -45,8 +52,23 @@
%-------------------------------------------------------------------------------
% Colors
%-------------------------------------------------------------------------------
% skillmatrix
% 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{skillmatrixfullcolor}{color1}
\colorlet{skillmatrixemptycolor}{color2!30}

View file

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

View file

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

View file

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

View file

@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvverticaltimeline}[2026-01-31 v2.5.1 modern curriculum vitae vertical timeline]
\ProvidesPackage{moderncvverticaltimeline}[2026-06-24 v2.6.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[\faGraduationCap]{Education}
\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faIcon{graduation-cap}]{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}