Compare commits

..

No commits in common. "master" and "v2.5.1" have entirely different histories.

50 changed files with 514 additions and 366 deletions

View file

@ -12,37 +12,24 @@ jobs:
name: Build template name: Build template
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: texlive/texlive:latest-full image: thomasweise/docker-texlive-full:latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Build pdf - name: Build pdf
run: | run: latexmk -pdflua ./template.tex
prev_style=contemporary
for style in casual classic banking oldstyle fancy contemporary
do
echo -e "\033[1;35mCompiling style $style...\033[0m"
# first cleanup, but keep .log files for later artifact upload
latexmk -c -e 'sub cleanup_generated { my $ext = $_[0]; return 0 if $ext eq "log"; return 1; }'
sed -i "s/moderncvstyle\[\]{${prev_style}}/moderncvstyle\[\]{${style}}/g" template.tex
latexmk -pdflua ./template.tex
mv template.pdf template_${style}.pdf
mv template.log template_${style}.log
# remember previous style
prev_style=$style
done
- name: Upload pdf - name: Upload pdf
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: template.pdf name: template.pdf
path: ./template_*.pdf path: ./template.pdf
- name: Upload log - name: Upload log
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: template.log name: template.log
path: ./template_*.log path: ./template.log

View file

@ -18,7 +18,7 @@ jobs:
UG_AUTHOR: Auto Userguide Creator UG_AUTHOR: Auto Userguide Creator
UG_COMMIT_MESSAGE: <automated> build of user guide UG_COMMIT_MESSAGE: <automated> build of user guide
container: container:
image: texlive/texlive:latest-full image: thomasweise/docker-texlive-full:latest
steps: steps:
- name: Checkout source code - name: Checkout source code
@ -49,8 +49,6 @@ jobs:
apt update && apt install git -y apt update && apt install git -y
git config --global user.name '${{ env.UG_AUTHOR }}' git config --global user.name '${{ env.UG_AUTHOR }}'
git config --global user.email '${{ github.actor }}@users.noreply.github.com' git config --global user.email '${{ github.actor }}@users.noreply.github.com'
# prevent error message due to mismatch in users: process in gh actions vs. owner of repo
git config --global --add safe.directory /__w/moderncv/moderncv
ls -l ls -l
git add manual/moderncv_userguide.pdf git add manual/moderncv_userguide.pdf
git commit -m "${{ env.UG_COMMIT_MESSAGE }}" git commit -m "${{ env.UG_COMMIT_MESSAGE }}"

View file

