New Header option in contemporary style (separator) (#285)

* introduce a new contemporary option: (no)separator to hide/show the separator line after the colored header

* document new contemporary header option - separator in CHANGELOG and user guide
This commit is contained in:
daniel 2026-06-19 22:34:02 +02:00 committed by GitHub
commit d98496dcb4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 16 additions and 6 deletions

View file

@ -13,6 +13,7 @@ version next
- 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)

View file

@ -716,7 +716,9 @@ This style allows the following options which \emph{only} affect header and foot
\textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}.
Toggles between the header and footer as the location of personal data on the page. \\
\textbf{\code{qr}} & values: \code{qr} (default), \code{noqr}.
Enables or disables the inclusion of a QR code of your personal website.
Enables or disables the inclusion of a QR code of your personal website. \\
\textbf{\code{separator in head}} & values: \code{separator} (default), \code{noseparator}.
Shows or hides the separator line after the colored header.
\end{tabular}
\note For the \code{contemporary} style it is recommended to use the \code{\\moderncvcolor\{cerulean\}} color scheme. The \code{contemporary} style is even more appealing with reduced margins. Use this in your preamble:
\begin{lstlisting}

View file

@ -29,8 +29,13 @@
\@initializeif{\if@right}\@rightfalse
\DeclareOption{right} {\@leftfalse\@righttrue}
% separator line option: "separator" (default) or "noseparator"
\@initializeif{\if@separator}\@separatortrue
\DeclareOption{separator} {\@separatortrue}
\DeclareOption{noseparator} {\@separatorfalse}
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{details,qr,left}
\ExecuteOptions{details,qr,left,separator}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@ -148,10 +153,10 @@
% case with no photo: assure defined \@photoframewidth with 2pt
\ifthenelse{\isundefined{\@photo}}{\@initializelength{\@photoframewidth}\setlength{\@photoframewidth}{2pt}}{}%
\path[draw,line width=\@photoframewidth]
(head-bg.south west) edge[color=headhr!85!black] ([xshift=8em]head-bg.south west)
([xshift=8em]head-bg.south west) edge[color=headhr] ([xshift=-8em]head-bg.south east)
([xshift=-8em]head-bg.south east) edge[color=headhr!85!black] (head-bg.south east);
\if@separator%
\path[draw,line width=\@photoframewidth, color=headhr!85!black]
(head-bg.south west) -- (head-bg.south east);
\fi%
\end{tikzpicture}%
\if@left%
\usebox{\makecvheadpicturebox}%

View file

@ -19,6 +19,8 @@
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
\DeclareOption{qr} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,qr}}
\DeclareOption{noqr}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noqr}}
\DeclareOption{separator}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,separator}}
\DeclareOption{noseparator}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noseparator}}
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{left,qr}