%% moderncv_userguide.tex as shipped with 2022/02/21 v2.3.1 modern curriculum vitae and letter document class (moderncv) % 2021 David Seus, cryptointerest@posteo.de % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, % available at http://www.latex-project.org/lppl/. \documentclass[a4paper, 11pt]{article} \title{% \texttt{moderncv} User Guide\\ {\small Package v2.3.1}% } % Cristina Sambo, \author{% Package by Xavier Danaux\\ {\small Documentation by David Seus}% } \date{\today} % language and encoding options \usepackage[english]{babel} \usepackage{ifxetex, ifluatex} \newif\ifxetexorluatex \ifxetex \xetexorluatextrue \else \ifluatex \xetexorluatextrue \else \xetexorluatexfalse \fi \fi %%%% PDFLaTeX or LUALaTeX/XeLaTeX %%%%%%% \ifxetexorluatex % \usepackage{luatextra} % \usepackage{lualatex-math} \usepackage{shellesc} % fix a bug for lualatex shellescape % \usepackage{unicode-math} % \setmathfont{xits-math.otf} \else %% if pdflatex is used uncomment the following packages. If lualatex is used comment them. \usepackage[utf8]{inputenx} % additions for utf8 \input{ix-utf8enc.dfu} %% if pdflatex is used uncomment above packages. If lualatex is used comment them. \fi \PassOptionsToPackage{T1}{fontenc} % T2A for Cyrillic \usepackage[T1]{fontenc} % font options \usepackage{txfonts} \usepackage{marvosym} \usepackage{pifont} % margins, spacing and page layout \usepackage[pdftex, colorlinks=true]{hyperref} % hyperref must be loaded before geometry \usepackage[pdftex, marginparwidth=50pt]{geometry} \geometry{top=2.5cm, bottom=3cm} \usepackage{parskip} % replace paragraph indentation with vertical spacing \frenchspacing % to suppress additional space after a full stop \renewcommand{\arraystretch}{1.1} % packages \usepackage{graphicx} \usepackage{xcolor} \usepackage[labelfont=sl, font=small, width=0.9\textwidth]{caption} \usepackage{marvosym} \usepackage{latexsym} \usepackage{url} \usepackage{scrhack} % Fix warnings when using KOMA with listings package \usepackage{xspace} % To get the spacing after macros right \usepackage{mparhack} % To get marginpar right \usepackage{microtype} \usepackage{multicol} % Multicolumn text for long lists % **************************************************************************************************** % Setup code listings % **************************************************************************************************** \usepackage{listings} % \lstset{emph={trueIndex, root}, emphstyle=\color{BlueViolet}}% \underbar} % for special keywords \lstset{language=[LaTeX]Tex, % C++, morekeywords={PassOptionsToPackage, selectlanguage}, keywordstyle=\color{cvblue}, % \bfseries, basicstyle=\small\ttfamily, % identifierstyle=\color{NavyBlue}, commentstyle=\color{gray}\ttfamily, stringstyle=\rmfamily, numbers=none, % left, numberstyle=\scriptsize, % \tiny stepnumber=5, numbersep=8pt, showstringspaces=false, breaklines=true, % frameround=ftff, % frame=single, belowcaptionskip=0.75\baselineskip, % frame=L, emph={ cvitem, cventry, cvdoubleentry, cvdoubleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor, cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers, name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment }, emphstyle={\color{cvblue}}, emph={[2] familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel, addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol, xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol, stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol }, emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries}, literate={{é}{{\'e}}1}, } \usepackage{hyperref} \hypersetup{% unicode=true, % draft, % hyperref's draft mode, for printing see below colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV,% % uncomment the following line if you want to have black links (e.g., for printing) % colorlinks=false, linktocpage=false, pdfstartpage=3, pdfstartview=FitV, pdfborder={0 0 0},% breaklinks=true, pageanchor=true,% pdfpagemode=UseNone, % % pdfpagemode=UseOutlines,% plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1,% hypertexnames=true, pdfhighlight=/O, % nesting=true, % frenchlinks,% urlcolor=cvblue, linkcolor=cvblue, citecolor=cvblue, % pagecolor=RoyalBlue,% % urlcolor=Black, linkcolor=Black, citecolor=Black, % pagecolor=Black,% % pdfborder={0 0 1}, % width of pdf link border 0 0 1, 0 0 0 = colorlinks % linkbordercolor=gray!15, % citebordercolor=green!15, } % my commands % automatically read known bugs file. works only for single lined entries % \newread\myread% Get a file handle grip called \myread % \newcommand{\loaditemsfromfile}[2][enumerate]{% % % \DeclareDocumentCommand\multiLineRead{}{} % \IfFileExists{#2}{% % \openin\myread=#2 % % \begingroup\endlinechar=-1 % \def\matchmarco{\par} % \begin{#1} % Use an itemize enviroment with #1 as name of the env. % \def\multiLineRead{} % \loop\unless\ifeof\myread% % % \renewcommand{\multiLineRead}{} % \read\myread to \localvariable % \loop\unless\ifx\localvariable\matchmacro\fi% infinite loop % \ifeof\myread % \else % \ifx\localvariable\matchmacro\relax % \def\multiLineRead{} % \else % \edef\multiLineRead{\multiLineRead, Test} % \localvariable % \item \multiLineRead % \fi % \fi % \repeat % \repeat % \end{#1} % close the environment % % \endgroup % \closein\myread% \close the file % }{}% % } % consider using datatool % https://packages.oth-regensburg.de/ctan/macros/latex/contrib/datatool/datatool-user.pdf % \makeatletter % \newread\myread % \newcommand{\loaditemsfromfile}[2][enumerate]{% % % \DeclareDocumentCommand\multiLineRead{}{} % \IfFileExists{#2}{% % \def\linetomatch{\endlinechar}% \edef is not required % \openin\myread=#2 % \begingroup\endlinechar=-1 % \begin{#1} % Use an itemize enviroment with #1 as name of the env. % \item Test % \@whilesw\unless\ifeof\myread\fi{% % \read\myread to \dataline % \noindent"\linetomatch" % \ifx\dataline\linetomatch\relax % \item equals % \else % \item does not equal "\dataline" % \fi % }% % \end{#1}% % \endgroup % \closein\myread % }{}% % }% % \makeatother \definecolor{cvblue}{rgb}{0.22, 0.45, 0.70} \definecolor{cvgreen}{rgb}{0.35, 0.70, 0.30} \definecolor{cvred}{rgb}{0.95, 0.20, 0.20} \definecolor{cvorange}{rgb}{0.95, 0.55, 0.15} \definecolor{cvgrey}{rgb}{0.75, 0.75, 0.75} \definecolor{cvburgundy}{rgb}{0.596078, 0, 0} % burgundy: 139/255 (0.545098) or 152/255 (0.596078) \definecolor{cvgrey}{rgb}{0.55, 0.55, 0.55} \definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80} % macros \newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}} \newcommand{\todox}[1]{\textcolor{red}{[\textbf{TODO:} #1]}} \newcommand{\code}[1]{\lstinline!#1!} \newcommand{\moderncv}{\code{moderncv}} \newcommand{\Moderncv}{\moderncv~} \newcommand{\github}{GitHub} \newcommand{\Github}{\github~} \newcommand{\ctan}{CTAN} \newcommand{\Ctan}{\ctan~} \newcommand{\cvtemplate}{\code{template.tex}} \newcommand{\Cvtemplate}{\cvtemplate~} \newcommand{\Latex}{\LaTeX~} \newcommand{\biblatex}{BibLaTeX} \newcommand{\Biblatex}{\biblatex~} \newcommand{\cvdoccolorbox}[1]{{\color{#1}\rule{4ex}{2ex}}} % current code repository \newcommand{\moderncvGithub}{\url{https://github.com/moderncv/moderncv}} \newcommand{\moderncvCtan}{\url{https://ctan.org/pkg/moderncv}} % ================== % DOCUMENT BEGINNING % ================== \begin{document} \maketitle \begin{abstract} \noindent The \Moderncv package provides a document class for typesetting modern curriculum vit\ae{} and cover letters in various styles. Five predefined styles are available, each of which can be adjusted through various options for headings, footers and colors. It is fairly customizable, allowing the user to adjust the look and feel of each style to their liking. Several macros allow the user to add content to the CV and format it in a consistent way. A letter of motivation consistent with the style is part of the template as well. \end{abstract} \tableofcontents \section{Getting started} \subsection{How to read this manual} This manual is organized as follows. The current section explains on how to get started with the \Moderncv package, i.e. how to install required packages. % \emph{Note that it is assumed that you know how to install \Latex packages in case some are missing.} Section \ref{section:moderncvTemplate} explains how to work with the \Moderncv template file step by step. Section \ref{section:customization} details the customizations that the user can make: the different styles, their options, colors and tips and tricks. Section \ref{section:implementationDetails} details the packages that \Moderncv uses, known problems and possible solutions to those problems. \subsection{Installation instructions} If the \Moderncv package does not ship with your \Latex distribution or if the installed version is too old, grab the \Moderncv code from \Ctan or \github: \begin{tabular}{l} \moderncvCtan \\% [.5ex] \moderncvGithub \end{tabular} \paragraph{Note.} Depending on your \Latex distribution, you may have to install some additional packages. Section \ref{section:implementationDetails:requiredPackages} lists all the packages that \Moderncv requires to be installed on your system. \section{The \texttt{moderncv} template step by step} This section is meant to be a quick reference to the \Moderncv package and should contain enough information to get a first working CV typeset. \label{section:moderncvTemplate} The easiest way to get started with \Moderncv is to adjust the template that comes with the package. If the \Moderncv package is part of your \Latex distribution, search for the folder \Moderncv on your system containing all files of the package. In this folder, there should be a file called \cvtemplate. If you downloaded the package from \Github or \Ctan, go to the folder of the newly downloaded (and possibly extracted) package to find the file \Cvtemplate there. \paragraph{Note.} If you downloaded \Moderncv from \Github or \Ctan and moved \Cvtemplate to another folder, make sure to adjust the \code{TEXINPUTS} variable to find the newly downloaded package. Otherwise, either the package version provided by your \Latex distribution gets used or \Latex throws an error if there is no other version installed. Test your setup by compiling \Cvtemplate and looking at the result. \paragraph{Note.} The \Moderncv package should compile with \code{pdflatex}, \code{lualatex} and \code{xelatex}. However, not all icons are available when using \code{pdflatex}, so using either \code{lualatex} or \code{xelatex} \emph{is highly recommended.} \subsection{Basic setup} A document using the \Moderncv document class gets set up as any other document class. We will go through the template step by step. \subsubsection*{Configuring document class options} The \Moderncv document class is loaded as per usual, by \begin{lstlisting} \documentclass[]{moderncv} \end{lstlisting} where at most one value for each option can be passed to the document class: \begin{tabular}{r@{\hspace{2ex}}p{0.45\textwidth}} \textbf{\code{paper}:} & \code{a4paper}, \code{a5paper}, \code{b5paper}, \code{letterpaper}, \code{legalpaper}, \code{executivepaper}, \code{landscape} \\ \textbf{\code{font family}:} & \code{sans}, \code{roman} \\ \textbf{\code{font size}:} & \code{10pt}, \code{11pt}, \code{12pt} \\ \textbf{\code{draft/final}:} & \code{draft}, \code{final} \end{tabular} By default, the \Moderncv document class uses \code{a4paper}, \code{11pt}, \code{final}. \subsubsection*{Configuring \texttt{moderncv} style and color} Choose a \Moderncv style and color by adjusting the commands \begin{lstlisting} \moderncvstyle{