@ -1,31 +1,3 @@
version next
- 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)
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) version 2.5.1 (31 Jan 2026)
- Fix french babel breaking contemporary style (#219) - Fix french babel breaking contemporary style (#219)
- Fix birthdate not showing up in contemporary style (#244) - Fix birthdate not showing up in contemporary style (#244)
@ -44,10 +16,6 @@ version 2.5.1 (31 Jan 2026)
visible (#186) visible (#186)
- Fix minor horizontal spacing issue in 'contemporary' style header - Fix minor horizontal spacing issue in 'contemporary' style header
version 2.4.2 (01 Feb 2025)
- Added support for additional social icons like medium. (#264)
version 2.4.1 (18 Jul 2024) version 2.4.1 (18 Jul 2024)
- Fix commons/colors.tex not found in package (#194) - Fix commons/colors.tex not found in package (#194)

View file

@ -1,49 +0,0 @@
# Contributing to moderncv
First off, thanks for taking the time to contribute to *moderncv*! ❤️
All types of contributions are encouraged and valued.
In order to make the contribution experience easier for both maintainers and contributors, please read the below listed guidelines.
The *moderncv* community is looking forward to your contributions.
## Questions about moderncv
If there are questions about *moderncv* our `manual/moderncv_userguide.pdf` is a good starting point. Also our `template.tex` follows the approach to comment on options available in *moderncv*.
In case you are still left with question marks, feel free to raise an issue or join our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org) for a discussion.
## Reporting issues and suggesting enhancements
Bug reports and enhancement suggestions are welcome under our GitHub [issues section](https://github.com/moderncv/moderncv/issues). First have a look at the existing reports, maybe your issue is already addressed? In case you have additional information just add a comment to the existing reports. Otherwise create a new issue.
A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible and use the prepared templates.
- Make sure that you are using the latest version
- Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the documentation (see `manual/moderncv_userguide.pdf`)
- Collect information about the bug like how it can be triggered, which compiler and OS you are using and if you can provide a log file or a minimal example
- Can you reliably reproduce the issue? Give some instructions how to trigger the issue - as we all know, reproducing the error is half the fix already
After filing the issue, we will then take care of it as soon as possible.
## Making contributions
> ### Legal Notice
> When contributing to this project, you must agree that you have the necessary rights to the content and that the content you contribute may be provided under the project's LPPL-1.3c license (see `LICENSE.txt`).
The best way to add a contribution is to create your own fork of this project first. After creating a separate branch and pushing your changes, please open up a pull request for a review.
### Common practice
Please make sure that:
- your commits have a explanatory **commit message** what was changed in the source code
- your **branch name** contains a short hint to what is going to be changed
- you use a clear and descriptive **title** of the pull request
- you **explain shortly** what you intend to change with your pull request
### Moderncv specifics
Please make sure that the following requirements are met for your pull request:
- Document your changes in the `manual/moderncv_userguide.tex` if they changed the behavior of *moderncv* or introduced new features
- Write a small line in the `CHANGELOG` to keep track of changes and reference the issue, which will be solved with your pull request
In case you have the feeling that a more detailed discussion is needed for your pull request or you want to discuss your changes beforehand, just feel free to join our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org).
Inspired by [contributing.md](https://contributing.md/).

View file

@ -30,7 +30,6 @@ If you are using the [`academicons`](https://ctan.org/tex-archive/fonts/academic
As the main goal is to keep this package alive, it is maintained in a loosely structured team. As the main goal is to keep this package alive, it is maintained in a loosely structured team.
You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute. You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute.
Development takes place at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv). Development takes place at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv).
We are always happy if you want to contribute. Before you start, please make sure to read our guidelines in `CONTRIBUTING.md`.
## Licence ## Licence

Binary file not shown.

View file

@ -1,4 +1,4 @@
%% moderncv_userguide.tex as shipped with 2026-06-19 v2.6.0 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). %% 2021 David Seus (cryptointerest@posteo.de), 2021-2026 moderncv maintainers (github.com/moderncv).
% %
% This work may be distributed and/or modified under the % This work may be distributed and/or modified under the
@ -9,7 +9,7 @@
\title{% \title{%
\texttt{moderncv} User Guide\\ \texttt{moderncv} User Guide\\
{\small Package v2.6.0}% {\small Package v2.5.1}%
} }
% Cristina Sambo, % Cristina Sambo,
\author{% \author{%
@ -18,7 +18,7 @@
moderncv community\\ moderncv community\\
{\small Documentation by David Seus}% {\small Documentation by David Seus}%
} }
\date{2026-06-19} \date{2026-01-31}
% Language and encoding options % Language and encoding options
\usepackage[english]{babel} \usepackage[english]{babel}
@ -98,13 +98,13 @@
cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor, cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor,
cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers, cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers,
name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment, 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, enclosure
}, },
emphstyle={\color{cvblue}}, emphstyle={\color{cvblue}},
emph={[2] emph={[2]
familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel, familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel,
addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol, addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol,
xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol, mastodonsocialsymbol, codebergsocialsymbol, discordsocialsymbol, twitchsocialsymbol, youtubesocialsymbol, tiktoksocialsymbol, instagramsocialsymbol, soundcloudsocialsymbol, steamsocialsymbol, xboxsocialsymbol, playstationsocialsymbol, battlenetsocialsymbol, simplexsocialsymbol, threemasocialsymbol, xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol,
stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol, stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol,
researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol
}, },
@ -140,7 +140,6 @@
\definecolor{cvburgundy}{rgb}{0.596078, 0, 0} % burgundy: 139/255 (0.545098) or 152/255 (0.596078) \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{cvgrey}{rgb}{0.55, 0.55, 0.55}
\definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80} \definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80}
\definecolor{cvcerulean}{HTML}{0081a7}
% Macros % Macros
\newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}} \newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}}
@ -241,16 +240,17 @@ where at most one value for each option can be passed to the document class:
\end{tabular} \end{tabular}
\subsubsection*{Choosing a \texttt{moderncv} style and color} \subsubsection*{Choosing a \texttt{moderncv} style and color}
Choose a \Moderncv style and color by adjusting the commands (command order is important!): Choose a \Moderncv style and color by adjusting the commands
\begin{lstlisting} \begin{lstlisting}
\moderncvcolor{<color>}
\moderncvstyle{<style>} \moderncvstyle{<style>}
\moderncvcolor{<color>}
\end{lstlisting} \end{lstlisting}
As explained in \cvtemplate, the possible values are As explained in \cvtemplate, the possible values are
\begin{tabular}{r@{\hspace{2ex}}p{0.72\textwidth}} \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{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},
\textbf{\code{style}:} & \code{casual} (default), \code{classic}, \code{banking}, \code{oldstyle}, \code{fancy}, \code{contemporary} \code{fancy} \\
\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}
\end{tabular} \end{tabular}
\note Some of the styles take additional options to fine-tune their appearance. \note Some of the styles take additional options to fine-tune their appearance.
@ -329,9 +329,8 @@ A command for a social media account.
Takes the platform as an optional argument. Takes the platform as an optional argument.
\begin{lstlisting} \begin{lstlisting}
\social[<platform>]{<username or handle>} \social[<platform>]{<username or handle>}
\social[<platform>][<link to site>]{<Text shown in document>}
\end{lstlisting} \end{lstlisting}
The following values are supported for \code{<platform>} (see also \ref{icon:usage}): The following values are supported for \code{<platform>}:
\begin{itemize} \begin{itemize}
\begin{multicols}{4} \begin{multicols}{4}
\item \code{arxiv} \item \code{arxiv}
@ -348,7 +347,6 @@ The following values are supported for \code{<platform>} (see also \ref{icon:usa
\item \code{mastodon} \item \code{mastodon}
\item \code{matrix} \item \code{matrix}
\item \code{orcid} \item \code{orcid}
\item \code{medium}
\item \code{playstation} \item \code{playstation}
\item \code{researcherid} \item \code{researcherid}
\item \code{researchgate} \item \code{researchgate}
@ -603,30 +601,12 @@ An optional command to include your signature after the closing. This feature is
\signature{<scale>}{<signature filename>} \signature{<scale>}{<signature filename>}
\end{lstlisting} \end{lstlisting}
\paragraph{\code{\\postscript}}
An optional command to include a postscript in the letter, between the name and enclosure.
\begin{lstlisting}
\postscript{<postscript text>}
\end{lstlisting}
\paragraph{\code{\\enclosure}} \paragraph{\code{\\enclosure}}
A command to list the attached documents. The first optional parameter allows a redefinition of the default ``Enclosure'' label. A command to list the attached documents. The first optional parameter allows a redefinition of the default ``Enclosure'' label.
\begin{lstlisting} \begin{lstlisting}
\enclosure[<optional alternative label>]{<list of documents>} \enclosure[<optional alternative label>]{<list of documents>}
\end{lstlisting} \end{lstlisting}
\paragraph{\code{\\makelettertitle}}
A command to create the whole cover letter title before beginning with the letter's body.
\begin{lstlisting}
\makelettertitle
\end{lstlisting}
\paragraph{\code{\\makeletterclosing}}
A command to create the closing paragraph after the letter's body.
\begin{lstlisting}
\makeletterclosing
\end{lstlisting}
\note If typesetting the resume in Chinese using CJK an additional \code{\\clearpage} is required after the \code{\\makeletterclosing} command. This helps \code{fancyhdr} to work correctly with CJK. Otherwise it will remove the page numbering by making \code{lastpage} undefined. \note If typesetting the resume in Chinese using CJK an additional \code{\\clearpage} is required after the \code{\\makeletterclosing} command. This helps \code{fancyhdr} to work correctly with CJK. Otherwise it will remove the page numbering by making \code{lastpage} undefined.
\section{Customization} \section{Customization}
@ -662,7 +642,7 @@ This style allows the following options which \emph{only} affect header and foot
\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}} \begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}}
\textbf{\code{alignment}} & values: \code{left} (default), \code{right}. \textbf{\code{alignment}} & values: \code{left} (default), \code{right}.
Aligns the address block and the picture. \\ 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. \\ Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
Toggles between inclusion of icons or text-based abbreviations for personal data. Toggles between inclusion of icons or text-based abbreviations for personal data.
@ -676,7 +656,7 @@ This style allows the following options:
Aligns the entries in the style. \\ Aligns the entries in the style. \\
\textbf{\code{rule style}} & values: \code{fullrules}, \code{shortrules}, \code{mixedrules} (default), \code{norules}. \textbf{\code{rule style}} & values: \code{fullrules}, \code{shortrules}, \code{mixedrules} (default), \code{norules}.
Adjusts the rules used in the style. \\ 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. \\ Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
Toggles between inclusion of icons or text-based abbreviations for personal data. Toggles between inclusion of icons or text-based abbreviations for personal data.
@ -686,7 +666,7 @@ This style allows the following options:
This style allows the following options: This style allows the following options:
\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}} \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. \\ Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
Toggles between inclusion of icons or text-based abbreviations for personal data. Toggles between inclusion of icons or text-based abbreviations for personal data.
@ -696,7 +676,7 @@ This style allows the following options:
This style allows the following options: This style allows the following options:
\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}} \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. \\ Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
Toggles between inclusion of icons or text-based abbreviations for personal data. Toggles between inclusion of icons or text-based abbreviations for personal data.
@ -716,9 +696,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}. \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. \\ Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{qr}} & values: \code{qr} (default), \code{noqr}. \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} \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: \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} \begin{lstlisting}
@ -772,9 +750,17 @@ If an even finer control over the color scheme of the style is desired, the foll
\subsection{Modifying symbols and icons} \subsection{Modifying symbols and icons}
\subsubsection{Icons}\label{icon:usage} \subsubsection{Icons}
As stated in section \ref{section:customization:stylesAndOptions}, the use of icons is toggled by the \code{symbols} option that can be passed to \code{\\moderncvstyle}. As stated in section \ref{section:customization:stylesAndOptions}, the use of icons is toggled by the \code{symbols} option that can be passed to \code{\\moderncvstyle}.
The icons used in the display of the personal data (phone numbers, email, fax, social media accounts, etc.) can be customized by redefining the internal commands for the symbols:
\begin{lstlisting}
\renewcommand*{<\symbolcommand>}{{\small<\symbol>}~}
\end{lstlisting}
Using \code{\\small} is optional, but the default behavior is to render all icons using \code{\\small}.
Use \code{\\small} if one merely wishes to replace an icon/symbol while keeping the size consistent with the default icons/symbols.
The tilde ensures proper spacing after the symbols and is recommended as well.
Currently \Moderncv supports the following commands as \code{<\\symbolcommand>}: Currently \Moderncv supports the following commands as \code{<\\symbolcommand>}:
\begin{itemize} \begin{itemize}
\begin{multicols}{2} \begin{multicols}{2}
@ -784,76 +770,44 @@ Currently \Moderncv supports the following commands as \code{<\\symbolcommand>}:
\item \code{\\faxphonesymbol} \item \code{\\faxphonesymbol}
\item \code{\\emailsymbol} \item \code{\\emailsymbol}
\item \code{\\homepagesymbol} \item \code{\\homepagesymbol}
\item \code{\\bornsymbol}
\item \code{\\linkedinsocialsymbol} \item \code{\\linkedinsocialsymbol}
\item \code{\\xingsocialsymbol} \item \code{\\xingsocialsymbol}
\item \code{\\twittersocialsymbol} \item \code{\\twittersocialsymbol}
\item \code{\\mastodonsocialsymbol}
\item \code{\\githubsocialsymbol} \item \code{\\githubsocialsymbol}
\item \code{\\gitlabsocialsymbol} \item \code{\\gitlabsocialsymbol}
\item \code{\\stackoverflowsocialsymbol} \item \code{\\stackoverflowsocialsymbol}
\item \code{\\bitbucketsocialsymbol} \item \code{\\googlescholarsocialsymbol}
\item \code{\\skypesocialsymbol}
\item \code{\\orcidsocialsymbol}
\item \code{\\researchgatesocialsymbol}
\item \code{\\researcheridsocialsymbol}
\item \code{\\telegramsocialsymbol} \item \code{\\telegramsocialsymbol}
\item \code{\\whatsappsocialsymbol} \item \code{\\whatsappsocialsymbol}
\item \code{\\signalsocialsymbol} \item \code{\\signalsocialsymbol}
\item \code{\\matrixsocialsymbol} \item \code{\\matrixsocialsymbol}
\item \code{\\googlescholarsocialsymbol} \item \code{\\orcidsocialsymbol}
\item \code{\\codebergsocialsymbol} \item \code{\\researchgatesocialsymbol}
\item \code{\\discordsocialsymbol} \item \code{\\researcheridsocialsymbol}
\item \code{\\twitchsocialsymbol} \item \code{\\bitbucketsocialsymbol}
\item \code{\\youtubesocialsymbol} \item \code{\\skypesocialsymbol}
\item \code{\\tiktoksocialsymbol}
\item \code{\\instagramsocialsymbol}
\item \code{\\soundcloudsocialsymbol}
\item \code{\\steamsocialsymbol}
\item \code{\\xboxsocialsymbol}
\item \code{\\playstationsocialsymbol}
\item \code{\\battlenetsocialsymbol}
\item \code{\\mediumsocialsymbol}
\item \code{\\bornsymbol} \item \code{\\bornsymbol}
\item \code{\\arxivsocialsymbol} \item \code{\\arxivsocialsymbol}
\item \code{\\inspiresocialsymbol} \item \code{\\inspiresocialsymbol}
\item \code{\\simplexsocialsymbol}
\item \code{\\threemasocialsymbol}
\end{multicols} \end{multicols}
\end{itemize} \end{itemize}
The general usage is \code{\\social\[\<symbol\>\]\{\<url fragment of profile\>\}}. Usually only the profile dependent url fragment has to be used as the common url parts are already defined in \texttt{moderncv.cls}.
As an alternative the appearing link and string after the symbol can be customized when using the following command instead:
\begin{lstlisting}
\social[<symbol>][<custom url>]{<custom name>}
\end{lstlisting}
\paragraph{Note.}
The possible options for \code{<\\symbol>} depend on the package that is used. 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{fontawesome5} 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: Full lists of all available symbols and icons can be found in the documentation of each respective package:
\begin{tabular}{l} \begin{tabular}{l}
\url{https://ctan.org/pkg/marvosym} \\[1ex] \url{https://ctan.org/pkg/marvosym} \\[1ex]
\url{https://ctan.org/pkg/fontawesome6} \\[1ex] \url{https://ctan.org/pkg/fontawesome5} \\[1ex]
\url{https://ctan.org/pkg/academicons} \url{https://ctan.org/pkg/academicons}
\end{tabular} \end{tabular}
\paragraph{Redefinition.}The icons used in the display of the personal data (phone numbers, email, fax, social media accounts, etc.) can be customized by redefining the internal commands for the symbols:
\begin{lstlisting}
\renewcommand*{<\symbolcommand>}{{\small<\symbol>}~}
\end{lstlisting}
Using \code{\\small} is optional, but the default behavior is to render all icons using \code{\\small}.
Use \code{\\small} if one merely wishes to replace an icon/symbol while keeping the size consistent with the default icons/symbols.
The tilde ensures proper spacing after the symbols and is recommended as well.
\paragraph{Example.} \paragraph{Example.}
If one wanted to use the dingbat fonts to replace the default phone symbol, one should load the \code{pifont} package in the preamble and then substitute the default symbol with the dingbat symbol \ding{38}\ with If one wanted to use the dingbat fonts to replace the default phone symbol, one should load the \code{pifont} package in the preamble and then substitute the default symbol with the dingbat symbol \ding{38}\ with
\begin{lstlisting} \begin{lstlisting}
\renewcommand*{\fixedphonesymbol}{\ding{38}~} \renewcommand*{\fixedphonesymbol}{\ding{38}~}
\end{lstlisting} \end{lstlisting}
\paragraph{Alternative to icons.} \paragraph{Alternative to icons}
In case you do not want \texttt{symbols} (default) for the icons, there is also the option to replace icons with \texttt{letters} instead. This is set by the macro \code{\\moderncvicons}, which must be called after setting the style in the preamble. In case you do not want \texttt{symbols} (default) for the icons, there is also the option to replace icons with \texttt{letters} instead. This is set by the macro \code{\\moderncvicons}, which must be called after setting the style in the preamble.
\begin{lstlisting} \begin{lstlisting}
\moderncvicons{<symbols|letters>} \moderncvicons{<symbols|letters>}
@ -922,13 +876,7 @@ The width of the quote can be adjusted by setting \code{\\quotewidth}. Due to in
\subsubsection{Lengths in the skill matrix} \subsubsection{Lengths in the skill matrix}
\label{section:length:skillmatrix} \label{section:length:skillmatrix}
Both the width of the skill matrix legend and the width of the skill matrix columns can be adjusted. In general there are three measures available to change the width, which are: Both the width of the skill matrix legend and the width of the skill matrix columns can be adjusted.
\begin{itemize}
\item absolute values depending on the font like \code{5em}
\item factors in the range from $0$ to $1$
\item width measuring words and sentences like \code{\\widthof\{``Year''\}}
\end{itemize}
The width of the skill matrix legend can be adjusted as follows: The width of the skill matrix legend can be adjusted as follows:
\begin{lstlisting} \begin{lstlisting}
@ -953,25 +901,8 @@ The width of the skill matrix columns can be adjusted as follows:
\end{lstlisting} \end{lstlisting}
\code{<width>} and \code{<exp_width>} should be lengths smaller than \code{\\textwidth}, and \code{<factor>} must be between 0 and 1. \code{<width>} and \code{<exp_width>} should be lengths smaller than \code{\\textwidth}, and \code{<factor>} must be between 0 and 1.
\subsubsection{Additional example for column length adjustments}
The following code snippet illustrates an additional example of length adjustments and tries to explain the effects for the different columns.
Adjusting one column affects the other ones as the total width of the skill matrix stays the same.
\begin{lstlisting}
% narrow the "skill" column (at the same time giving more space to the comment column)
% reading like: being 25\% of the default column space
\setcvskillcolumns[][0.25][]
% decrease the size of "years" giving more space to "skills"
\setcvskillcolumns[][][0.05\textwidth]
% combining the above will help to increase the "comment" column.
% Thinking of it like save space for "years" and "skills"
% in favor of the "comment"
\setcvskillcolumns[][0.25][0.05\textwidth]
\end{lstlisting}
\subsection{Additional link commands}%% adapted from Cristina Sambo's documentation \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} \begin{lstlisting}
@ -980,23 +911,23 @@ A general weblink with optional text.
\link[name of the link]{ftp://ftp.somesite.org} \link[name of the link]{ftp://ftp.somesite.org}
\end{lstlisting} \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} \begin{lstlisting}
\httplink[<text>]{<link>} \link[<text>]{<link>}
%% example %% example
\httplink[goto HTTP site]{www.somehttpsite.org} \link[goto HTTP site]{www.somehttpsite.org}
\end{lstlisting} \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} \begin{lstlisting}
\httpslink[<text>]{<link>} \link[<text>]{<link>}
%% example %% example
\httpslink[goto HTTPS site]{www.somesecuresite.org} \httpslink[goto HTTPS site]{www.somesecuresite.org}
\end{lstlisting} \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} \begin{lstlisting}
\emaillink[<text>]{<link>} \link[<text>]{<link>}
%% example %% example
\emaillink[my email]{jdoe@website.org} \emaillink[my email]{jdoe@website.org}
\end{lstlisting} \end{lstlisting}
@ -1104,13 +1035,13 @@ In addition to the packages that \Moderncv provides, the following packages are
\item \code{expl3} \item \code{expl3}
\item \code{tikz} \item \code{tikz}
\item \code{changepage} \item \code{changepage}
\item \code{fontawesome6} \item \code{fontawesome5}
\item \code{academicons} \item \code{academicons}
\item \code{tgpagella} \item \code{tgpagella}
\item \code{ebgaramond} \item \code{ebgaramond}
\item \code{kurier} \item \code{kurier}
\item \code{multirow} \item \code{multirow}
\item \code{arydshln}
\end{multicols} \end{multicols}
\end{itemize} \end{itemize}

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesClass{moderncv}[2026-06-19 v2.6.0 modern curriculum vitae and letter document class] \ProvidesClass{moderncv}[2026-01-31 v2.5.1 modern curriculum vitae and letter document class]
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
@ -328,7 +328,6 @@
\ifthenelse{\equal{#1}{inspire}} {\collectionadd[inspire]{socials} {\protect\httpslink[#3]{inspirehep.net/authors/#3}}} {}% \ifthenelse{\equal{#1}{inspire}} {\collectionadd[inspire]{socials} {\protect\httpslink[#3]{inspirehep.net/authors/#3}}} {}%
\ifthenelse{\equal{#1}{simplex}} {\collectionadd[simplex]{socials} {\protect\httpslink[#3]{simplex.chat/#3}}} {}% \ifthenelse{\equal{#1}{simplex}} {\collectionadd[simplex]{socials} {\protect\httpslink[#3]{simplex.chat/#3}}} {}%
\ifthenelse{\equal{#1}{threema}} {\collectionadd[threema]{socials} {\protect\httpslink[#3]{threema.id/#3}}} {}% \ifthenelse{\equal{#1}{threema}} {\collectionadd[threema]{socials} {\protect\httpslink[#3]{threema.id/#3}}} {}%
\ifthenelse{\equal{#1}{medium}} {\collectionadd[medium]{socials} {\protect\httpslink[#3]{medium.com/#3}}} {}%
} }
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}% {\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
@ -398,10 +397,6 @@
\newcommand*{\inspiresocialsymbol} {} \newcommand*{\inspiresocialsymbol} {}
\newcommand*{\simplexsocialsymbol} {} \newcommand*{\simplexsocialsymbol} {}
\newcommand*{\threemasocialsymbol} {} \newcommand*{\threemasocialsymbol} {}
\newcommand*{\mediumsocialsymbol} {}
% other % other
%------ %------
@ -813,7 +808,6 @@
\newcommand*{\opening}[1]{\def\@opening{#1}} \newcommand*{\opening}[1]{\def\@opening{#1}}
\newcommand*{\closing}[1]{\def\@closing{#1}} \newcommand*{\closing}[1]{\def\@closing{#1}}
\newcommand*{\signature}[2]{\def\@signature{\includegraphics[scale=#1]{#2}}} \newcommand*{\signature}[2]{\def\@signature{\includegraphics[scale=#1]{#2}}}
\newcommand*{\postscript}[1]{\def\@postscript{#1}}
\newcommand*{\enclosure}[2][]{% \newcommand*{\enclosure}[2][]{%
% if an optional argument is provided, use it to redefine \enclname % if an optional argument is provided, use it to redefine \enclname
\ifthenelse{\equal{#1}{}}{}{\renewcommand*{\enclname}{#1}}% \ifthenelse{\equal{#1}{}}{}{\renewcommand*{\enclname}{#1}}%

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyi}[2026-06-19 v2.6.0 modern curriculum vitae and letter body variant: 1] \ProvidesPackage{moderncvbodyi}[2026-01-31 v2.5.1 modern curriculum vitae and letter body variant: 1]
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
@ -184,7 +184,6 @@
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}} \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}% {\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@postscript}}{}{\\[2em]{PS: \@postscript}}%
\ifthenelse{\isundefined{\@enclosure}}{}{% \ifthenelse{\isundefined{\@enclosure}}{}{%
\\% \\%
\vfil% \vfil%

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyiii}[2026-06-19 v2.6.0 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" % rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializeif{\if@fullrules}\@fullrulesfalse \@initializeif{\if@fullrules}\@fullrulesfalse
@ -248,7 +248,6 @@
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}} \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}% {\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@postscript}}{}{\\[2em]{PS: \@postscript}}%
\ifthenelse{\isundefined{\@enclosure}}{}{% \ifthenelse{\isundefined{\@enclosure}}{}{%
\\% \\%
\vfil% \vfil%

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyiv}[2026-06-19 v2.6.0 modern curriculum vitae and letter body variant: 4] \ProvidesPackage{moderncvbodyiv}[2026-01-31 v2.5.1 modern curriculum vitae and letter body variant: 4]
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
@ -188,7 +188,6 @@
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}} \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}% {\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@postscript}}{}{\\[2em]{PS: \@postscript}}%
\ifthenelse{\isundefined{\@enclosure}}{}{% \ifthenelse{\isundefined{\@enclosure}}{}{%
\\% \\%
\vfil% \vfil%

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyv}[2026-06-19 v2.6.0 modern curriculum vitae and letter body variant: 5] \ProvidesPackage{moderncvbodyv}[2026-01-31 v2.5.1 modern curriculum vitae and letter body variant: 5]
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
@ -225,7 +225,6 @@
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}} \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries \@firstname~\@lastname}% {\bfseries \@firstname~\@lastname}%
\ifthenelse{\isundefined{\@postscript}}{}{\\[2em]{PS: \@postscript}}%
\ifthenelse{\isundefined{\@enclosure}}{}{% \ifthenelse{\isundefined{\@enclosure}}{}{%
\\% \\%
\vfill% \vfill%

View file

@ -11,7 +11,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvbodyvi}[2026-06-19 v2.6.0 modern curriculum vitae and letter body variant: 6] \ProvidesPackage{moderncvbodyvi}[2026-01-31 v2.5.1 modern curriculum vitae and letter body variant: 6]
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
@ -190,7 +190,6 @@
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}} \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}% {\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@postscript}}{}{\\[2em]{PS: \@postscript}}%
\ifthenelse{\isundefined{\@enclosure}}{}{% \ifthenelse{\isundefined{\@enclosure}}{}{%
\\% \\%
\vfil% \vfil%

View file

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

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorblack}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorblue}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorburgundy}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorcerulean}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorgreen}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorgrey}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolororange}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorpurple}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorred}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolors}[2026-06-19 v2.6.0 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 % built-in colors

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcompatibility}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvdebugtools}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvfooti}[2026-06-19 v2.6.0 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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadi}[2026-06-19 v2.6.0 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" % details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse \@initializeif{\if@details}\@detailsfalse

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadii}[2026-06-19 v2.6.0 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) % details options: "details" or "nodetails" (default)
\@initializeif{\if@details}\@detailsfalse \@initializeif{\if@details}\@detailsfalse

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadiii}[2026-06-19 v2.6.0 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" % details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse \@initializeif{\if@details}\@detailsfalse

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadiv}[2026-06-19 v2.6.0 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" % details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse \@initializeif{\if@details}\@detailsfalse
@ -116,7 +116,7 @@
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \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} \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi}
@ -165,7 +165,7 @@
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \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}}}% \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
% ensure no extra spacing after \makelettertitle due to a possible blank line % ensure no extra spacing after \makelettertitle due to a possible blank line
%\ignorespacesafterend% not working %\ignorespacesafterend% not working

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadv}[2026-06-19 v2.6.0 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" % details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse \@initializeif{\if@details}\@detailsfalse

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadvi}[2026-06-19 v2.6.0 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" % details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse \@initializeif{\if@details}\@detailsfalse

View file

@ -11,7 +11,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadvii}[2026-06-19 v2.6.0 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" % details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse \@initializeif{\if@details}\@detailsfalse
@ -29,13 +29,8 @@
\@initializeif{\if@right}\@rightfalse \@initializeif{\if@right}\@rightfalse
\DeclareOption{right} {\@leftfalse\@righttrue} \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 \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 \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 % case with no photo: assure defined \@photoframewidth with 2pt
\ifthenelse{\isundefined{\@photo}}{\@initializelength{\@photoframewidth}\setlength{\@photoframewidth}{2pt}}{}% \ifthenelse{\isundefined{\@photo}}{\@initializelength{\@photoframewidth}\setlength{\@photoframewidth}{2pt}}{}%
\if@separator% \path[draw,line width=\@photoframewidth]
\path[draw,line width=\@photoframewidth, color=headhr!85!black] (head-bg.south west) edge[color=headhr!85!black] ([xshift=8em]head-bg.south west)
(head-bg.south west) -- (head-bg.south east); ([xshift=8em]head-bg.south west) edge[color=headhr] ([xshift=-8em]head-bg.south east)
\fi% ([xshift=-8em]head-bg.south east) edge[color=headhr!85!black] (head-bg.south east);
\end{tikzpicture}% \end{tikzpicture}%
\if@left% \if@left%
\usebox{\makecvheadpicturebox}% \usebox{\makecvheadpicturebox}%
@ -199,7 +194,6 @@
\addressfont\color{headtext}% \addressfont\color{headtext}%
\if@left\begin{tabular}[b]{@{}r@{}}\fi% \if@left\begin{tabular}[b]{@{}r@{}}\fi%
\if@right\begin{tabular}[b]{@{}l@{}}\fi% \if@right\begin{tabular}[b]{@{}l@{}}\fi%
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsacademic}[2026-06-19 v2.6.0 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{orcid}{named}{default-socialicon-color}
\providecolor{researchgate}{named}{default-socialicon-color} \providecolor{researchgate}{named}{default-socialicon-color}
\providecolor{researcherid}{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{arxiv}{named}{default-socialicon-color}
\providecolor{inspire}{named}{default-socialicon-color} \providecolor{inspire}{named}{default-socialicon-color}
@ -54,7 +54,7 @@
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}~} \renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}~}
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}~} % alternative: \aiResearchGate \renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}~} % alternative: \aiResearchGate
\renewcommand*{\researcheridsocialsymbol} {{\color{researcherid}\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID \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*{\telegramsocialsymbol} {}
%\newcommand*{\whatsappsocialsymbol} {} %\newcommand*{\whatsappsocialsymbol} {}
%\newcommand*{\matrixsocialsymbol} {} %\newcommand*{\matrixsocialsymbol} {}

View file

@ -10,13 +10,13 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsawesome}[2026-06-19 v2.6.0 modern curriculum vitae icons: awesome] \ProvidesPackage{moderncviconsawesome}[2026-01-31 v2.5.1 modern curriculum vitae icons: awesome]
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
% required packages % required packages
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
% Font Awesome font % Font Awesome font
\RequirePackage{fontawesome6} \RequirePackage{fontawesome5}
\RequirePackage{xcolor} \RequirePackage{xcolor}
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
@ -55,8 +55,6 @@
\providecolor{playstation}{named}{default-socialicon-color} \providecolor{playstation}{named}{default-socialicon-color}
\providecolor{battlenet}{named}{default-socialicon-color} \providecolor{battlenet}{named}{default-socialicon-color}
\providecolor{born}{named}{default-socialicon-color} \providecolor{born}{named}{default-socialicon-color}
\providecolor{signal}{named}{default-socialicon-color}
\providecolor{medium}{named}{default-socialicon-color}
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
% all symbols described in moderncv.cls % all symbols described in moderncv.cls
@ -68,16 +66,16 @@
%\renewcommand*{\addresssymbol} {} %\renewcommand*{\addresssymbol} {}
\renewcommand*{\mobilephonesymbol} {{\color{mobilephone}\small\faMobileScreen}~} % alternative: \faMobile (solid style) \renewcommand*{\mobilephonesymbol} {{\color{mobilephone}\small\faMobile*}~} % alternative: \faMobile (solid style)
\renewcommand*{\fixedphonesymbol} {{\color{fixedphone}\small\faPhone}~} % alternative: \faPhoneFlip (reversed) \renewcommand*{\fixedphonesymbol} {{\color{fixedphone}\small\faPhone*}~} % alternative: \faPhone (reversed)
\renewcommand*{\faxphonesymbol} {{\color{faxphone}\small\faFax}~} % alternative: \faPrint \renewcommand*{\faxphonesymbol} {{\color{faxphone}\small\faFax}~} % alternative: \faPrint
\renewcommand*{\emailsymbol} {{\color{email}\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style) \renewcommand*{\emailsymbol} {{\color{email}\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style)
\renewcommand*{\homepagesymbol} {{\color{homepage}\small\faEarthAmericas}~} % alternative: \faHouse, \faHouseChimney, \faGlobe, \faEarthEurope, \faEarthAfrica, \faEarthAsia, \faEarthOceania \renewcommand*{\homepagesymbol} {{\color{homepage}\small\faGlobeAmericas}~} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia
\renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}~} % alternative: \faLinkedin \renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}~} % alternative: \faLinkedin
\renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}~} % alternative: \faSquareXing \renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}~} % alternative: \faXingSquare
\renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}~} % alternative: \faSquareTwitter, \faXTwitter, \faSquareXTwitter \renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}~} % alternative: \faTwitterSquare
\renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}~} \renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}~}
\renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}~} % alternative: \faSquareGithub, \faGithubAlt \renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}~} % alternative: \faGithubSquare, \faGithub*
\renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}~} \renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}~}
\renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}~} \renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}~}
\renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}~} \renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}~}
@ -85,7 +83,7 @@
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}~} \renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}~}
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}~} \renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}~}
%\renewcommand*{\researcheridsocialsymbol} {} %\renewcommand*{\researcheridsocialsymbol} {}
\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\small\faGoogleScholar}~} %\renewcommand*{\googlescholarsocialsymbol}{}
\renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}~} \renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}~}
\renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}~} \renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}~}
\renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}~} \renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}~}
@ -98,13 +96,11 @@
\renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}~} \renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}~}
\renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}~} \renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}~}
\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~} \renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~}
\renewcommand*{\signalsocialsymbol} {{\color{signal}\small\faSignalMessenger}~} %\renewcommand*{\signalsocialsymbol} {}
%\renewcommand*{\matrixsocialsymbol} {} %\renewcommand*{\matrixsocialsymbol} {}
% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~} % \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~}
% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~} % \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~}
\renewcommand*{\bornsymbol} {{\color{born}\raisebox{.5ex}{\tiny\faAsterisk}}~} % alternative: \faBabyCarriage \renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}~} % alternative: \faBabyCarriage
\renewcommand*{\mediumsocialsymbol} {{\color{medium}\small\faMedium}~}
\endinput \endinput

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsletters}[2026-06-19 v2.6.0 modern curriculum vitae icons: letter] \ProvidesPackage{moderncviconsletters}[2026-01-31 v2.5.1 modern curriculum vitae icons: letter]
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
% symbols definition % symbols definition
@ -38,7 +38,6 @@
\renewcommand*{\bitbucketsocialsymbol} {\textbf{bb}~} \renewcommand*{\bitbucketsocialsymbol} {\textbf{bb}~}
\renewcommand*{\skypesocialsymbol} {\textbf{sk}~} \renewcommand*{\skypesocialsymbol} {\textbf{sk}~}
\renewcommand*{\orcidsocialsymbol} {\textbf{orcid}~} \renewcommand*{\orcidsocialsymbol} {\textbf{orcid}~}
\renewcommand*{\mediumsocialsymbol} {\textbf{Me}~}
\renewcommand*{\researchgatesocialsymbol} {\textbf{rg}~} \renewcommand*{\researchgatesocialsymbol} {\textbf{rg}~}
\renewcommand*{\researcheridsocialsymbol} {\textbf{ri}~} \renewcommand*{\researcheridsocialsymbol} {\textbf{ri}~}
\renewcommand*{\telegramsocialsymbol} {\textbf{tg}~} \renewcommand*{\telegramsocialsymbol} {\textbf{tg}~}

