From 47ff7f1c362bb35732b0984acfe1c6c002ee7853 Mon Sep 17 00:00:00 2001 From: Alexander Edding <13305603+alexedding@users.noreply.github.com> Date: Sun, 21 Jun 2026 12:50:13 +0200 Subject: [PATCH] fix: Correct style option defaults (#300) * fix: Correct the documented style option defaults Partially address #299: - Change the documented default from `nodetails` to `details` for the `classic`, `banking`, `oldstyle`, and `fancy` styles, to match the current implementation. * fix: Set the `details` option explicitly as default in the banking style (#299) * fix: Add missing options to the `contemporary` style Address #299: - Add the missing `details` and `nodetails` options. - Set `details` and `separator` as explicit defaults using `\ExecuteOptions`. - Add per-group comments for all option categories. * docs: Add a summary of the PR changes to `CHANGELOG` --- CHANGELOG | 6 ++++++ manual/moderncv_userguide.tex | 8 ++++---- moderncvstylebanking.sty | 2 +- moderncvstylecontemporary.sty | 7 ++++++- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index e6be243..8b61306 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,11 @@ 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) diff --git a/manual/moderncv_userguide.tex b/manual/moderncv_userguide.tex index f2ebb92..cbbe2dc 100644 --- a/manual/moderncv_userguide.tex +++ b/manual/moderncv_userguide.tex @@ -662,7 +662,7 @@ This style allows the following options which \emph{only} affect header and foot \begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}} \textbf{\code{alignment}} & values: \code{left} (default), \code{right}. Aligns the address block and the picture. \\ - \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default). + \textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}. Toggles between the header and footer as the location of personal data on the page. \\ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. Toggles between inclusion of icons or text-based abbreviations for personal data. @@ -676,7 +676,7 @@ This style allows the following options: Aligns the entries in the style. \\ \textbf{\code{rule style}} & values: \code{fullrules}, \code{shortrules}, \code{mixedrules} (default), \code{norules}. Adjusts the rules used in the style. \\ - \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default). + \textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}. Toggles between the header and footer as the location of personal data on the page. \\ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. Toggles between inclusion of icons or text-based abbreviations for personal data. @@ -686,7 +686,7 @@ This style allows the following options: This style allows the following options: \begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}} - \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default). + \textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}. Toggles between the header and footer as the location of personal data on the page. \\ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. Toggles between inclusion of icons or text-based abbreviations for personal data. @@ -696,7 +696,7 @@ This style allows the following options: This style allows the following options: \begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}} - \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default). + \textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}. Toggles between the header and footer as the location of personal data on the page. \\ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. Toggles between inclusion of icons or text-based abbreviations for personal data. diff --git a/moderncvstylebanking.sty b/moderncvstylebanking.sty index 41a59a3..c7de7bc 100644 --- a/moderncvstylebanking.sty +++ b/moderncvstylebanking.sty @@ -36,7 +36,7 @@ \DeclareOption{nosymbols} {\@symbolsfalse} \DeclareOption*{}% avoid choking on unknown options -\ExecuteOptions{mixedrules,left,symbols} +\ExecuteOptions{mixedrules,left,symbols,details} \ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package diff --git a/moderncvstylecontemporary.sty b/moderncvstylecontemporary.sty index 731a198..59e0d0c 100644 --- a/moderncvstylecontemporary.sty +++ b/moderncvstylecontemporary.sty @@ -17,13 +17,18 @@ \@initializecommand{\moderncvstyleheadoptions}{} \DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}} \DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}} +% QR code options: "qr" (default) or "noqr" \DeclareOption{qr} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,qr}} \DeclareOption{noqr}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noqr}} +% separator in head options: "separator" (default) or "noseparator" \DeclareOption{separator}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,separator}} \DeclareOption{noseparator}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noseparator}} +% data in head options: "details" (default) or "nodetails" +\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}} +\DeclareOption{nodetails}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}} \DeclareOption*{}% avoid choking on unknown options -\ExecuteOptions{left,qr} +\ExecuteOptions{left,qr,details,separator} \ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package %-------------------------------------------------------------------------------