diff --git a/KNOWN_BUGS b/KNOWN_BUGS index 5049f55..25ef872 100644 --- a/KNOWN_BUGS +++ b/KNOWN_BUGS @@ -1,18 +1,12 @@ -- skillmatrix does not break automatically in fancystyle. -- long names break the oldstyle and possibly other styles (needs testing). -- long urls in classic style can make the name break line. Fixed width for the adresspart must be implemented. -- When using the "fancy" style, undesired space is added between the bibliography - head and the first entry, as well as after the last entry -- Moderncv is incompatible with biblatex. -- Footnotes generates errors (though the output seem correct when running with - "-interaction=nonstopmode") -- When using CJK, the last \clearpage required for fancyhdr to work properly kills - the "lastpage" counter, hence also the page numbering. -- Moderncv produces an error ("lonely \item--perhaps a missing list environment") - when used with bibentry, through the output is actually correct. Amongst other, - this causes compilation by LyX to stop. -- The space after a cventry gets eaten up when the last argument contains a nested - itemize environment. An ugly hack and incomplete solution was implemented by - including a \strut in every item label, but this doesn't solve the problem for - multi-line items. Ideally, the strut should end the item, but there seems to be - no way to do this. +- moderncv is incompatible with biber. +- moderncv is incompatible with BibLaTeX. +- moderncv is incompatible with babel in Spanish. + +- Skill matrices don't break automatically in fancy style. +- Long names break the oldstyle style and possibly other styles (needs testing). +- Long URLs in classic style can make the name break line. Fixed width for the address part must be implemented. +- When using the fancy style, undesired space is added between the bibliography head and the first entry, as well as after the last entry. +- Footnotes generate errors, but the output seems correct when running with "-interaction=nonstopmode" +- When using CJK, the last \clearpage required for the fancyhdr package to work properly kills the "lastpage" counter, and therefore also the page numbering. +- moderncv produces an error "lonely \item--perhaps a missing list environment" when used with the bibentry package, though the output is actually correct. Among other things, this causes compilation by LyX to stop. +- The space after a \cventry gets eaten up when the last argument contains a nested itemize environment. An ugly hack and incomplete solution was implemented by including a \strut in every item label, but this doesn't solve the problem for multi-line items. Ideally, the \strut should end the item, but there seems to be no way to do this. diff --git a/manual/moderncv_userguide.pdf b/manual/moderncv_userguide.pdf index fe4edb8..8709071 100644 Binary files a/manual/moderncv_userguide.pdf and b/manual/moderncv_userguide.pdf differ diff --git a/manual/moderncv_userguide.tex b/manual/moderncv_userguide.tex index 454fce4..45a19ac 100644 --- a/manual/moderncv_userguide.tex +++ b/manual/moderncv_userguide.tex @@ -1,5 +1,5 @@ %% 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 +%% 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, @@ -18,7 +18,7 @@ } \date{\today} -% language and encoding options +% Language and encoding options \usepackage[english]{babel} \usepackage{ifxetex, ifluatex} \newif\ifxetexorluatex @@ -32,54 +32,50 @@ \fi \fi -%%%% PDFLaTeX or LUALaTeX/XeLaTeX %%%%%%% +% PDFLaTeX or LUALaTeX/XeLaTeX \ifxetexorluatex % \usepackage{luatextra} % \usepackage{lualatex-math} - \usepackage{shellesc} % fix a bug for lualatex shellescape + \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. + \usepackage[utf8]{inputenx} % Uncomment if using pdflatex, comment if using lualatex \fi -\PassOptionsToPackage{T1}{fontenc} % T2A for Cyrillic +\PassOptionsToPackage{T1}{fontenc} % T2A for Cyrillic \usepackage[T1]{fontenc} -% font options +% Font options \usepackage{txfonts} \usepackage{marvosym} \usepackage{pifont} -% margins, spacing and page layout -\usepackage[pdftex, colorlinks=true]{hyperref} % hyperref must be loaded before geometry +% 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 +\usepackage{parskip} % Replace paragraph indentation with vertical spacing +\frenchspacing % Suppress additional space after a full stop \renewcommand{\arraystretch}{1.1} -% packages +% 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{scrhack} % Fix warnings when using KOMA with listings package +\usepackage{xspace} % Fix spacing after macros +\usepackage{mparhack} % Fix marginpar \usepackage{microtype} -\usepackage{multicol} % Multicolumn text for long lists -% **************************************************************************************************** -% Setup code listings -% **************************************************************************************************** +\usepackage{multicol} % Multicolumn text for long lists + +% Code listings \usepackage{listings} -% \lstset{emph={trueIndex, root}, emphstyle=\color{BlueViolet}}% \underbar} % for special keywords -\lstset{language=[LaTeX]Tex, % C++, +% \lstset{emph={trueIndex, root}, emphstyle=\color{BlueViolet}}% \underbar} % Special keywords +\lstset{% + language=[LaTeX]Tex, % C++, morekeywords={PassOptionsToPackage, selectlanguage}, keywordstyle=\color{cvblue}, % \bfseries, basicstyle=\small\ttfamily, @@ -113,97 +109,39 @@ literate={{é}{{\'e}}1}, } +% Hyperlinks \usepackage{hyperref} -\hypersetup{% +\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 + % draft, % Draft mode for printing (see below) + colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV, + % colorlinks=false, linktocpage=false, pdfstartpage=3, pdfstartview=FitV, pdfborder={0 0 0}, % Black links (e.g., for printing) + 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 - +% Colors \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{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 +% Macros \newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}} \newcommand{\todox}[1]{\textcolor{red}{[\textbf{TODO:} #1]}} +\newcommand{\note}{\paragraph{Note.}} \newcommand{\code}[1]{\lstinline!#1!} \newcommand{\moderncv}{\code{moderncv}} \newcommand{\Moderncv}{\moderncv~} @@ -217,10 +155,13 @@ \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 % ================== @@ -255,32 +196,31 @@ If the \Moderncv package does not ship with your \Latex distribution or if the i \moderncvGithub \end{tabular} -\paragraph{Note.} -Depending on your \Latex distribution, you may have to install some additional packages. +\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. +This section is a quick reference to the \Moderncv package and should contain enough information to typeset a first working CV. \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. +The easiest way to get started with \Moderncv is to use the template that comes with the package. +If \Moderncv is part of your \Latex distribution, search for the folder \Moderncv on your system, which should contain all the files for 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. +If you downloaded the package from \Github or \ctan, look for \Cvtemplate in the folder of the newly downloaded (and possibly extracted) package. -\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. +\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}. +\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. +A document using the \Moderncv document class is set up like 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} @@ -288,17 +228,15 @@ The \Moderncv document class is loaded as per usual, by \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}, +\begin{tabular}{r@{\hspace{2ex}}p{0.55\textwidth}} + \textbf{\code{paper}:} & \code{a4paper} (default), \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} + \textbf{\code{font size}:} & \code{10pt}, \code{11pt} (default), \code{12pt} \\ + \textbf{\code{draft/final}:} & \code{draft}, \code{final} (default) \end{tabular} -By default, the \Moderncv document class uses \code{a4paper}, \code{11pt}, \code{final}. - -\subsubsection*{Configuring \texttt{moderncv} style and color} +\subsubsection*{Choosing a \texttt{moderncv} style and color} Choose a \Moderncv style and color by adjusting the commands \begin{lstlisting} \moderncvstyle{