View file

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

View file

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

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconstikz}[2026-06-19 v2.6.0 modern curriculum vitae and letter icons: tickz] \ProvidesPackage{moderncviconstikz}[2026-01-31 v2.5.1 modern curriculum vitae and letter icons: tickz]
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
@ -26,7 +26,14 @@
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\usepackage{moderncvcolors} \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{matrix}{named}{default-socialicon-color}
\providecolor{signal}{named}{default-socialicon-color}
\providecolor{codeberg}{named}{default-socialicon-color} \providecolor{codeberg}{named}{default-socialicon-color}
\providecolor{simplex}{named}{default-socialicon-color} \providecolor{simplex}{named}{default-socialicon-color}
\providecolor{threema}{named}{default-socialicon-color} \providecolor{threema}{named}{default-socialicon-color}
@ -36,19 +43,309 @@
% all symbols described in moderncv.cls % all symbols described in moderncv.cls
% only redefine symbols that are not defined at this level % 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 \ifdefempty{\linkedinsocialsymbol} {
\DeclareRobustCommand{\@tikzsocialicon}[1]{% \renewcommand*{\linkedinsocialsymbol} {
\mbox{\raisebox{-0.12em}{#1}}% \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} { \ifdefempty{\matrixsocialsymbol} {
\renewcommand*{\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{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)}] \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] \protect\path[fill=matrix]
(0.9360,0.7320) .. controls (0.9360,10.9053) and (0.9360,21.0787) .. (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) .. (0.9360,31.2520) .. controls (1.6673,31.2520) and (2.3987,31.2520) ..
@ -88,17 +385,84 @@
(29.2278,31.2454) and (29.6629,31.2462) .. (30.0980,31.2470) -- cycle; (29.2278,31.2454) and (29.6629,31.2462) .. (30.0980,31.2470) -- cycle;
\protect\end{scope} \protect\end{scope}
\protect\end{tikzpicture}} \protect\end{tikzpicture}}
} ~}
}{}\par
\ifdefempty{\signalsocialsymbol} {
\renewcommand*{\signalsocialsymbol} {
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=0.1pt, x=0.1pt, yscale=-0.13, xscale=0.13, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
\protect\path[fill=signal]
(430.1000,180.9000) -- (437.8000,211.9000) .. controls (407.6000,219.3000)
and (378.7000,231.3000) .. (352.1000,247.3000) -- (335.7000,220.0000) ..
controls (365.0000,202.3000) and (396.9000,189.1000) .. (430.1000,180.9000) --
cycle(593.9000,180.9000) -- (586.2000,211.9000) .. controls
(616.4000,219.3000) and (645.3000,231.3000) .. (671.9000,247.3000) --
(688.4000,219.9000) .. controls (659.0000,202.3000) and (627.2000,189.1000) ..
(593.9000,180.9000) -- cycle(220.0000,335.7000) .. controls
(202.3000,365.0000) and (189.1000,396.9000) .. (180.9000,430.1000) --
(211.9000,437.8000) .. controls (219.3000,407.6000) and (231.3000,378.7000) ..
(247.3000,352.1000) -- cycle(202.9000,512.0000) .. controls
(202.9000,496.5000) and (204.0000,481.0000) .. (206.4000,465.7000) --
(174.8000,460.9000) .. controls (169.7000,494.8000) and (169.7000,529.2000) ..
(174.8000,563.1000) -- (206.4000,558.3000) .. controls (204.1000,543.0000) and
(202.9000,527.5000) .. (202.9000,512.0000) -- cycle(688.3000,804.0000) --
(671.9000,776.6000) .. controls (645.3000,792.7000) and (616.5000,804.6000) ..
(586.3000,812.0000) -- (594.0000,843.0000) .. controls (627.2000,834.8000) and
(659.0000,821.7000) .. (688.3000,804.0000) -- cycle(821.1000,512.0000) ..
controls (821.1000,527.5000) and (820.0000,543.0000) .. (817.6000,558.3000) --
(849.2000,563.1000) .. controls (854.3000,529.2000) and (854.3000,494.8000) ..
(849.2000,460.9000) -- (817.6000,465.7000) .. controls (819.9000,481.0000) and
(821.1000,496.5000) .. (821.1000,512.0000) -- cycle(843.1000,593.8000) --
(812.1000,586.1000) .. controls (804.7000,616.3000) and (792.7000,645.2000) ..
(776.7000,671.8000) -- (804.1000,688.3000) .. controls (821.7000,659.0000) and
(834.9000,627.1000) .. (843.1000,593.8000) -- cycle(558.3000,817.6000) ..
controls (527.6000,822.2000) and (496.4000,822.2000) .. (465.7000,817.6000) --
(460.9000,849.2000) .. controls (494.8000,854.3000) and (529.2000,854.3000) ..
(563.1000,849.2000) -- cycle(760.8000,695.3000) .. controls
(742.4000,720.3000) and (720.3000,742.3000) .. (695.3000,760.7000) --
(714.3000,786.4000) .. controls (741.9000,766.1000) and (766.2000,741.9000) ..
(786.6000,714.4000) -- cycle(695.3000,263.2000) .. controls
(720.3000,281.6000) and (742.4000,303.7000) .. (760.8000,328.7000) --
(786.5000,309.5000) .. controls (766.2000,282.0000) and (741.9000,257.7000) ..
(714.5000,237.5000) -- cycle(263.2000,328.7000) .. controls
(281.6000,303.7000) and (303.7000,281.6000) .. (328.7000,263.2000) --
(309.5000,237.5000) .. controls (282.0000,257.8000) and (257.7000,282.1000) ..
(237.5000,309.5000) -- cycle(804.0000,335.7000) -- (776.6000,352.1000) ..
controls (792.7000,378.7000) and (804.6000,407.5000) .. (812.0000,437.7000) --
(843.0000,430.0000) .. controls (834.9000,396.8000) and (821.7000,365.0000) ..
(804.0000,335.7000) -- cycle(465.7000,206.4000) .. controls
(496.4000,201.8000) and (527.6000,201.8000) .. (558.3000,206.4000) --
(563.1000,174.8000) .. controls (529.2000,169.7000) and (494.8000,169.7000) ..
(460.9000,174.8000) -- cycle(279.6000,795.0000) -- (213.6000,810.4000) --
(229.0000,744.4000) -- (197.9000,737.1000) -- (182.5000,803.1000) .. controls
(180.0000,813.9000) and (183.2000,825.2000) .. (191.0000,833.0000) .. controls
(198.8000,840.8000) and (210.1000,844.0000) .. (220.9000,841.5000) --
(286.9000,826.4000) -- cycle(204.5000,708.5000) -- (235.6000,715.7000) --
(246.3000,669.9000) .. controls (230.8000,643.8000) and (219.2000,615.5000) ..
(211.9000,586.0000) -- (180.9000,593.7000) .. controls (187.9000,622.0000) and
(198.4000,649.2000) .. (212.3000,674.7000) -- cycle(353.7000,777.8000) --
(308.0000,788.5000) -- (315.2000,819.6000) -- (348.9000,811.8000) .. controls
(374.5000,825.7000) and (401.7000,836.3000) .. (430.0000,843.2000) --
(437.7000,812.2000) .. controls (408.3000,804.9000) and (380.1000,793.2000) ..
(354.0000,777.6000) -- cycle(512.0000,234.9000) .. controls
(411.2000,235.0000) and (318.3000,289.8000) .. (269.6000,378.0000) .. controls
(220.9000,466.2000) and (223.9000,574.0000) .. (277.6000,659.4000) --
(251.0000,773.1000) -- (364.7000,746.5000) .. controls (464.4000,809.3000) and
(592.9000,802.2000) .. (685.1000,728.8000) .. controls (777.3000,655.4000) and
(812.9000,531.7000) .. (774.0000,420.5000) .. controls (734.8000,309.2000) and
(629.8000,234.8000) .. (512.0000,234.9000) -- cycle;
\protect\end{scope}
\protect\end{tikzpicture}}
~}
}{}\par }{}\par
\ifdefempty{\codebergsocialsymbol} { \ifdefempty{\codebergsocialsymbol} {
\renewcommand*{\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{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)}] \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] \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) -- (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) -- (11258.5852,-1839.4433)arc(66.699:32.084:23.067) --
@ -111,18 +475,14 @@
-- cycle; -- cycle;
\protect\end{scope} \protect\end{scope}
\protect\end{tikzpicture}} \protect\end{tikzpicture}}
} ~}
}{}\par }{}\par
\ifdefempty{\simplexsocialsymbol} { \ifdefempty{\simplexsocialsymbol} {
\renewcommand*{\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{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] \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] \protect\path[fill=simplex!80, scale=0.065]
(0,0) rectangle +(100,20) (0,0) rectangle +(100,20)
(40,-60) rectangle +(20,120); (40,-60) rectangle +(20,120);
@ -134,18 +494,14 @@
(100,0) rectangle +(60,20); (100,0) rectangle +(60,20);
\protect\end{scope} \protect\end{scope}
\protect\end{tikzpicture}} \protect\end{tikzpicture}}
} ~}
}{}\par }{}\par
\ifdefempty{\threemasocialsymbol} { \ifdefempty{\threemasocialsymbol} {
\renewcommand*{\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{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)}] \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] \protect\path[fill=threema, scale=0.015]
% speech bubble % speech bubble
(137,25) ellipse (400 and 350) (137,25) ellipse (400 and 350)
@ -166,7 +522,7 @@
(390,553) circle (68); (390,553) circle (68);
\protect\end{scope} \protect\end{scope}
\protect\end{tikzpicture}} \protect\end{tikzpicture}}
} ~}
}{}\par }{}\par
\endinput \endinput

