Initial commit with templates for resume, references, and cover letters, along with the last-used resume and skeletons for the current resumes and references
This commit is contained in:
344
2019-07-01_hardware_test_engineer/moderncvstyleoldstyle.sty
Normal file
344
2019-07-01_hardware_test_engineer/moderncvstyleoldstyle.sty
Normal file
@@ -0,0 +1,344 @@
|
||||
%% start of file `moderncvstyleoldstyle.sty'.
|
||||
%% Copyright 2006-2012 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{moderncvstyleoldstyle}[2012/10/31 v1.2.0 modern curriculum vitae and letter style scheme: oldstyle]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
% change the layout of the page on the fly, for resume or letter layout
|
||||
\RequirePackage{changepage}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% package options
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% overall style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% fonts
|
||||
%\ifxetexorluatex
|
||||
% \setmainfont[Numbers={OldStyle,Proportional}, BoldFont={Kurier Bold}, ItalicFont={Kurier Light Italic}, BoldItalicFont={Kurier Bold Italic}]{Kurier Light}
|
||||
% \setsansfont[Numbers={OldStyle,Proportional}, BoldFont={Kurier Bold}, ItalicFont={Kurier Light Italic}, BoldItalicFont={Kurier Bold Italic}]{Kurier Light}
|
||||
% \setmathfont{Kurier Light}
|
||||
% \setmathfont[range=\mathit,\mathsfit]{Kurier Light Italic}
|
||||
% \setmathfont[range=\mathbfup,\mathbfsfup]{Kurier Bold}
|
||||
% \setmathfont[range=\mathbfit,\mathbfsfit]{Kurier Bold Italic}
|
||||
%\else
|
||||
\IfFileExists{kurier.sty}%
|
||||
{\RequirePackage[light,math]{kurier}}%
|
||||
{}
|
||||
%\fi
|
||||
|
||||
% symbols
|
||||
\renewcommand*{\listitemsymbol}{\labelitemi~}
|
||||
\renewcommand*{\addresssymbol}{}
|
||||
\renewcommand*{\mobilesymbol}{\textbf{M}~}
|
||||
\renewcommand*{\phonesymbol}{\textbf{T}~}
|
||||
\renewcommand*{\faxsymbol}{\textbf{F}~}
|
||||
\renewcommand*{\emailsymbol}{\textbf{E}~}
|
||||
\renewcommand*{\homepagesymbol}{}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% resume style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% fonts
|
||||
\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape}
|
||||
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
|
||||
\renewcommand*{\addressfont}{\small\mdseries}
|
||||
\renewcommand*{\quotefont}{\large\itshape}
|
||||
\renewcommand*{\sectionfont}{\Large\bfseries\upshape}
|
||||
\renewcommand*{\subsectionfont}{\large\bfseries\itshape}
|
||||
\renewcommand*{\hintfont}{\bfseries}
|
||||
|
||||
% styles
|
||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
|
||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
|
||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
|
||||
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
|
||||
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
|
||||
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
||||
|
||||
% lengths
|
||||
\newlength{\quotewidth}
|
||||
\newlength{\hintscolumnwidth}
|
||||
\setlength{\hintscolumnwidth}{0.3\textwidth}%
|
||||
\newlength{\separatorcolumnwidth}
|
||||
\setlength{\separatorcolumnwidth}{0.025\textwidth}%
|
||||
\newlength{\maincolumnwidth}
|
||||
\newlength{\doubleitemcolumnwidth}
|
||||
\newlength{\listitemsymbolwidth}
|
||||
\settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||
\newlength{\listitemmaincolumnwidth}
|
||||
\newlength{\listdoubleitemmaincolumnwidth}
|
||||
|
||||
% commands
|
||||
\setlength{\marginparwidth}{0\p@}%
|
||||
\setlength{\marginparsep}{0\p@}
|
||||
\renewcommand*{\recomputecvlengths}{%
|
||||
% regular lengths
|
||||
\changepage{}{+\marginparwidth+\marginparsep}{}{}{}{}{}{}{}% if a letter was typeset before the resume, \marginparwidth and \marginparsep will be non-zero; otherwise, this has no effect
|
||||
\setlength{\marginparwidth}{0\p@}%
|
||||
\setlength{\marginparsep}{0\p@}
|
||||
\setlength{\parskip}{0\p@}%
|
||||
% maketitle lengths
|
||||
\setlength{\quotewidth}{0.65\textwidth}%
|
||||
% main lenghts
|
||||
\setlength{\maincolumnwidth}{\textwidth-\hintscolumnwidth-\separatorcolumnwidth}%
|
||||
% listitem lengths
|
||||
\setlength{\listitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||
% doubleitem lengths
|
||||
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
||||
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||
% listdoubleitem lengths
|
||||
\setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||
\setlength{\listdoubleitemmaincolumnwidth}{0.5\listdoubleitemmaincolumnwidth}%
|
||||
% fancyhdr lengths
|
||||
\renewcommand{\headwidth}{\textwidth}}
|
||||
|
||||
\newcommand{\makecvinfo}[1]{%
|
||||
\newbox{\makecvinfobox}%
|
||||
\savebox{\makecvinfobox}{\parbox[t]{\hintscolumnwidth}{#1}}%
|
||||
\newlength{\makecvinfoheight}%
|
||||
\setlength{\makecvinfoheight}{\totalheightof{\usebox{\makecvinfobox}}}% the total height of the parbox is the sum of its height (\the\ht\makeinfobox) and its depth (\the\dp\makeinfobox); the \totalheightof command is provided by the "calc" package
|
||||
\usebox{\makecvinfobox}\vspace{-\makecvinfoheight}%
|
||||
\newlength{\leftcolumnwidth}%
|
||||
\setlength{\leftcolumnwidth}{\hintscolumnwidth+\separatorcolumnwidth}%
|
||||
\par\vspace{-\baselineskip}\vspace{-\parskip}\leftskip=\leftcolumnwidth}
|
||||
|
||||
\renewcommand*{\makecvtitle}{
|
||||
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||
\recomputecvlengths%
|
||||
% optional picture box
|
||||
\newbox{\makecvtitlepicturebox}%
|
||||
\savebox{\makecvtitlepicturebox}{%
|
||||
\ifthenelse{\isundefined{\@photo}}%
|
||||
{}%
|
||||
{%
|
||||
\color{color1}%
|
||||
\setlength\fboxrule{\@photoframewidth}%
|
||||
\ifdim
|
||||
\@photoframewidth=0pt%
|
||||
\setlength{\fboxsep}{0pt}
|
||||
\fi%
|
||||
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
|
||||
% name and title
|
||||
\newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
|
||||
\newlength{\makecvtitlenamewidth}\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitlepicturewidth}%
|
||||
\begin{minipage}[b]{\makecvtitlenamewidth}%
|
||||
\namestyle{\@firstname\ \@familyname}%
|
||||
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
||||
\end{minipage}%
|
||||
% optional photo
|
||||
\usebox{\makecvtitlepicturebox}\\[2.5em]%
|
||||
% optional quote
|
||||
\ifthenelse{\isundefined{\@quote}}%
|
||||
{}%
|
||||
{{\centering\begin{minipage}{\quotewidth}
|
||||
\centering\quotestyle{\@quote}
|
||||
\end{minipage}\\[2.5em]}}%
|
||||
% optional details
|
||||
\makecvinfo{%
|
||||
\addressfont\color{color2}%
|
||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}% if \addresstreet is defined, \addresscity will always be defined but could be empty
|
||||
\ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}%
|
||||
\ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
|
||||
\ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
|
||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||
\ifthenelse{\isundefined{\@homepage}}{}{%
|
||||
\ifthenelse{\equal{\@homepagetitle}{}}% \homepagetitle could be empty
|
||||
{\makenewline\homepagesymbol\httplink{\@homepage}}%
|
||||
{\makenewline\homepagesymbol\httplink[\@homepagetitle]{\@homepage}}}%
|
||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}
|
||||
|
||||
\renewcommand*{\section}[1]{%
|
||||
\par\addvspace{2.5ex}%
|
||||
\phantomsection{}% reset the anchor for hyperrefs
|
||||
\addcontentsline{toc}{section}{#1}%
|
||||
\strut\sectionstyle{#1}%
|
||||
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
|
||||
|
||||
\renewcommand*{\subsection}[1]{%
|
||||
\par\addvspace{1ex}%
|
||||
\phantomsection{}% reset the anchor for hyperrefs
|
||||
\addcontentsline{toc}{subsection}{#1}%
|
||||
\strut\subsectionstyle{#1}%
|
||||
\par\nobreak\addvspace{0.5ex}\@afterheading}% to avoid a pagebreak after the heading
|
||||
|
||||
\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]{\listitemmaincolumnwidth}
|
||||
#2
|
||||
\end{minipage}}}
|
||||
|
||||
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}
|
||||
#2
|
||||
\end{minipage}%
|
||||
\hfill% fill of \separatorcolumnwidth
|
||||
\ifthenelse{\equal{#3}{}}%
|
||||
{}%
|
||||
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}
|
||||
#3
|
||||
\end{minipage}}}}
|
||||
|
||||
\newbox{\cventryyearbox}
|
||||
\newlength{\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}%
|
||||
\ifx
|
||||
&%
|
||||
\else
|
||||
{%
|
||||
\newline{}%
|
||||
\begin{minipage}[t]{\maincolumnwidth}%
|
||||
\small%
|
||||
#7%
|
||||
\end{minipage}}
|
||||
\fi%
|
||||
\par\addvspace{#1}}
|
||||
|
||||
\newbox{\cvitemwithcommentmainbox}
|
||||
\newlength{\cvitemwithcommentmainlength}
|
||||
\newlength{\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}
|
||||
\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3
|
||||
\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\widowpenalty4000%
|
||||
% \sfcode`\.\@m%
|
||||
% \sfcode `\=1000\relax%
|
||||
}%
|
||||
{%
|
||||
\def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% letter style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% commands
|
||||
%\newlength{\textwidthdelta}%
|
||||
\renewcommand*{\recomputeletterlengths}{%
|
||||
\recomputecvlengths%
|
||||
\setlength{\parskip}{6\p@}%
|
||||
\leftskip=0pt%
|
||||
% \setlength{\textwidthdelta}{+\marginparwidth+\marginparsep}%
|
||||
\setlength{\marginparwidth}{\hintscolumnwidth}%
|
||||
\setlength{\marginparsep}{2\separatorcolumnwidth}%
|
||||
% \addtolength{\textwidthdelta}{-\marginparwidth-\marginparsep}%
|
||||
% \changepage{}{\textwidthdelta}{-\textwidthdelta}{}{}{}{}{}{}%\changepage{<textheight>}{<textwidth>}{<evensidemargin>}{<oddsidemargin>}{<columnsep>}{<topmargin>}{<headheight>}{<headsep>}{<footskip>}
|
||||
\changepage{}{-\marginparwidth-\marginparsep}{}{}{}{}{}{}{}%\changepage{<textheight>}{<textwidth>}{<evensidemargin>}{<oddsidemargin>}{<columnsep>}{<topmargin>}{<headheight>}{<headsep>}{<footskip>}
|
||||
}
|
||||
|
||||
\renewcommand*{\makelettertitle}{%
|
||||
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||
\recomputeletterlengths%
|
||||
% recipient block
|
||||
{\addressfont%
|
||||
{\bfseries\upshape\@recipientname}\\%
|
||||
\@recipientaddress}\\[1em]%
|
||||
% date
|
||||
\@date\\[2em]%
|
||||
% opening
|
||||
\@opening\\[1.5em]%
|
||||
% sender contact info
|
||||
\hspace{0pt}%
|
||||
\marginpar{%
|
||||
\addressfont\textcolor{color2}{%
|
||||
{\bfseries\@firstname~\@familyname}\@firstdetailselementfalse%
|
||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}%
|
||||
\ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}%
|
||||
\ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
|
||||
\ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
|
||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||
\ifthenelse{\isundefined{\@homepage}}{}{%
|
||||
\ifthenelse{\equal{\@homepagetitle}{}}% \homepagetitle could be empty
|
||||
{\makenewline\homepagesymbol\httplink{\@homepage}}%
|
||||
{\makenewline\homepagesymbol\httplink[\@homepagetitle]{\@homepage}}}%
|
||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
|
||||
% ensure no extra spacing after \makelettertitle due to a possible blank line
|
||||
% \ignorespacesafterend% not working
|
||||
\par\vspace{-\baselineskip}\vspace{-\parskip}}
|
||||
|
||||
\renewcommand*{\makeletterclosing}{
|
||||
\@closing\\[3em]%
|
||||
{\bfseries\@firstname~\@familyname}%
|
||||
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||
\\%
|
||||
\vfill%
|
||||
{\color{color2}\itshape\enclname: \@enclosure}}}
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvstyleoldstyle.sty'.
|
||||
Reference in New Issue
Block a user