parent
d3458333f9
commit
47ba812c88
|
|
@ -0,0 +1,186 @@
|
|||
%% start of file `moderncvbodyiv.sty'.
|
||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
|
||||
%
|
||||
% 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{moderncvbodyiv}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 4]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
% provides the commands for the skillmatrix as well as the command
|
||||
% \recompute@cvskillmatrix@lengths
|
||||
\RequirePackage[moderncvbodyiv]{moderncvskillmatrix}
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% overall body definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% fonts
|
||||
\renewcommand*{\sectionfont}{\Large\bfseries\upshape}
|
||||
\renewcommand*{\subsectionfont}{\large\bfseries\itshape}
|
||||
\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}}}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% 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}%
|
||||
\recompute@cvskillmatrix@lengths
|
||||
% regular lengths
|
||||
\setlength{\parskip}{0\p@}}
|
||||
|
||||
\RenewDocumentCommand{\section}{sm}{%
|
||||
\par\addvspace{2.5ex}%
|
||||
\phantomsection{}% reset the anchor for hyperrefs
|
||||
\addcontentsline{toc}{section}{#2}%
|
||||
\strut\sectionstyle{#2}%
|
||||
\par\nobreak\addvspace{1ex}\@afterheading}
|
||||
|
||||
\RenewDocumentCommand{\subsection}{sm}{%
|
||||
\par\addvspace{1ex}%
|
||||
\phantomsection{}%
|
||||
\addcontentsline{toc}{subsection}{#2}%
|
||||
\strut\subsectionstyle{#2}%
|
||||
\par\nobreak\addvspace{0.5ex}\@afterheading}
|
||||
|
||||
\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]{%
|
||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
|
||||
|
||||
\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}}}}
|
||||
|
||||
\@initializebox{\cventryyearbox}
|
||||
\@initializelength{\cventrytitleboxwidth}
|
||||
\renewcommand*{\cventry}[7][.25em]{%
|
||||
\savebox{\cventryyearbox}{%
|
||||
\hspace*{2\separatorcolumnwidth}%
|
||||
\hintstyle{#2}}%
|
||||
\setlength{\cventrytitleboxwidth}{\widthof{\usebox{\cventryyearbox}}}%
|
||||
\setlength{\cventrytitleboxwidth}{\maincolumnwidth-\cventrytitleboxwidth}%
|
||||
\begin{minipage}{\maincolumnwidth}%
|
||||
\parbox[t]{\cventrytitleboxwidth}{%
|
||||
\strut%
|
||||
{\bfseries#3}%
|
||||
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
|
||||
\ifthenelse{\equal{#5}{}}{}{, #5}%
|
||||
\ifthenelse{\equal{#6}{}}{}{, #6}%
|
||||
.\strut}%
|
||||
\usebox{\cventryyearbox}%
|
||||
\end{minipage}\strut%
|
||||
\ifx&%
|
||||
\else{%
|
||||
\newline{}%
|
||||
\strut%
|
||||
\begin{minipage}[t]{\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}{\hintscolumnwidth}%
|
||||
\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 `moderncvbodyiv.sty'.
|
||||
|
|
@ -0,0 +1,221 @@
|
|||
%% start of file `moderncvbodyv.sty'.
|
||||
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
|
||||
%
|
||||
% 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}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 5]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
% provides the commands for the skillmatrix as well as the command
|
||||
% \recompute@cvskillmatrix@lengths
|
||||
\RequirePackage[moderncvbodyv]{moderncvskillmatrix}
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% 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}%
|
||||
\recompute@cvskillmatrix@lengths
|
||||
% 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}}%
|
||||
}
|
||||
% \RenewDocumentCommand{\cvitem}{+O{.5ex} +m +m}{%
|
||||
% \IfNoValueTF{#2}{%
|
||||
% \@cvitem[#1]{}{#3}%
|
||||
% }{%
|
||||
% \@cvitem[#1]{}{\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'.
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
%% start of file `moderncvcollection.sty'.
|
||||
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
|
||||
%
|
||||
% 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{moderncvcollection}[2022-02-21 v2.3.1 moderncv collections]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% requirements
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
\RequirePackage{ifthen}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% code
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
% creates a new collection
|
||||
% usage: \collectionnew{<collection name>}
|
||||
\NewDocumentCommand\collectionnew{m}{%
|
||||
\newcounter{collection@#1@count}%
|
||||
}%
|
||||
|
||||
% adds an item to a collection
|
||||
% usage: \collectionadd[<optional key>]{<collection name>}{<item to add>}
|
||||
\NewDocumentCommand\collectionadd{ O{} m m }{%
|
||||
\expandafter\def\csname collection@#2@item\roman{collection@#2@count}\endcsname{#3}%
|
||||
\def\optional@FirstArg{#1}%
|
||||
\ifdefempty{\optional@FirstArg}{%
|
||||
\relax% if #1 is empty
|
||||
}{%
|
||||
\expandafter\def\csname collection@#2@key\roman{collection@#2@count}\endcsname{#1}%
|
||||
}%
|
||||
\stepcounter{collection@#2@count}%
|
||||
}%
|
||||
% returns the number of items in a collection
|
||||
% usage: \collectioncount{<collection name>}
|
||||
\NewDocumentCommand\collectioncount{m}{%
|
||||
\value{collection@#1@count}%
|
||||
}%
|
||||
% gets an item from a collection
|
||||
% usage: \collectiongetitem{<collection name>}{<element id>}
|
||||
% where <element id> is an integer between 0 and (collectioncount-1)
|
||||
\NewDocumentCommand\collectiongetitem{m m}{%
|
||||
\csname collection@#1@item\romannumeral #2\endcsname%
|
||||
}%
|
||||
|
||||
% gets a key from a collection
|
||||
% usage: \collectiongetkey{<collection name>}{<element id>}
|
||||
% where <element id> is an integer between 0 and (collectioncount-1)
|
||||
\NewDocumentCommand\collectiongetkey{m m}{%
|
||||
\csname collection@#1@key\romannumeral #2\endcsname%
|
||||
}%
|
||||
% loops through a collection and perform the given operation on every element
|
||||
% usage: \collectionloop{<collection name>}{<operation sequence>}
|
||||
% where <operation sequence> is the code sequence to be evaluated for each collection item,
|
||||
% code which can refer to \collectionloopid, \collectionloopkey, \collectionloopitem and
|
||||
% \collectionloopbreak
|
||||
\newcounter{collection@iterator}
|
||||
\NewDocumentCommand\collectionloopbreak{}{\let\iterate\relax}
|
||||
\NewDocumentCommand\collectionloop{m m}{%
|
||||
\setcounter{collection@iterator}{0}%
|
||||
\loop\ifnum\value{collection@iterator}<\value{collection@#1@count}%
|
||||
\def\collectionloopid{\arabic{collection@iterator}}%
|
||||
\def\collectionloopitem{\collectiongetitem{#1}{\collectionloopid}}%
|
||||
\def\collectionloopkey{\collectiongetkey{#1}{\collectionloopid}}%
|
||||
#2%
|
||||
\stepcounter{collection@iterator}%
|
||||
\repeat%
|
||||
}
|
||||
|
||||
% loops through a collection and finds the (first) element matching the given key
|
||||
% usage: \collectionfindbykey{<collection name>}{key>}
|
||||
\NewDocumentCommand\collectionfindbykey{m m}{%
|
||||
\collectionloop{#1}{%
|
||||
\ifthenelse{\equal{\collectionloopkey}{#2}}{\collectionloopitem\collectionloopbreak}{}}%
|
||||
}%
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvcollection.cls'.
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
%% start of file `moderncvcolorblack.sty'.
|
||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
|
||||
%
|
||||
% 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{moderncvcolorblack}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: black]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% color scheme definition
|
||||
%-------------------------------------------------------------------------------
|
||||
\definecolor{color0}{rgb}{0,0,0}% black
|
||||
\definecolor{color1}{rgb}{0,0,0}% black
|
||||
\definecolor{color2}{rgb}{0,0,0}% black
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvcolorblack.sty'.
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
%% start of file `moderncvcolorblue.sty'.
|
||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
|
||||
%
|
||||
% 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{moderncvcolorblue}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: blue]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% color scheme definition
|
||||
%-------------------------------------------------------------------------------
|
||||
\definecolor{color0}{rgb}{0,0,0}% black
|
||||
\definecolor{color1}{rgb}{0.22,0.45,0.70}% light blue
|
||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvcolorblue.sty'.
|
||||
Loading…
Reference in New Issue