View file

@ -203,7 +203,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvskillmatrix}[2026-06-19 v2.6.0 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. % 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" % body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
@ -232,7 +232,12 @@
\RequirePackage{tikz} \RequirePackage{tikz}
\usetikzlibrary{babel} \usetikzlibrary{babel}
\RequirePackage{multirow} \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 % % \cvskill command
@ -608,9 +613,9 @@
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}% \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
@{\hspace{\separatorcolumnwidth}}% @{\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{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{2\skilllegend@padding}%
p{\cvskilllegend@rightdescriptorwidth}@{}}% p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& &{\skillLegend@FontSize #5 } \\% \raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& &{\skillLegend@FontSize #5 } \\%
@ -658,10 +663,10 @@
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
\arrayrulecolor{bodyrulecolor} \arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth} \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{2\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{\skillmatrix@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}@{}}% p{2\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\ \raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\
% %
@ -778,9 +783,9 @@
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}% \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
@{\hspace{\separatorcolumnwidth}}% @{\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{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{2\skilllegend@padding}%
p{\cvskilllegend@rightdescriptorwidth}@{}}% p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{4}& &{\skillLegend@FontSize #6} \\% \raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{4}& &{\skillLegend@FontSize #6} \\%
@ -826,10 +831,10 @@
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}% \setlength{\cvskilllegend@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}% \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth} \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{2\skilllegend@padding}%
p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@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}@{}}% p{2\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}%
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize#3} & \cvskill{4} & & {\skillLegend@FontSize#6}\\% \raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize#3} & \cvskill{4} & & {\skillLegend@FontSize#6}\\%
% %
@ -1002,7 +1007,7 @@
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}% p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@experiencewidth} @{\hspace{\skillmatrix@padding}}% p{\cvskill@experiencewidth} @{\hspace{\skillmatrix@padding}}%
p{\skillmatrix@commentwidth}@{}}% 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}% \raggedleft\hintstyle{#3} &\centering \cvskill{#4} &\centering {#5} & \centering {#6} &{\itshape#7}%
\end{tabular}% \end{tabular}%
\endgroup \endgroup

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylebanking}[2026-06-19 v2.6.0 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" % body rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializecommand{\moderncvstylebodyoptions}{} \@initializecommand{\moderncvstylebodyoptions}{}
@ -36,7 +36,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse} \DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options \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 \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 % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylecasual}[2026-06-19 v2.6.0 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" % head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{} \@initializecommand{\moderncvstyleheadoptions}{}

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstyleclassic}[2026-06-19 v2.6.0 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" % head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{} \@initializecommand{\moderncvstyleheadoptions}{}

View file

@ -11,24 +11,17 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylecontemporary}[2026-06-19 v2.6.0 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" % head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{} \@initializecommand{\moderncvstyleheadoptions}{}
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}} \DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}} \DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
% QR code options: "qr" (default) or "noqr"
\DeclareOption{qr} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,qr}} \DeclareOption{qr} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,qr}}
\DeclareOption{noqr}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noqr}} \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 \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 \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 % 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 % skillmatrix
\colorlet{bodyrulecolor}{color1}
\colorlet{skillmatrixfullcolor}{color1} \colorlet{skillmatrixfullcolor}{color1}
\colorlet{skillmatrixemptycolor}{color2!30} \colorlet{skillmatrixemptycolor}{color2!30}

