123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- %% start of file `moderncvbodyiii.sty'.
- %% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
- %
- % This work may be distributed and/or modified under the
- % conditions of the LaTeX Project Public License version 1.3c,
- % available at http://www.latex-project.org/lppl/.
- %-------------------------------------------------------------------------------
- % identification
- %-------------------------------------------------------------------------------
- \NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{moderncvbodyiii}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 3]
- % rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
- \@initializeif{\if@fullrules}\@fullrulesfalse
- \DeclareOption{fullrules} {\@fullrulestrue\@shortrulesfalse\@mixedrulesfalse\@norulesfalse}
- \@initializeif{\if@shortrules}\@shortrulesfalse
- \DeclareOption{shortrules}{\@fullrulesfalse\@shortrulestrue\@mixedrulesfalse\@norulesfalse}
- \@initializeif{\if@mixedrules}\@mixedrulesfalse
- \DeclareOption{mixedrules}{\@fullrulesfalse\@shortrulesfalse\@mixedrulestrue\@norulesfalse}
- \@initializeif{\if@norules}\@norulesfalse
- \DeclareOption{norules} {\@fullrulesfalse\@shortrulesfalse\@mixedrulesfalse\@norulestrue}
- % section alignment options: "left" (default), "center" or "right"
- \@initializeif{\if@left}\@leftfalse
- \DeclareOption{left} {\@lefttrue\@centerfalse\@rightfalse}
- \@initializeif{\if@center}\@centerfalse
- \DeclareOption{center} {\@leftfalse\@centertrue\@rightfalse}
- \@initializeif{\if@right}\@rightfalse
- \DeclareOption{right} {\@leftfalse\@centerfalse\@righttrue}
- \DeclareOption*{}% avoid choking on unknown options
- \ExecuteOptions{mixedrules,left}
- \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
- %-------------------------------------------------------------------------------
- % required packages
- %-------------------------------------------------------------------------------
- %-------------------------------------------------------------------------------
- % overall body definition
- %-------------------------------------------------------------------------------
- % fonts
- \renewcommand*{\sectionfont}{%
- \if@norules%
- \Large\bfseries\scshape%
- \else%
- \Large\bfseries\upshape\fi}
- \renewcommand*{\subsectionfont}{%
- \if@norules%
- \large\mdseries\itshape%
- \else%
- \large\upshape\fontseries{sb}\selectfont\fi}
- \renewcommand*{\hintfont}{\bfseries}
- % styles
- \renewcommand*{\sectionstyle}[1]{{%
- \if@center\centering\else%
- \if@right\raggedleft\fi\fi%
- \sectionfont\textcolor{color1}{#1}%
- \if@shortrules\else%
- \par\fi}}
- \renewcommand*{\subsectionstyle}[1]{{%
- \if@center\centering\else%
- \if@right\raggedleft\fi\fi%
- \subsectionfont\textcolor{color1}{#1}%
- \if@shortrules\else\if@mixedrules\else%
- \par\fi\fi}}
- \renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
- %-------------------------------------------------------------------------------
- % resume body definition
- %-------------------------------------------------------------------------------
- % lengths
- % used by \cvitem (and all children command)
- \@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.3\textwidth}
- \@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth}
- \@initializelength{\maincolumnwidth}
- % used by \cvdoubleitem
- \@initializelength{\doubleitemcolumnwidth}
- % used by \cvlistitem
- \@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
- \@initializelength{\listitemcolumnwidth}
- % used by \cvlistdoubleitem
- \@initializelength{\listdoubleitemcolumnwidth}
- % commands
- \renewcommand*{\recomputecvbodylengths}{%
- % body lengths
- \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip}%
- \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
- \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
- \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
- \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
- \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
- % regular lengths
- \setlength{\parskip}{0\p@}}
- \RenewDocumentCommand{\section}{sm}{%
- \par\addvspace{2.5ex}%
- \phantomsection{}% reset the anchor for hyperrefs
- \addcontentsline{toc}{section}{#2}%
- \if@left\else\if@fullrules\else\if@mixedrules\else%
- \sectionrule\fi\fi\fi%
- \strut\sectionstyle{#2}%
- \if@fullrules%
- \sectionrule%
- \else\if@mixedrules%
- \sectionrule%
- \else\if@right\else%
- \sectionrule\fi\fi\fi%
- \par\nobreak\addvspace{1ex}\@afterheading}
- \RenewDocumentCommand{\subsection}{sm}{%
- \par\addvspace{1ex}%
- \phantomsection{}%
- \addcontentsline{toc}{subsection}{#2}%
- \if@left\else\if@fullrules\else%
- \subsectionrule\fi\fi%
- \strut\subsectionstyle{#2}%
- \if@fullrules%
- \subsectionrule%
- \else\if@right\else%
- \subsectionrule\fi\fi%
- \par\nobreak\addvspace{0.5ex}\@afterheading}
- \newcommand*{\sectionrule}{}
- \newcommand*{\subsectionrule}{}
- \if@fullrules%
- \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
- \if@shortrules%
- \renewcommand*{\sectionrule}{\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
- \if@mixedrules%
- \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
- \if@norules%
- \renewcommand*{\sectionrule}{}
- \renewcommand*{\subsectionrule}{}\fi
- \renewcommand*{\cvitem}[3][.25em]{%
- \ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}%
- \par\addvspace{#1}}
- \renewcommand*{\cvdoubleitem}[5][.25em]{%
- \begin{minipage}[t]{\doubleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
- \hfill% fill of \separatorcolumnwidth
- \begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
- \par\addvspace{#1}}
- \renewcommand*{\cvlistitem}[2][.25em]{%
- \listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}%
- \par\addvspace{#1}}
- \renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
- \hfill% fill of \separatorcolumnwidth
- \ifthenelse{\equal{#3}{}}%
- {}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
- \renewcommand*{\cventry}[7][.25em]{
- \begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
- {\bfseries #4} & {\bfseries #5}\\%
- {\itshape #3\ifthenelse{\equal{#6}{}}{}{, #6}} & {\itshape #2}\\%
- \end{tabular*}%
- \ifx&%
- \else{\\%
- \begin{minipage}{\maincolumnwidth}%
- \small#7%
- \end{minipage}}\fi%
- \par\addvspace{#1}}
- \@initializebox{\cvitemwithcommentmainbox}
- \@initializelength{\cvitemwithcommentmainlength}
- \@initializelength{\cvitemwithcommentcommentlength}
- \renewcommand*{\cvitemwithcomment}[4][.25em]{%
- \savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}%
- \setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}%
- \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}%
- \begin{minipage}[t]{\cvitemwithcommentmainlength}\usebox{\cvitemwithcommentmainbox}\end{minipage}%
- \hfill% fill of \separatorcolumnwidth
- \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}%
- \par\addvspace{#1}}
- \renewenvironment{thebibliography}[1]%
- {%
- \bibliographyhead{\refname}%
- % \small%
- \begin{list}{\bibliographyitemlabel}%
- {%
- \setlength{\topsep}{0pt}%
- \setlength{\labelwidth}{0pt}%
- \ifthenelse{\equal{\bibliographyitemlabel}{}}%
- {\setlength{\labelsep}{0pt}}%
- {\setlength{\labelsep}{\separatorcolumnwidth}}%
- \leftmargin\labelwidth%
- \advance\leftmargin\labelsep%
- \@openbib@code%
- \usecounter{enumiv}%
- \let\p@enumiv\@empty%
- \renewcommand\theenumiv{\@arabic\c@enumiv}}%
- \sloppy%
- \clubpenalty4000%\@clubpenalty \clubpenalty%
- \widowpenalty4000%
- \sfcode`\.\@m%
- \sfcode `\=1000\relax}%
- {%
- \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
- \end{list}}
- %-------------------------------------------------------------------------------
- % letter style definition
- %-------------------------------------------------------------------------------
- % commands
- \renewcommand*{\recomputeletterbodylengths}{%
- \recomputecvbodylengths%
- \setlength{\parskip}{6\p@}}
- \renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
- {\bfseries\@firstname~\@lastname}%
- \ifthenelse{\isundefined{\@enclosure}}{}{%
- \\%
- \vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
- \vfil}
- \endinput
- %% end of file `moderncvbodyiii.sty'.
|