123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- %% start of file `moderncvbodyv.sty'.
- %% Copyright 2015-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{moderncvbodyv}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 5]
- %-------------------------------------------------------------------------------
- % required packages
- %-------------------------------------------------------------------------------
- %-------------------------------------------------------------------------------
- % overall style definition
- %-------------------------------------------------------------------------------
- %-------------------------------------------------------------------------------
- % resume style definition
- %-------------------------------------------------------------------------------
- % fonts
- \renewcommand*{\sectionfont}{\Large\mdseries\upshape}
- \renewcommand*{\subsectionfont}{\large\mdseries\slshape}
- \renewcommand*{\hintfont}{\bfseries}
- % styles
- \renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
- \renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
- \renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
- % lengths
- % used by \cvitem (and all children command)
- \@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.25\textwidth}
- \@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth}
- \@initializelength{\separatorrulewidth} \setlength{\separatorrulewidth}{1.2\p@}%
- \@initializelength{\maincolumnwidth}
- % used by \cvdoubleitem
- \@initializelength{\doubleitemcolumnwidth}
- % used by \cvlistitem
- \@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
- \@initializelength{\listitemcolumnwidth}
- %\@initializelength{\listitemmaincolumnwidth}
- % used by \cvlistdoubleitem
- \@initializelength{\listdoubleitemcolumnwidth}
- %\@initializelength{\listdoubleitemmaincolumnwidth}
- % commands
- \@initializecommand{\recomputecvbodylengths}{%
- % body lengths
- \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip-\separatorcolumnwidth-\separatorcolumnwidth-\hintscolumnwidth-\separatorrulewidth}%
- \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@}}
- \@initializeif{\if@aftersection}\@aftersectionfalse%
- \RenewDocumentCommand{\section}{sm}{%
- \addvspace{2.5ex}%
- \phantomsection{}% reset the anchor for hyperrefs
- \addcontentsline{toc}{section}{#2}%
- \noindent\rlap{\@cvitem{\raggedleft\sectionstyle{#2}}{}}%
- \nobreak\@afterheading\@aftersectiontrue\ignorespaces}
- %\@initializeif{\if@aftersubsection}\@aftersubsectionfalse%
- \RenewDocumentCommand{\subsection}{sm}{%
- %\addvspace{1ex}%
- \vspace*{-\arrayrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
- \if@aftersection%
- \par\ignorespaces\fi%
- \phantomsection{}% reset the anchor for hyperrefs
- \addcontentsline{toc}{subsection}{#2}%
- \noindent\rlap{\@cvitem{\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}}{}}%
- \nobreak\@afterheading\@aftersectiontrue\ignorespaces}
- \renewcommand*{\cvitem}[3][.5ex]{%
- \@cvitem[#1]{}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}}}
- % underlying command to implement \cvitem, \subsection and \section
- \newcommand*{\@cvitem}[3][.5ex]{%
- \arrayrulecolor{color1}%
- \setlength\arrayrulewidth{\separatorrulewidth}%
- \if@aftersection\else%
- \vspace*{-\separatorrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
- \noindent%
- % \setlength{\fboxsep}{0pt}\framebox{% start of debuging
- \begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
- \@moderncvstrut{4pt}{16pt}#2 \\[#1]% the spacing needs to be inside the cell for the vertical rule to extend correctly
- \end{tabular}%
- % }% end of debuging
- \par\@aftersectionfalse\ignorespaces}
- \renewcommand*{\cvdoubleitem}[5][.5ex]{%
- \@cvitem[#1]{}{%
- \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}}}
- \renewcommand*{\cvlistitem}[2][.5ex]{%
- \@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
- \renewcommand*{\cvlistdoubleitem}[3][.5ex]{%
- \@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}}}}
- \@initializebox{\cventryyearbox}
- \@initializelength{\cventrytitleboxwidth}
- \renewcommand*{\cventry}[7][.5ex]{%
- \savebox{\cventryyearbox}{%
- \hspace*{2\separatorcolumnwidth}%
- \hintstyle{#2}}%
- \setlength{\cventrytitleboxwidth}{\widthof{\usebox{\cventryyearbox}}}%
- \setlength{\cventrytitleboxwidth}{\maincolumnwidth-\cventrytitleboxwidth}%
- \cvitem[#1]{}{%
- \parbox[t]{\cventrytitleboxwidth}{%
- \strut%
- {\bfseries#3}%
- \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
- \ifthenelse{\equal{#5}{}}{}{, #5}%
- \ifthenelse{\equal{#6}{}}{}{, #6}%
- .\strut}%
- \usebox{\cventryyearbox}}%
- \ifx&%
- \else%
- \vspace*{-4pt}%
- \cvitem[#1]{}{\small#7}\fi}
- \@initializebox{\cvitemwithcommentmainbox}
- \@initializelength{\cvitemwithcommentmainlength}
- \@initializelength{\cvitemwithcommentcommentlength}
- \renewcommand*{\cvitemwithcomment}[4][.5ex]{%
- \savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}%
- \setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}%
- \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}%
- \@cvitem[#1]{}{%
- \begin{minipage}[t]{\cvitemwithcommentmainlength}\usebox{\cvitemwithcommentmainbox}\end{minipage}%
- \hfill% fill of \separatorcolumnwidth
- \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}}
- \renewenvironment{thebibliography}[1]% BUG/TODO: remove extra space between heading and first bibliography entry, as well as after last one
- {%
- \bibliographyhead{\refname}%
- % \small%
- \arrayrulecolor{color1}%
- \setlength\arrayrulewidth{\separatorrulewidth}%
- \noindent%
- \begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
- \@moderncvstrut{4pt}{16pt} &%
- \begin{list}{\bibliographyitemlabel}{%
- \setlength{\topsep}{0pt}%
- \setlength{\partopsep}{0pt}%
- \setlength{\labelwidth}{0pt}%
- \setlength{\itemsep}{0pt}%
- \setlength{\parskip}{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}%
- \\[.5ex]%
- \end{tabular}%
- \par\@aftersectionfalse\ignorespaces}
- %-------------------------------------------------------------------------------
- % letter style definition
- %-------------------------------------------------------------------------------
- % commands
- \renewcommand*{\recomputeletterbodylengths}{%
- \recomputecvbodylengths%
- \setlength{\parskip}{6\p@}}
- \renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
- {\bfseries \@firstname~\@lastname}%
- \ifthenelse{\isundefined{\@enclosure}}{}{%
- \\%
- \vfill%
- {\color{color2}\itshape\enclname: \@enclosure}}}
- \endinput
- %% end of file `moderncvbodyv.sty'.
|