View file

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

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylefancy}[2026-06-19 v2.6.0 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 % headoptions
\@initializecommand{\moderncvstyleheadoptions}{} \@initializecommand{\moderncvstyleheadoptions}{}

View file

@ -10,7 +10,7 @@
% identification % identification
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e} \NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstyleoldstyle}[2026-06-19 v2.6.0 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 % headoptions
\@initializecommand{\moderncvstyleheadoptions}{} \@initializecommand{\moderncvstyleheadoptions}{}

View file

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

View file

@ -79,8 +79,6 @@
\social[researcherid]{jdoe} % optional, remove / comment the line if not wanted \social[researcherid]{jdoe} % optional, remove / comment the line if not wanted
\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted \social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
\social[medium]{jdoe} % optional, remove / comment the line if not wanted
\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted \social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted
\social[mastodon]{mastodon.social/web/@user} % optional, remove / comment the line if not wanted \social[mastodon]{mastodon.social/web/@user} % optional, remove / comment the line if not wanted
\social[telegram]{jdoe} % optional, remove / comment the line if not wanted \social[telegram]{jdoe} % optional, remove / comment the line if not wanted
@ -278,7 +276,6 @@ Detailed achievements:
\opening{Dear Sir or Madam,} \opening{Dear Sir or Madam,}
\closing{Yours faithfully,} \closing{Yours faithfully,}
\signature{0.9}{signature.png} % optional, remove / comment the line if not wanted: first argument goes to \includegraphics > scale \signature{0.9}{signature.png} % optional, remove / comment the line if not wanted: first argument goes to \includegraphics > scale
\postscript{An optional postscript} % optional, add a postscript
\enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname \enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname
\makelettertitle \makelettertitle