From 63aa50262b40ea1ceb1c7015ac653fb7b075dd64 Mon Sep 17 00:00:00 2001 From: Mazunki Hoksaas Date: Tue, 26 Aug 2025 18:20:32 +0200 Subject: [PATCH 1/2] Add support for including pronouns in header --- moderncv.cls | 9 +++++++++ moderncvheadi.sty | 2 ++ moderncviconsawesome.sty | 2 ++ 3 files changed, 13 insertions(+) diff --git a/moderncv.cls b/moderncv.cls index 002e16a..1d322f8 100644 --- a/moderncv.cls +++ b/moderncv.cls @@ -224,6 +224,14 @@ % usage: \title{} \renewcommand*{\title}[1]{\def\@title{#1}} +% defines one's preferred pronouns (optional) +% usage: \pronouns{<pronouns>} +\newcommand*{\pronouns}[1]{\def\@pronouns{#1}} + +% defines one's preferred gender icon (optional) +% usage: \gendericon{<gendericon>} +\newcommand*{\gendericon}[1]{\def\@gendericon{#1}} + % defines one's address (optional) % usage: \address{<street>}{<city>}{<country>} % where the <city> and <country> arguments can be omitted or provided empty @@ -360,6 +368,7 @@ \newcommand*{\listitemsymbol} {\labelitemi~} \newcommand*{\addresssymbol} {} \newcommand*{\bornsymbol} {} +\newcommand*{\gendersymbol} {} \newcommand*{\mobilephonesymbol} {} \newcommand*{\fixedphonesymbol} {} \newcommand*{\faxphonesymbol} {} diff --git a/moderncvheadi.sty b/moderncvheadi.sty index 930b1fd..07eba01 100644 --- a/moderncvheadi.sty +++ b/moderncvheadi.sty @@ -86,6 +86,7 @@ \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{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}% + \ifthenelse{\isundefined{\@pronouns}}{}{\makenewline\@gendericon~\@pronouns}% \phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol% @@ -182,6 +183,7 @@ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}% \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}% + \ifthenelse{\isundefined{\@pronouns}}{}{\addtomakeheaddetails{\@pronouns}}% \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi% \end{minipage}\\[2em] % recipient block diff --git a/moderncviconsawesome.sty b/moderncviconsawesome.sty index 601ba32..1b917bf 100644 --- a/moderncviconsawesome.sty +++ b/moderncviconsawesome.sty @@ -100,6 +100,8 @@ %\renewcommand*{\matrixsocialsymbol} {} % \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~} % \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~} +\def\@gendericon{\faNeuter} +\renewcommand*{\gendersymbol} {{\small\@gendericon}~} \renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}~} % alternative: \faBabyCarriage \endinput From d8d69ceefec80b9c4c267e394deff23b2e800062 Mon Sep 17 00:00:00 2001 From: Mazunki Hoksaas <rolferen@gmail.com> Date: Thu, 28 Aug 2025 13:23:08 +0200 Subject: [PATCH 2/2] Provide documentation and changelog for pronouns pending render of manual/moderncv_userguide.pdf --- CHANGELOG | 1 + manual/moderncv_userguide.tex | 17 +++++++++++++++-- template.tex | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 98aa29d..53bbb69 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -15,6 +15,7 @@ version next - Add contemporary CV header style to cover letter, which also makes icons visible (#186) - Fix minor horizontal spacing issue in 'contemporary' style header +- Added optional support for specifying pronouns (#249) version 2.4.1 (18 Jul 2024) - Fix commons/colors.tex not found in package (#194) diff --git a/manual/moderncv_userguide.tex b/manual/moderncv_userguide.tex index ab7ba7f..2b3b366 100644 --- a/manual/moderncv_userguide.tex +++ b/manual/moderncv_userguide.tex @@ -97,7 +97,7 @@ emph={ cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, 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, + name, born, pronouns, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment, recipient, subject, opening, closing, signature, enclosure }, emphstyle={\color{cvblue}}, @@ -106,7 +106,7 @@ addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol, xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol, stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol, - researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol + researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol, gendersymbol }, emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries}, literate={{é}{{\'e}}1}, @@ -299,6 +299,18 @@ A command for a birth date. \born{<birth date>} \end{lstlisting} +\paragraph{\code{\\pronouns}} +A command for your pronouns. +\begin{lstlisting} + \pronouns{<pronouns>} +\end{lstlisting} + +\paragraph{\code{\\gendericon}} +A command for the icon used for your gender. +\begin{lstlisting} + \gendericon{<icon>} +\end{lstlisting} + \paragraph{\code{\\address}} A command for a three-lined street address. \begin{lstlisting} @@ -787,6 +799,7 @@ Currently \Moderncv supports the following commands as \code{<\\symbolcommand>}: \item \code{\\bitbucketsocialsymbol} \item \code{\\skypesocialsymbol} \item \code{\\bornsymbol} + \item \code{\\gendersymbol} \item \code{\\arxivsocialsymbol} \item \code{\\inspiresocialsymbol} \end{multicols} diff --git a/template.tex b/template.tex index f08609c..6cd7ed8 100644 --- a/template.tex +++ b/template.tex @@ -56,6 +56,8 @@ \name{John}{Doe} \title{Résumé title} % optional, remove / comment the line if not wanted \born{4 July 1776} % optional, remove / comment the line if not wanted +\pronouns{they/them} % optional, remove / comment the line if not wanted +\gendericon{\faNeuter} % optional, remove / comment the line if not wanted \address{street and number}{postcode city}{country}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty \phone[mobile]{+1~(234)~567~890} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax" \phone[fixed]{+2~(345)~678~901}