使用 moderncv 添加第二个标题

使用 moderncv 添加第二个标题

我制作的简历几乎已经完成了,moderncv但还有一些额外的内容需要添加,并且需要进行一些提前的调整,虽然我认为应该可以,但我却无法完成。

我正在使用该casual样式,并且我确实需要能够向标题添加第二个标题(title2),如本例所示(我在 Photoshop 上修补了!)

例子

有什么方法可以定义 \title2{title2text} 并更新\maketitle以包含右侧的 title2 和左侧的 title 吗?

答案1

以下是一种方法:

\documentclass{moderncv}
\moderncvstyle{casual}

\makeatletter
\newcommand*{\titleii}[1]{\def\@titleii{#1}}
\titleii{}
% commands
\renewcommand*{\makecvhead}{% TODO: use \@initializecommand, which requires modifying its definition to handle \par
  % recompute lengths (in case we are switching from letter to resume, or vice versa)
  \recomputecvlengths%
  % optional picture (pre-rendering)
  \@initializebox{\makecvheadpicturebox}%
  \savebox{\makecvheadpicturebox}{%
    \ifthenelse{\isundefined{\@photo}}%
      {}%
      {%
       \setlength\fboxrule{\@photoframewidth}%
       \ifdim\@photoframewidth=0pt%
         \setlength{\fboxsep}{0pt}\fi%
       {\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
  % name (pre-rendering)
  \@initializelength{\makecvheadpicturewidth}%
  \settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
  \@initializebox{\makecvheadnamebox}%
  \savebox{\makecvheadnamebox}{%
    \parbox[b]{\textwidth-\makecvheadpicturewidth}{%
      \if@left\raggedright\fi%
      \if@right\raggedleft\fi%
      \namefont%
      \if@alternate% alternate design: first- and lastname in lowercase with no space in between (distinction is made by color difference)
        {\color{color2!50}\MakeLowercase\@firstname}{\color{color2}\MakeLowercase\@lastname}%
      \else% default design: first- and lastname as given with a space in between
        {\color{color2!50}\@firstname} {\color{color2}\@lastname}\fi}}%
  % rendering
  \if@left%
    \usebox{\makecvheadnamebox}%
    \usebox{\makecvheadpicturebox}\fi
  \if@right%
    \usebox{\makecvheadpicturebox}%
    \usebox{\makecvheadnamebox}\fi\\[-.35em]%
  {\color{color2!50}\rule{\textwidth}{.25ex}}%
  % optional detailed information
  \if@details{%
    \\\null%
    \addressfont\color{color2}%
    \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
      \ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
      \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
        \flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}%
    \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
      \addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
    \ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
    \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httplink{\@homepage}}}%
    \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
      \addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
    \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
    \flushmakeheaddetails}\fi% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
  % optional title
  \ifthenelse{\equal{\@title}{}}{}{%
    \\[1.25em]\null% \null is required as there is no box on the line after \\, so glue such as \hfill (and leaders) disappear; this is in contrast to after \par, where the next line starts with an indent box (even after \noindent)
    %\if@right\hfill\fi% HERE
    \if@alternate%
      \titlestyle{\MakeLowercase\@titleii}\hfill\titlestyle{\MakeLowercase\@title}%
    \else%
      \titlestyle{\@titleii}\hfill\titlestyle{\@title}\fi%
    }\\[2.5em]%
  % optional quote
  \ifthenelse{\isundefined{\@quote}}%
    {}%
    {{\null\hfill%
      \begin{minipage}{\quotewidth}%
        \centering%
        \quotestyle{\@quote}%
      \end{minipage}\hfill\null\\[2.5em]}}%
  \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
\makeatother

\firstname{Jane}
\familyname{Doe}
\title{The First Title}
\titleii{The Second Title}
\photo{picture}

\begin{document}
\makecvtitle
\end{document}

在此处输入图片描述

相关内容