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:
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
**/*.aux
|
||||
**/*.log
|
||||
**/*.out
|
||||
|
||||
.idea
|
||||
|
||||
_templates/**/*.pdf
|
||||
Binary file not shown.
BIN
2019-07-01_hardware_test_engineer/logo.png
Normal file
BIN
2019-07-01_hardware_test_engineer/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
474
2019-07-01_hardware_test_engineer/moderncv.cls
Normal file
474
2019-07-01_hardware_test_engineer/moderncv.cls
Normal file
@@ -0,0 +1,474 @@
|
||||
%% start of file `moderncv.cls'.
|
||||
%% 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}
|
||||
\ProvidesClass{moderncv}[2012/10/31 v1.2.0 modern curriculum vitae and letter document class]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% class options
|
||||
%
|
||||
% (need to be done before the external package loading, for example because
|
||||
% we need \paperwidth, \paperheight and \@ptsize to be defined before loading
|
||||
% geometry and fancyhdr)
|
||||
%-------------------------------------------------------------------------------
|
||||
% paper size option
|
||||
\DeclareOption{a4paper}{
|
||||
\setlength\paperheight{297mm}
|
||||
\setlength\paperwidth{210mm}}
|
||||
\DeclareOption{a5paper}{
|
||||
\setlength\paperheight{210mm}
|
||||
\setlength\paperwidth{148mm}}
|
||||
\DeclareOption{b5paper}{
|
||||
\setlength\paperheight{250mm}
|
||||
\setlength\paperwidth{176mm}}
|
||||
\DeclareOption{letterpaper}{
|
||||
\setlength\paperheight{11in}
|
||||
\setlength\paperwidth{8.5in}}
|
||||
\DeclareOption{legalpaper}{
|
||||
\setlength\paperheight{14in}
|
||||
\setlength\paperwidth{8.5in}}
|
||||
\DeclareOption{executivepaper}{
|
||||
\setlength\paperheight{10.5in}
|
||||
\setlength\paperwidth{7.25in}}
|
||||
\DeclareOption{landscape}{
|
||||
\setlength\@tempdima{\paperheight}
|
||||
\setlength\paperheight{\paperwidth}
|
||||
\setlength\paperwidth{\@tempdima}}
|
||||
|
||||
% font size options
|
||||
\newcommand\@ptsize{}
|
||||
\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
|
||||
\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
|
||||
\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
|
||||
|
||||
% font type options
|
||||
\DeclareOption{sans}{\AtBeginDocument{\renewcommand{\familydefault}{\sfdefault}}}
|
||||
\DeclareOption{roman}{\AtBeginDocument{\renewcommand{\familydefault}{\rmdefault}}}
|
||||
|
||||
% draft/final option
|
||||
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
|
||||
\DeclareOption{final}{\setlength\overfullrule{0pt}}
|
||||
|
||||
% execute default options
|
||||
\ExecuteOptions{a4paper,11pt,final}
|
||||
|
||||
% process given options
|
||||
\ProcessOptions\relax
|
||||
\input{size1\@ptsize.clo}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
% \AtEndPreamble hook (loading etoolbox instead of defining the macro, as to avoid incompatibilities with etoolbox (and packages relying on it) defining the macro too)
|
||||
\RequirePackage{etoolbox}
|
||||
%\let\@endpreamblehook\@empty
|
||||
%\def\AtEndPreamble{\g@addto@macro\@endpreamblehook}
|
||||
%\let\document@original\document
|
||||
%\def\document{\endgroup\@endpreamblehook\begingroup\document@original}
|
||||
|
||||
% if... then... else... constructs
|
||||
\RequirePackage{ifthen}
|
||||
% TODO: move to xifthen and \isempty{<arg>} instead of \equal{<arg>}{}
|
||||
|
||||
% color
|
||||
\RequirePackage{xcolor}
|
||||
|
||||
% font loading
|
||||
%\usepackage{ifxetex,ifluatex}
|
||||
%\newif\ifxetexorluatex
|
||||
%\ifxetex
|
||||
% \xetexorluatextrue
|
||||
%\else
|
||||
% \ifluatex
|
||||
% \xetexorluatextrue
|
||||
% \else
|
||||
% \xetexorluatexfalse
|
||||
% \fi
|
||||
%\fi
|
||||
% automatic loading of latin modern fonts
|
||||
%\ifxetexorluatex
|
||||
% \RequirePackage{fontspec}
|
||||
% \defaultfontfeatures{Ligatures=TeX}
|
||||
% \RequirePackage{unicode-math}
|
||||
% \setmainfont{Latin Modern}
|
||||
% \setsansfont{Latin Modern Sans}
|
||||
% \setmathfont{Latin Modern Math}
|
||||
%\else
|
||||
\RequirePackage[T1]{fontenc}
|
||||
\IfFileExists{lmodern.sty}%
|
||||
{\RequirePackage{lmodern}}%
|
||||
{}
|
||||
%\fi
|
||||
|
||||
% MarVoSym font for symbols
|
||||
%\RequirePackage{marvosym}
|
||||
\newcommand*{\marvosymbol}[1]{}
|
||||
%\ifxetexorluatex
|
||||
% \renewcommand*{\marvosymbol}[1]{{\fontspec{MarVoSym}\char#1}}
|
||||
%\else
|
||||
\renewcommand*{\marvosymbol}[1]{{\fontfamily{mvs}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char#1}}
|
||||
%\fi
|
||||
|
||||
% hyper links (hyperref is loaded at the end of the preamble to pass options required by loaded packages such as CJK)
|
||||
\RequirePackage{url}
|
||||
\urlstyle{tt}
|
||||
\AtEndPreamble{
|
||||
\pagenumbering{arabic}% has to be issued before loading hyperref, as to set \thepage and hence to avoid hyperref issuing a warning and setting pdfpagelabels=false
|
||||
\RequirePackage[unicode]{hyperref}% unicode is required for unicode pdf metadata
|
||||
\hypersetup{
|
||||
breaklinks,
|
||||
baseurl = http://,
|
||||
pdfborder = 0 0 0,
|
||||
pdfpagemode = UseNone,% do not show thumbnails or bookmarks on opening
|
||||
pdfstartpage = 1,
|
||||
pdfcreator = {\LaTeX{} with 'moderncv' package},
|
||||
% pdfproducer = {\LaTeX{}},% will/should be set automatically to the correct TeX engine used
|
||||
bookmarksopen = true,
|
||||
bookmarksdepth= 2,% to show sections and subsections
|
||||
pdfauthor = {\@firstname{}~\@familyname{}},
|
||||
pdftitle = {\@firstname{}~\@familyname{} -- \@title{}},
|
||||
pdfsubject = {Resum\'{e} of \@firstname{}~\@familyname{}},
|
||||
pdfkeywords = {\@firstname{}~\@familyname{}, curriculum vit\ae{}, resum\'{e}}}}
|
||||
|
||||
% graphics
|
||||
\RequirePackage{graphicx}
|
||||
|
||||
% headers and footers
|
||||
\RequirePackage{fancyhdr}
|
||||
\fancypagestyle{plain}{
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
\renewcommand{\footrulewidth}{0pt}
|
||||
\fancyhf{}}
|
||||
% page numbers in footer if more than 1 page
|
||||
\newif\if@displaypagenumbers\@displaypagenumberstrue
|
||||
\newcommand*{\nopagenumbers}{\@displaypagenumbersfalse}
|
||||
\AtEndPreamble{%
|
||||
\AtBeginDocument{%
|
||||
\if@displaypagenumbers%
|
||||
\@ifundefined{r@lastpage}{}{%
|
||||
\ifthenelse{\pageref{lastpage}>1}{%
|
||||
\newlength{\pagenumberwidth}%
|
||||
\settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
|
||||
\fancypagestyle{plain}{%
|
||||
\fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
|
||||
\pagestyle{plain}}{}}%
|
||||
\AtEndDocument{\label{lastpage}}\else\fi}}
|
||||
\pagestyle{plain}
|
||||
|
||||
% lengths calculations
|
||||
\RequirePackage{calc}
|
||||
|
||||
% advanced command arguments (LaTeX 3)
|
||||
\RequirePackage{xargs}
|
||||
% TODO (?): replace all \newcommand by \NewDocumentCommand
|
||||
|
||||
% micro-typography (e.g., character protrusion, font expansion, hyphenatable letterspacing)
|
||||
\RequirePackage{microtype}
|
||||
|
||||
% compatibility package with older versions of moderncv
|
||||
\RequirePackageWithOptions{moderncvcompatibility}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% class definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% minimal base settings
|
||||
\setlength\lineskip{1\p@}
|
||||
\setlength\normallineskip{1\p@}
|
||||
\renewcommand\baselinestretch{}
|
||||
\setlength{\parindent}{0\p@}
|
||||
\setlength{\parskip}{0\p@}
|
||||
\setlength\columnsep{10\p@}
|
||||
\setlength\columnseprule{0\p@}
|
||||
\setlength\fboxsep{3\p@}
|
||||
\setlength\fboxrule{.4\p@}
|
||||
\setlength\arrayrulewidth{.4\p@}
|
||||
\setlength\doublerulesep{2\p@}
|
||||
|
||||
% not set on purpose
|
||||
%\setlength\arraycolsep{5\p@}
|
||||
%\setlength\tabcolsep{6\p@}
|
||||
%\setlength\tabbingsep{\labelsep}
|
||||
|
||||
\raggedbottom
|
||||
\onecolumn
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% overall design commands definitions
|
||||
%-------------------------------------------------------------------------------
|
||||
% elements
|
||||
\newcommand*{\firstname}[1]{\def\@firstname{#1}}
|
||||
\newcommand*{\familyname}[1]{\def\@familyname{#1}}
|
||||
\renewcommand*{\title}[1]{\def\@title{#1}}
|
||||
\newcommand*{\address}[2]{\def\@addressstreet{#1}\def\@addresscity{#2}}
|
||||
\newcommand*{\mobile}[1]{\def\@mobile{#1}}
|
||||
\newcommand*{\phone}[1]{\def\@phone{#1}}
|
||||
\newcommand*{\fax}[1]{\def\@fax{#1}}
|
||||
\newcommand*{\email}[1]{\def\@email{#1}}
|
||||
\newcommand*{\homepage}[2]{\def\@homepage{#1}\def\@homepagetitle{#2}}
|
||||
|
||||
% colors
|
||||
\definecolor{color0}{rgb}{0,0,0}% main default color, normally left to black
|
||||
\definecolor{color1}{rgb}{0,0,0}% primary theme color
|
||||
\definecolor{color2}{rgb}{0,0,0}% secondary theme color
|
||||
\definecolor{color3}{rgb}{0,0,0}% tertiary theme color
|
||||
|
||||
% symbols
|
||||
% itemize labels (the struts were added to correct inter-item spacing (works for single line items, until a solution is found for multi-line ones...)
|
||||
\newcommand*{\labelitemi}{\strut\textcolor{color1}{\marvosymbol{123}}}% equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}
|
||||
\newcommand*{\labelitemii}{\strut\textcolor{color1}{\large\bfseries-}}
|
||||
\newcommand*{\labelitemiii}{\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% alternative: \textasteriskcentered; the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
||||
\newcommand*{\labelitemiv}{\labelitemiii}
|
||||
% enumerate labels
|
||||
\renewcommand{\theenumi}{\@arabic\c@enumi}
|
||||
\renewcommand{\theenumii}{\@alph\c@enumii}
|
||||
\renewcommand{\theenumiii}{\@roman\c@enumiii}
|
||||
\renewcommand{\theenumiv}{\@Alph\c@enumiv}
|
||||
% other symbols
|
||||
\newcommand*{\listitemsymbol}{\labelitemi~}
|
||||
\newcommand*{\addresssymbol}{}
|
||||
\newcommand*{\mobilesymbol}{}
|
||||
\newcommand*{\phonesymbol}{}
|
||||
\newcommand*{\faxsymbol}{}
|
||||
\newcommand*{\emailsymbol}{}
|
||||
\newcommand*{\homepagesymbol}{}
|
||||
|
||||
% fonts
|
||||
\AtBeginDocument{\normalfont\color{color0}}
|
||||
|
||||
% strings for internationalisation
|
||||
\newcommand*{\refname}{Publications}
|
||||
\newcommand*{\enclname}{Enclosure}
|
||||
|
||||
% makes the footer (normally used both for the resume and the letter)
|
||||
% usage: \makefooter
|
||||
\newcommand*{\makefooter}{}%
|
||||
|
||||
% loads a style scheme
|
||||
\newcommand*{\moderncvstyle}[1]{
|
||||
\RequirePackage{moderncvstyle#1}}
|
||||
|
||||
% loads a color scheme
|
||||
\newcommand*{\moderncvcolor}[1]{
|
||||
\RequirePackage{moderncvcolor#1}}
|
||||
|
||||
% recomputes all automatic lengths
|
||||
\newcommand*{\recomputelengths}{\recomputecvlengths}
|
||||
\AtBeginDocument{\recomputelengths{}}
|
||||
|
||||
% creates a length if not yet defined
|
||||
\newcommand*{\@initializelength}[1]{%
|
||||
\ifdefined#1\else\newlength{#1}\fi}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% resume design commands definitions
|
||||
%-------------------------------------------------------------------------------
|
||||
% elements
|
||||
\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}}
|
||||
\newcommandx*{\photo}[3][1=64pt,2=0.4pt,usedefault]{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}% the 1st (optional) argument is the width of the photo, the 2nd (optional) argument is the thickness of the frame around it.
|
||||
\newcommand*{\quote}[1]{\def\@quote{#1}}
|
||||
|
||||
% fonts
|
||||
\newcommand*{\namefont}{}
|
||||
\newcommand*{\titlefont}{}
|
||||
\newcommand*{\addressfont}{}
|
||||
\newcommand*{\quotefont}{}
|
||||
\newcommand*{\sectionfont}{}
|
||||
\newcommand*{\subsectionfont}{}
|
||||
\newcommand*{\hintfont}{}
|
||||
|
||||
% styles
|
||||
\newcommand*{\namestyle}[1]{{\namefont#1}}
|
||||
\newcommand*{\titlestyle}[1]{{\titlefont#1}}
|
||||
\newcommand*{\addressstyle}[1]{{\addressfont#1}}
|
||||
\newcommand*{\quotestyle}[1]{{\quotefont#1}}
|
||||
\newcommand*{\sectionstyle}[1]{{\sectionfont#1}}
|
||||
\newcommand*{\subsectionstyle}[1]{{\subsectionfont#1}}
|
||||
\newcommand*{\hintstyle}[1]{{\hintfont#1}}
|
||||
|
||||
% recompute all resume lengths
|
||||
\newcommand*{\recomputecvlengths}{}
|
||||
|
||||
% internal maketitle command to issue a new line only when required
|
||||
\newif\if@firstdetailselement\@firstdetailselementtrue
|
||||
\newcommand*{\makenewline}{
|
||||
\if@firstdetailselement%
|
||||
\strut% to ensure baseline alignment, e.g. with when put in the margin vs sections that also contains a \strut
|
||||
\else%
|
||||
\\\fi%
|
||||
\@firstdetailselementfalse}
|
||||
|
||||
% makes the resume title
|
||||
% usage: \makecvtitle
|
||||
\newcommand*{\makecvtitle}{}
|
||||
|
||||
% makes the resume footer
|
||||
% usage: \makecvfooter
|
||||
\newcommand*{\makecvfooter}{\makefooter}
|
||||
|
||||
% makes a resume section
|
||||
% usage: \section{<title>}
|
||||
\newcommand*{\section}[1]{}
|
||||
% starred variant, which is identical but defined to allow its use (e.g. for natbib compatibility, who uses \section*{} for the bibliography header)
|
||||
\RequirePackage{suffix}
|
||||
\AtBeginDocument{\WithSuffix\newcommand\section*{\section}}
|
||||
|
||||
% makes a resume subsection
|
||||
% usage: \subsection{title}
|
||||
\newcommand*{\subsection}[1]{}
|
||||
\AtBeginDocument{\WithSuffix\newcommand\subsection*{\subsection}}
|
||||
|
||||
% makes a resume line with a header and a corresponding text
|
||||
% usage: \cvitem[spacing]{header}{text}
|
||||
\newcommand*{\cvitem}[3][.25em]{}
|
||||
|
||||
% makes a resume line 2 headers and their corresponding text
|
||||
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
|
||||
\newcommand*{\cvdoubleitem}[5][.25em]{}
|
||||
|
||||
% makes a resume line with a list item
|
||||
% usage: \cvlistitem[label]{item}
|
||||
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
|
||||
|
||||
% makes a resume line with 2 list items
|
||||
% usage: \cvlistdoubleitem[label]{item1}{item2}
|
||||
\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol]{}
|
||||
|
||||
\newcommand*{\cvlisttripleitem}[4][\listitemsymbol]{}
|
||||
|
||||
% makes a typical resume job / education entry
|
||||
% usage: \cventry[spacing]{years}{degree/job title}{institution/employer}{localization}{optionnal: grade/...}{optional: comment/job description}
|
||||
\newcommand*{\cventry}[7][.25em]{}
|
||||
|
||||
% makes a resume entry with a proficiency comment
|
||||
% usage: \cvitemwithcomment[spacing]{header}{text}{comment}
|
||||
\newcommand*{\cvitemwithcomment}[4][.25em]{}
|
||||
|
||||
% makes a generic hyperlink
|
||||
% usage: \link[optional text]{link}
|
||||
\newcommand*{\link}[2][]{%
|
||||
\ifthenelse{\equal{#1}{}}%
|
||||
{\href{#2}{#2}}%
|
||||
{\href{#2}{#1}}}
|
||||
|
||||
% makes a http hyperlink
|
||||
% usage: \httplink[optional text]{link}
|
||||
\newcommand*{\httplink}[2][]{%
|
||||
\ifthenelse{\equal{#1}{}}%
|
||||
{\href{http://#2}{#2}}%
|
||||
{\href{http://#2}{#1}}}
|
||||
|
||||
% makes an email hyperlink
|
||||
% usage: \emaillink[optional text]{link}
|
||||
\newcommand*{\emaillink}[2][]{%
|
||||
\ifthenelse{\equal{#1}{}}%
|
||||
{\href{mailto:#2}{#2}}%
|
||||
{\href{mailto:#2}{#1}}}
|
||||
|
||||
% thebibliography environment, for use with BibTeX and possibly multibib
|
||||
\newlength{\bibindent}
|
||||
\setlength{\bibindent}{1.5em}
|
||||
% bibliography item label
|
||||
\newcommand*{\bibliographyitemlabel}{}% use \@biblabel{\arabic{enumiv}} for BibTeX labels
|
||||
%\newif\if@multibibfirstbib\@multibibfirstbibfalse
|
||||
% bibliography head (section, etc}, depending on whether multibib is used
|
||||
\newcommand*{\bibliographyhead}[1]{\section{#1}}
|
||||
\AtEndPreamble{\@ifpackageloaded{multibib}{\renewcommand*{\bibliographyhead}[1]{\subsection{#1}}}{}}
|
||||
% thebibliography environment definition
|
||||
\newenvironment{thebibliography}[1]{}{}
|
||||
\newcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
|
||||
\let\@openbib@code\@empty
|
||||
|
||||
% itemize, enumerate and description environment
|
||||
\setlength{\leftmargini} {1em}
|
||||
\leftmargin\leftmargini
|
||||
\setlength{\leftmarginii} {\leftmargini}
|
||||
\setlength{\leftmarginiii} {\leftmargini}
|
||||
\setlength{\leftmarginiv} {\leftmargini}
|
||||
\setlength{\leftmarginv} {\leftmargini}
|
||||
\setlength{\leftmarginvi} {\leftmargini}
|
||||
\setlength{\labelsep} {.5em}% this is the distance between the label and the body, but it pushes the label to the left rather than pushing the body to the right (to do the latter, modify \leftmargin(i)
|
||||
\setlength{\labelwidth} {\leftmargini}% unfortunately, \labelwidth is not defined by item level (i.e. no \labeliwidth, \labeliiwidth, etc)
|
||||
\addtolength{\labelwidth} {-\labelsep}
|
||||
\@beginparpenalty -\@lowpenalty
|
||||
\@endparpenalty -\@lowpenalty
|
||||
\@itempenalty -\@lowpenalty
|
||||
\newcommand\labelenumi{\theenumi.}
|
||||
\newcommand\labelenumii{(\theenumii)}
|
||||
\newcommand\labelenumiii{\theenumiii.}
|
||||
\newcommand\labelenumiv{\theenumiv.}
|
||||
\renewcommand\p@enumii{\theenumi}
|
||||
\renewcommand\p@enumiii{\p@enumii(\theenumii)}
|
||||
\renewcommand\p@enumiv{\p@enumiii\theenumiii}
|
||||
% description label
|
||||
\newcommand*\descriptionlabel[1]{\hspace\labelsep\normalfont\bfseries#1}
|
||||
% hooks to adjust spacing (idea by Jakob Schiøtz; see http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty)
|
||||
\RequirePackage{tweaklist}% distributed with moderncv, not found on ctan and slightly modified
|
||||
\renewcommand*{\itemhook}{
|
||||
\setlength{\topsep}{0pt}%
|
||||
\setlength{\parsep}{0pt}%
|
||||
\setlength{\parskip}{0pt}%
|
||||
\setlength{\itemsep}{0pt}}
|
||||
\renewcommand*{\enumhook}{\itemhook{}}
|
||||
\renewcommand*{\deschook}{\itemhook{}}
|
||||
|
||||
% classical \today definition
|
||||
\def\today{\ifcase
|
||||
\month\or
|
||||
January\or February\or March\or April\or May\or June\or
|
||||
July\or August\or September\or October\or November\or December
|
||||
\fi
|
||||
\space\number\day, \number\year}
|
||||
|
||||
%\newcommand{\widthofautobox}[1]{%
|
||||
% \widthof{\begin{tabular}{@{}l@{}}#1\end{tabular}}}
|
||||
|
||||
%\newcommand{\autobox}[2][b]{%
|
||||
% \parbox[#1]{\widthofautobox{#2}}{#2}}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% letter design commands definitions
|
||||
%-------------------------------------------------------------------------------
|
||||
% elements
|
||||
\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
|
||||
\renewcommand*{\date}[1]{\def\@date{#1}}\date{\today}
|
||||
\newcommand*{\opening}[1]{\def\@opening{#1}}
|
||||
\newcommand*{\closing}[1]{\def\@closing{#1}}
|
||||
\newcommand*{\enclosure}[2][]{%
|
||||
% if an optional argument is provided, use it to redefine \enclname
|
||||
\ifthenelse{\equal{#1}{}}{}{\renewcommand*{\enclname}{#1}}%
|
||||
\def\@enclosure{#2}}
|
||||
|
||||
% recompute all letter lengths
|
||||
\newcommand*{\recomputeletterlengths}{}
|
||||
|
||||
% makes the letter title
|
||||
% usage: \makelettertitle
|
||||
\newcommand*{\makelettertitle}{}
|
||||
|
||||
% makes the letter footer
|
||||
% usage: \makeletterfooter
|
||||
\newcommand*{\makeletterfooter}{\makefooter}
|
||||
|
||||
% makes the letter closing
|
||||
% usage: \makeletterclosing
|
||||
\newcommand*{\makeletterclosing}{}
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncv.cls'.
|
||||
27
2019-07-01_hardware_test_engineer/moderncvcolorblack.sty
Normal file
27
2019-07-01_hardware_test_engineer/moderncvcolorblack.sty
Normal file
@@ -0,0 +1,27 @@
|
||||
%% start of file `moderncvcolorblack.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{moderncvcolorblack}[2012/10/31 v1.2.0 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'.
|
||||
27
2019-07-01_hardware_test_engineer/moderncvcolorblue.sty
Normal file
27
2019-07-01_hardware_test_engineer/moderncvcolorblue.sty
Normal file
@@ -0,0 +1,27 @@
|
||||
%% start of file `moderncvcolorblue.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{moderncvcolorblue}[2012/10/31 v1.2.0 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'.
|
||||
27
2019-07-01_hardware_test_engineer/moderncvcolorgreen.sty
Normal file
27
2019-07-01_hardware_test_engineer/moderncvcolorgreen.sty
Normal file
@@ -0,0 +1,27 @@
|
||||
%% start of file `moderncvcolorgreen.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{moderncvcolorgreen}[2012/10/31 v1.2.0 modern curriculum vitae and letter color scheme: green]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% color scheme definition
|
||||
%-------------------------------------------------------------------------------
|
||||
\definecolor{color0}{rgb}{0,0,0}% black
|
||||
\definecolor{color1}{rgb}{0.063, 0.675, 0.145}% green
|
||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvcolorgreen.sty'.
|
||||
27
2019-07-01_hardware_test_engineer/moderncvcolorgrey.sty
Normal file
27
2019-07-01_hardware_test_engineer/moderncvcolorgrey.sty
Normal file
@@ -0,0 +1,27 @@
|
||||
%% start of file `moderncvcolorgrey.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{moderncvcolorgrey}[2012/10/31 v1.2.0 modern curriculum vitae and letter color scheme: grey]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% color scheme definition
|
||||
%-------------------------------------------------------------------------------
|
||||
\definecolor{color0}{rgb}{0,0,0}% black
|
||||
\definecolor{color1}{rgb}{0.55,0.55,0.55}% dark grey
|
||||
\definecolor{color2}{rgb}{0.55,0.55,0.55}% dark grey
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvcolorgrey.sty'.
|
||||
27
2019-07-01_hardware_test_engineer/moderncvcolororange.sty
Normal file
27
2019-07-01_hardware_test_engineer/moderncvcolororange.sty
Normal file
@@ -0,0 +1,27 @@
|
||||
%% start of file `moderncvcolororange.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{moderncvcolororange}[2012/10/31 v1.2.0 modern curriculum vitae and letter color scheme: orange]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% color scheme definition
|
||||
%-------------------------------------------------------------------------------
|
||||
\definecolor{color0}{rgb}{0,0,0}% black
|
||||
\definecolor{color1}{rgb}{0.95,0.55,0.15}% orange
|
||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvcolororange.sty'.
|
||||
27
2019-07-01_hardware_test_engineer/moderncvcolorpurple.sty
Normal file
27
2019-07-01_hardware_test_engineer/moderncvcolorpurple.sty
Normal file
@@ -0,0 +1,27 @@
|
||||
%% start of file `moderncvcolorpurple.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{moderncvcolorpurple}[2012/10/31 v1.2.0 modern curriculum vitae and letter color scheme: purple]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% color scheme definition
|
||||
%-------------------------------------------------------------------------------
|
||||
\definecolor{color0}{rgb}{0,0,0}% black
|
||||
\definecolor{color1}{rgb}{0.50,0.33,0.80}% purple
|
||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvcolorpurple.sty'.
|
||||
27
2019-07-01_hardware_test_engineer/moderncvcolorred.sty
Normal file
27
2019-07-01_hardware_test_engineer/moderncvcolorred.sty
Normal file
@@ -0,0 +1,27 @@
|
||||
%% start of file `moderncvcolorred.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{moderncvcolorred}[2012/10/31 v1.2.0 modern curriculum vitae and letter color scheme: red]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% color scheme definition
|
||||
%-------------------------------------------------------------------------------
|
||||
\definecolor{color0}{rgb}{0,0,0}% black
|
||||
\definecolor{color1}{rgb}{0.95,0.20,0.20}% red
|
||||
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvcolorred.sty'.
|
||||
86
2019-07-01_hardware_test_engineer/moderncvcompatibility.sty
Normal file
86
2019-07-01_hardware_test_engineer/moderncvcompatibility.sty
Normal file
@@ -0,0 +1,86 @@
|
||||
%% start of file `moderncvcompatibility.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{moderncvcompatibility}[2012/10/31 v1.2.0 modern curriculum vitae and letter compatibility patches]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% package options
|
||||
%-------------------------------------------------------------------------------
|
||||
% old casual option (version 0.1)
|
||||
%\DeclareOption{casual}{\input{moderncvstylecasual.sty}}
|
||||
|
||||
% old classic option (version 0.1)
|
||||
%\DeclareOption{classic}{\input{moderncvstyleclassic.sty}}
|
||||
|
||||
\DeclareOption*{}
|
||||
|
||||
% process given options
|
||||
\ProcessOptions\relax
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% definitions
|
||||
%-------------------------------------------------------------------------------
|
||||
% compatibility with version 0.1
|
||||
\newcommand*{\cvresume}[2]{\cvlistdoubleitem{#1}{#2}}
|
||||
|
||||
% compatibility with versions <= 0.2
|
||||
% section, cvline, ... with width argument...
|
||||
%\newcommand*{\section}[2][0.825]{%
|
||||
% \closesection{}%
|
||||
% \@sectionopentrue%
|
||||
% \addcontentsline{toc}{part}{#2}
|
||||
% \begin{longtable}[t]{@{}r@{\hspace{.025\textwidth}}@{}p{#1\textwidth}@{}}%
|
||||
%% \colorrule{.15\textwidth}&\mbox{\color{sectiontitlecolor}\sectionfont#2}\\[1ex]}%
|
||||
% {\color{sectionrectanglecolor}\rule{0.15\textwidth}{1ex}}&\mbox{\color{sectiontitlecolor}\sectionfont#2}\\[1ex]}%
|
||||
%\newcommand*{\cvline}[3][.825]{%
|
||||
% \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\small\sffamily#2\end{minipage}&\begin{minipage}[t]{\maincolumnwidth}#3\end{minipage}\\}
|
||||
%\newcommand*{\cvitem}[3][.825]{%
|
||||
% \cvline[#1]{#2}{#3\vspace*{.75em}}} % the \vspace*{} inside the cvline environment is a hack... (should conceptually be outside the environment)
|
||||
|
||||
% compatibility with versions <= 0.5
|
||||
%\newcommand*{\cvitem}[2]{\cvline{#1}{#2}}
|
||||
%\newcommand*{\moderncvstyle}[1]{\moderncvtheme{#1}}
|
||||
|
||||
% compatibility with versions <= 0.7
|
||||
\newcommand*{\closesection}{}
|
||||
\newcommand*{\emptysection}{}
|
||||
\newcommand*{\sethintscolumnlength}[1]{%
|
||||
\setlength{\hintscolumnwidth}{#1}%
|
||||
\recomputelengths}
|
||||
\newcommand*{\sethintscolumntowidth}[1]{%
|
||||
\settowidth{\hintscolumnwidth}{#1}%
|
||||
\recomputelengths}
|
||||
|
||||
% compatibility with versions <= 0.15
|
||||
\newcommand*{\cvline}[2]{\cvitem{#1}{#2}}
|
||||
\newcommand*{\cvlanguage}[3]{\cvitemwithcomment{#1}{#2}{#3}}
|
||||
\newcommand*{\cvcomputer}[4]{\cvdoubleitem{#1}{\small#2}{#3}{\small#4}}
|
||||
\newcommand*{\moderncvtheme}[2][blue]{%
|
||||
\moderncvcolor{#1}%
|
||||
\moderncvstyle{#2}}
|
||||
|
||||
% compatibility with versions <= 0.19
|
||||
\newcommand*{\maketitle}{\makecvtitle}%
|
||||
\title{}% to avoid LaTeX complaining that \maketitle is a called without first a call to \title
|
||||
\newcommand*{\maketitlenamewidth}{\makecvtitlenamewidth}
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvcompatibility.sty'.
|
||||
320
2019-07-01_hardware_test_engineer/moderncvstylebanking.sty
Normal file
320
2019-07-01_hardware_test_engineer/moderncvstylebanking.sty
Normal file
@@ -0,0 +1,320 @@
|
||||
%% start of file `moderncvstylebanking.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{moderncvstylebanking}[2012/10/31 v1.2.0 modern curriculum vitae and letter style scheme: banking]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% package options
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% overall style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% fonts
|
||||
%\ifxetexorluatex
|
||||
% \setmainfont{Tex-Gyre Pagella}
|
||||
% \setsansfont{Tex-Gyre Pagella}
|
||||
% \setmathfont{Tex-Gyre Pagella}
|
||||
% \setmathfont[range=\mathit,\mathsfit]{Tex-Gyre Pagella Italic}
|
||||
% \setmathfont[range=\mathbfup,\mathbfsfup]{Tex-Gyre Pagella Bold}
|
||||
% \setmathfont[range=\mathbfit,\mathbfsfit]{Tex-Gyre Pagella Bold Italic}
|
||||
%\else
|
||||
\IfFileExists{tgpagella.sty}%
|
||||
{%
|
||||
\RequirePackage{tgpagella}%
|
||||
\renewcommand*{\familydefault}{\rmdefault}}%
|
||||
{}
|
||||
%\fi
|
||||
|
||||
% symbols
|
||||
\renewcommand*{\mobilesymbol}{\marvosymbol{72}~}
|
||||
\renewcommand*{\phonesymbol}{\marvosymbol{84}~}
|
||||
\renewcommand*{\faxsymbol}{\marvosymbol{117}~}
|
||||
\renewcommand*{\emailsymbol}{\marvosymbol{66}~}
|
||||
\renewcommand*{\homepagesymbol}{{\Large\marvosymbol{205}}~}
|
||||
|
||||
% commands
|
||||
\newcommand*{\maketitlesymbol}{%
|
||||
{~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
||||
% internal command to add an element to the footer
|
||||
% it collects the elements in a temporary box, and checks when to flush the box
|
||||
\newsavebox{\maketitlebox}%
|
||||
\newsavebox{\maketitletempbox}%
|
||||
\newlength{\maketitlewidth}%
|
||||
\newlength{\maketitleboxwidth}%
|
||||
\newif\if@firstmaketitleelement\@firstmaketitleelementtrue%
|
||||
% adds an element to the maketitle, separated by maketitlesymbol
|
||||
% usage: \addtomaketitle[maketitlesymbol]{element}
|
||||
\newcommand*{\addtomaketitle}[2][\maketitlesymbol]{%
|
||||
\if@firstmaketitleelement%
|
||||
\savebox{\maketitletempbox}{\usebox{\maketitlebox}#2}%
|
||||
\else%
|
||||
\savebox{\maketitletempbox}{\usebox{\maketitlebox}#1#2}\fi%
|
||||
\settowidth{\maketitleboxwidth}{\usebox{\maketitletempbox}}%
|
||||
\ifnum
|
||||
\maketitleboxwidth<\maketitlewidth%
|
||||
\savebox{\maketitlebox}{\usebox{\maketitletempbox}}%
|
||||
\@firstmaketitleelementfalse%
|
||||
\else%
|
||||
\flushmaketitle{}\\%
|
||||
\savebox{\maketitlebox}{#2}%
|
||||
\savebox{\maketitletempbox}{#2}%
|
||||
\settowidth{\maketitleboxwidth}{\usebox{\maketitlebox}}%
|
||||
\@firstmaketitleelementfalse
|
||||
\fi}
|
||||
% internal command to flush the maketitle
|
||||
\newcommand*{\flushmaketitle}{%
|
||||
\strut\usebox{\maketitlebox}%
|
||||
\savebox{\maketitlebox}{}%
|
||||
\savebox{\maketitletempbox}{}%
|
||||
\setlength{\maketitleboxwidth}{0pt}}
|
||||
\renewcommand*{\maketitle}{%
|
||||
\setlength{\maketitlewidth}{0.8\textwidth}%
|
||||
\hfil%
|
||||
\parbox{\maketitlewidth}{%
|
||||
\centering%
|
||||
% name and title
|
||||
\namestyle{\@firstname~\@familyname}%
|
||||
\ifthenelse{\isundefined{\@title}}{}{\titlestyle{~|~\@title}}\\%
|
||||
% detailed information
|
||||
\addressfont\color{color2}%
|
||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomaketitle{\addresssymbol\@addressstreet}%
|
||||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomaketitle[~--~]{\@addresscity}}\flushmaketitle\@firstmaketitleelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty
|
||||
\ifthenelse{\isundefined{\@mobile}}{}{\addtomaketitle{\mobilesymbol\@mobile}}%
|
||||
\ifthenelse{\isundefined{\@phone}}{}{\addtomaketitle{\phonesymbol\@phone}}%
|
||||
\ifthenelse{\isundefined{\@fax}}{}{\addtomaketitle{\faxsymbol\@fax}}%
|
||||
\ifthenelse{\isundefined{\@email}}{}{\addtomaketitle{\emailsymbol\emaillink{\@email}}}%
|
||||
\ifthenelse{\isundefined{\@homepage}}{}{%
|
||||
\ifthenelse{\equal{\@homepagetitle}{}}% \homepagetitle could be empty
|
||||
{\addtomaketitle{\homepagesymbol\httplink{\@homepage}}}%
|
||||
{\addtomaketitle{\homepagesymbol\httplink[\@homepagetitle]{\@homepage}}}}%
|
||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomaketitle{\@extrainfo}}%
|
||||
\flushmaketitle}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \maketitle
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% resume style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% fonts
|
||||
\renewcommand*{\namefont}{\Huge\bfseries\upshape}
|
||||
\renewcommand*{\titlefont}{\Huge\mdseries\upshape}
|
||||
\renewcommand*{\addressfont}{\normalsize\mdseries\upshape}
|
||||
\renewcommand*{\quotefont}{\large\slshape}
|
||||
\renewcommand*{\sectionfont}{\Large\bfseries\upshape}
|
||||
\renewcommand*{\subsectionfont}{\large\upshape\fontseries{sb}\selectfont}
|
||||
\renewcommand*{\hintfont}{\bfseries}
|
||||
|
||||
% styles
|
||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
|
||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
|
||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color1}{#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
|
||||
\renewcommand*{\recomputecvlengths}{%
|
||||
\setlength{\quotewidth}{0.65\textwidth}%
|
||||
% main lenghts
|
||||
\setlength{\maincolumnwidth}{\textwidth}%
|
||||
% 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}%
|
||||
% regular lengths
|
||||
\setlength{\parskip}{0\p@}}
|
||||
|
||||
\renewcommand*{\makecvtitle}{%
|
||||
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||
\recomputecvlengths%
|
||||
\maketitle%
|
||||
% optional quote
|
||||
\ifthenelse{\isundefined{\@quote}}%
|
||||
{}%
|
||||
{{\centering\begin{minipage}{\quotewidth}
|
||||
\centering\quotestyle{\@quote}
|
||||
\end{minipage}\\[2.5em]}}%
|
||||
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle}
|
||||
|
||||
\renewcommand*{\section}[1]{%
|
||||
\par\addvspace{2.5ex}%
|
||||
\phantomsection{}% reset the anchor for hyperrefs
|
||||
\addcontentsline{toc}{section}{#1}%
|
||||
\strut\sectionstyle{#1}%
|
||||
{\color{color1}\hrule}%
|
||||
\par\nobreak\addvspace{1ex}\@afterheading}
|
||||
|
||||
\newcommand{\subsectionfill}{\xleaders\hbox to 0.35em{\scriptsize.}\hfill}% different subsectionfills 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
|
||||
\renewcommand*{\subsection}[1]{%
|
||||
\par\addvspace{1ex}%
|
||||
\phantomsection{}%
|
||||
\addcontentsline{toc}{subsection}{#1}%
|
||||
\strut\subsectionstyle{#1}{\color{color1}{\subsectionfill}}%
|
||||
\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]{%
|
||||
\listitemsymbol\begin{minipage}[t]{\listitemmaincolumnwidth}
|
||||
#2
|
||||
\end{minipage}%
|
||||
\par\addvspace{#1}}
|
||||
|
||||
\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}}}}
|
||||
|
||||
\renewcommand*{\cventry}[7][.25em]{
|
||||
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}%
|
||||
{\bfseries #4}
|
||||
& {\bfseries #5} \\%
|
||||
{\itshape #3\ifthenelse{\equal{#6}{}}{}{, #6}} & {\itshape #2}\\%
|
||||
\end{tabular*}%
|
||||
\ifx
|
||||
&%
|
||||
\else
|
||||
{\\\vbox{\small#7}}
|
||||
\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}{0pt}%
|
||||
\setlength{\labelsep}{0pt}%
|
||||
\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
|
||||
\renewcommand*{\recomputeletterlengths}{
|
||||
\recomputecvlengths%
|
||||
\setlength{\parskip}{6\p@}}
|
||||
|
||||
\renewcommand*{\makelettertitle}{%
|
||||
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||
\recomputeletterlengths%
|
||||
% sender block
|
||||
\maketitle%
|
||||
\par%
|
||||
% recipient block
|
||||
\begin{minipage}[t]{.5\textwidth}
|
||||
\raggedright%
|
||||
\addressfont%
|
||||
{\bfseries\upshape\@recipientname}\\%
|
||||
\@recipientaddress%
|
||||
\end{minipage}
|
||||
% date
|
||||
\hfill % US style
|
||||
% \\[1em] % UK style
|
||||
\@date\\[2em]% US informal style: "April 6, 2006"; UK formal style: "05/04/2006"
|
||||
% opening
|
||||
\raggedright%
|
||||
\@opening\\[1.5em]%
|
||||
% ensure no extra spacing after \makelettertitle due to a possible blank line
|
||||
% \ignorespacesafterend% not working
|
||||
\hspace{0pt}\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 `moderncvstylebanking.sty'.
|
||||
196
2019-07-01_hardware_test_engineer/moderncvstylecasual.sty
Normal file
196
2019-07-01_hardware_test_engineer/moderncvstylecasual.sty
Normal file
@@ -0,0 +1,196 @@
|
||||
%% start of file `moderncvstylecasual.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{moderncvstylecasual}[2012/10/31 v1.2.0 modern curriculum vitae and letter style scheme: casual]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% package options
|
||||
%-------------------------------------------------------------------------------
|
||||
\RequirePackage{moderncvstyleclassic}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% overall style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% commands
|
||||
% footer symbol used to separate footer elements
|
||||
\newcommand*{\footersymbol}{%
|
||||
{~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
||||
% internal command to add an element to the footer
|
||||
% it collects the elements in a temporary box, and checks when to flush the box
|
||||
\newsavebox{\footerbox}%
|
||||
\newsavebox{\footertempbox}%
|
||||
\newlength{\footerwidth}%
|
||||
\newlength{\footerboxwidth}%
|
||||
\newif\if@firstfooterelement\@firstfooterelementtrue%
|
||||
% adds an element to the footer, separated by footersymbol
|
||||
% usage: \addtofooter[footersymbol]{element}
|
||||
\newcommand*{\addtofooter}[2][\footersymbol]{%
|
||||
\if@firstfooterelement%
|
||||
\savebox{\footertempbox}{\usebox{\footerbox}#2}%
|
||||
\else%
|
||||
\savebox{\footertempbox}{\usebox{\footerbox}#1#2}\fi%
|
||||
\settowidth{\footerboxwidth}{\usebox{\footertempbox}}%
|
||||
\ifnum
|
||||
\footerboxwidth<\footerwidth%
|
||||
\savebox{\footerbox}{\usebox{\footertempbox}}%
|
||||
\@firstfooterelementfalse%
|
||||
\else%
|
||||
\flushfooter\\%
|
||||
\savebox{\footerbox}{#2}%
|
||||
\savebox{\footertempbox}{#2}%
|
||||
\settowidth{\footerboxwidth}{\usebox{\footerbox}}%
|
||||
\@firstfooterelementfalse
|
||||
\fi}
|
||||
% internal command to flush the footer
|
||||
\newcommand*{\flushfooter}{%
|
||||
\strut\usebox{\footerbox}%
|
||||
\savebox{\footerbox}{}%
|
||||
\savebox{\footertempbox}{}%
|
||||
\setlength{\footerboxwidth}{0pt}}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% resume style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% fonts
|
||||
\renewcommand*{\namefont}{\fontsize{38}{40}\mdseries\upshape}
|
||||
\renewcommand*{\addressfont}{\normalsize\mdseries\slshape}
|
||||
|
||||
% commands
|
||||
\renewcommand*{\makecvtitle}{%
|
||||
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||
\recomputecvlengths%
|
||||
% ensure footer with personal information
|
||||
\makecvfooter%
|
||||
% optional picture
|
||||
\newbox{\makecvtitlepicturebox}%
|
||||
\savebox{\makecvtitlepicturebox}{%
|
||||
\ifthenelse{\isundefined{\@photo}}%
|
||||
{}%
|
||||
{%
|
||||
\setlength\fboxrule{\@photoframewidth}%
|
||||
\ifdim
|
||||
\@photoframewidth=0pt%
|
||||
\setlength{\fboxsep}{0pt}
|
||||
\fi%
|
||||
{\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
|
||||
\usebox{\makecvtitlepicturebox}%
|
||||
% name
|
||||
\@initializelength{\makecvtitlepicturewidth}%
|
||||
\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
|
||||
\parbox[b]{\textwidth-\makecvtitlepicturewidth}{%
|
||||
\raggedleft\namefont{\color{color2!50}\@firstname} {\color{color2}\@familyname}}\\[-.35em]% alternate design: \MakeLowercase and no space
|
||||
{\color{color2!50}\rule{\textwidth}{.25ex}}%
|
||||
% optional title
|
||||
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\null\hfill\titlestyle{\@title}}\\[2.5em]% \null is required as there is no box on the line after \\, so glue (and leaders) disappears; this is in contrast to after \par, where the next line starts with an indent box (even after \noindent).
|
||||
% 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
|
||||
|
||||
\renewcommand*{\makecvfooter}{%
|
||||
\setlength{\footerwidth}{0.8\textwidth}%
|
||||
\fancypagestyle{plain}{%
|
||||
\fancyfoot[c]{%
|
||||
\parbox[b]{\footerwidth}{%
|
||||
\centering%
|
||||
\color{color2}\addressfont%
|
||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
|
||||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}\flushfooter\@firstfooterelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty
|
||||
\ifthenelse{\isundefined{\@mobile}}{}{\addtofooter{\mobilesymbol\@mobile}}%
|
||||
\ifthenelse{\isundefined{\@phone}}{}{\addtofooter{\phonesymbol\@phone}}%
|
||||
\ifthenelse{\isundefined{\@fax}}{}{\addtofooter{\faxsymbol\@fax}}%
|
||||
\ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
|
||||
\ifthenelse{\isundefined{\@homepage}}{}{%
|
||||
\ifthenelse{\equal{\@homepagetitle}{}}% \homepagetitle could be empty
|
||||
{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
|
||||
{\addtofooter{\homepagesymbol\httplink[\@homepagetitle]{\@homepage}}}}%
|
||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
|
||||
\ifthenelse{\lengthtest{\footerboxwidth=0pt}}{}{\flushfooter}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used
|
||||
}}}%
|
||||
\pagestyle{plain}}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% letter style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
\renewcommand*{\makelettertitle}{%
|
||||
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||
\recomputeletterlengths%
|
||||
% ensure footer with personal information
|
||||
\makeletterfooter%
|
||||
% recipient block
|
||||
\begin{minipage}[t]{.5\textwidth}
|
||||
\raggedright%
|
||||
\addressfont%
|
||||
{\bfseries\upshape\@recipientname}\\%
|
||||
\@recipientaddress%
|
||||
\end{minipage}
|
||||
% date
|
||||
\hfill% US style
|
||||
% \\[1em]% UK style
|
||||
\@date\\[2em]% US informal style: "April 6, 2006"; UK formal style: "05/04/2006"
|
||||
% opening
|
||||
\raggedright%
|
||||
\@opening\\[1.5em]%
|
||||
% ensure no extra spacing after \makelettertitle due to a possible blank line
|
||||
% \ignorespacesafterend% not working
|
||||
\hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
|
||||
|
||||
\renewcommand*{\makeletterfooter}{%
|
||||
\setlength{\footerwidth}{0.8\textwidth}%
|
||||
\fancypagestyle{plain}{%
|
||||
\fancyfoot[c]{%
|
||||
\parbox[b]{\footerwidth}{%
|
||||
\centering%
|
||||
\addressfont\color{color2}%
|
||||
\vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers
|
||||
\strut{\bfseries\upshape\@firstname~\@familyname}\\% the \strut is required to ensure the line is exactly \baselineskip tall
|
||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
|
||||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}\flushfooter\@firstfooterelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty
|
||||
\ifthenelse{\isundefined{\@mobile}}{}{\addtofooter{\mobilesymbol\@mobile}}%
|
||||
\ifthenelse{\isundefined{\@phone}}{}{\addtofooter{\phonesymbol\@phone}}%
|
||||
\ifthenelse{\isundefined{\@fax}}{}{\addtofooter{\faxsymbol\@fax}}%
|
||||
\ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
|
||||
\ifthenelse{\isundefined{\@homepage}}{}{%
|
||||
\ifthenelse{\equal{\@homepagetitle}{}}% \homepagetitle could be empty
|
||||
{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
|
||||
{\addtofooter{\homepagesymbol\httplink[\@homepagetitle]{\@homepage}}}}%
|
||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
|
||||
\ifthenelse{\lengthtest{\footerboxwidth=0pt}}{}{\flushfooter}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used
|
||||
}}}%
|
||||
\pagestyle{plain}}
|
||||
|
||||
\renewcommand*{\makeletterclosing}{
|
||||
\@closing\\[3em]%
|
||||
{\bfseries\@firstname~\@familyname}%
|
||||
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||
\\%
|
||||
\vfil%
|
||||
{\color{color2}\itshape\enclname: \@enclosure}}%
|
||||
\vfil}
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvstylecasual.sty'.
|
||||
333
2019-07-01_hardware_test_engineer/moderncvstyleclassic.sty
Normal file
333
2019-07-01_hardware_test_engineer/moderncvstyleclassic.sty
Normal file
@@ -0,0 +1,333 @@
|
||||
%% start of file `moderncvstyleclassic.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{moderncvstyleclassic}[2012/10/31 v1.2.0 modern curriculum vitae and letter style scheme: classic]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% package options
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% overall style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% fonts
|
||||
%\ifxetexorluatex
|
||||
% \setmainfont{Latin Modern Roman}
|
||||
% \setsansfont{Latin Modern Sans}
|
||||
% \setmathfont{Latin Modern Math}
|
||||
%\else
|
||||
\IfFileExists{lmodern.sty}%
|
||||
{\RequirePackage{lmodern}}%
|
||||
{}
|
||||
%\fi
|
||||
|
||||
% symbols
|
||||
\renewcommand*{\mobilesymbol}{\marvosymbol{72}~}
|
||||
\renewcommand*{\phonesymbol}{\marvosymbol{84}~}
|
||||
\renewcommand*{\faxsymbol}{\marvosymbol{117}~}
|
||||
\renewcommand*{\emailsymbol}{\marvosymbol{66}~}
|
||||
\renewcommand*{\homepagesymbol}{{\Large\marvosymbol{205}}~}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% resume style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% fonts
|
||||
\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape}
|
||||
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
|
||||
\renewcommand*{\addressfont}{\small\mdseries\slshape}
|
||||
\renewcommand*{\quotefont}{\large\slshape}
|
||||
\renewcommand*{\sectionfont}{\Large\mdseries\upshape}
|
||||
\renewcommand*{\subsectionfont}{\large\mdseries\upshape}
|
||||
\renewcommand*{\hintfont}{}
|
||||
|
||||
% styles
|
||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
|
||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
|
||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color1}{#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.175\textwidth}
|
||||
\newlength{\separatorcolumnwidth}
|
||||
\setlength{\separatorcolumnwidth}{0.025\textwidth}
|
||||
\newlength{\maincolumnwidth}
|
||||
\newlength{\doubleitemmaincolumnwidth}
|
||||
\newlength{\listitemsymbolwidth}
|
||||
\settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||
\newlength{\listitemmaincolumnwidth}
|
||||
\newlength{\listdoubleitemmaincolumnwidth}
|
||||
|
||||
% commands
|
||||
\renewcommand*{\recomputecvlengths}{%
|
||||
\setlength{\quotewidth}{0.65\textwidth}%
|
||||
% main lenghts
|
||||
\setlength{\maincolumnwidth}{\textwidth-\separatorcolumnwidth-\hintscolumnwidth}%
|
||||
% listitem lengths
|
||||
\setlength{\listitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||
% doubleitem lengths
|
||||
\setlength{\doubleitemmaincolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
|
||||
\setlength{\doubleitemmaincolumnwidth}{0.5\doubleitemmaincolumnwidth}%
|
||||
% listdoubleitem lengths
|
||||
\setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||
\setlength{\listdoubleitemmaincolumnwidth}{0.5\listdoubleitemmaincolumnwidth}%
|
||||
% fancyhdr lengths
|
||||
\renewcommand{\headwidth}{\textwidth}%
|
||||
% regular lengths
|
||||
\setlength{\parskip}{0\p@}}
|
||||
|
||||
% optional maketitle width to force a certain width (if set to 0pt, the width is calculated automatically)
|
||||
\newlength{\makecvtitlenamewidth}
|
||||
\setlength{\makecvtitlenamewidth}{0pt}% dummy value
|
||||
\renewcommand*{\makecvtitle}{%
|
||||
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||
\recomputecvlengths%
|
||||
% optional detailed information box
|
||||
\newbox{\makecvtitledetailsbox}%
|
||||
\savebox{\makecvtitledetailsbox}{%
|
||||
\addressfont\color{color2}%
|
||||
\begin{tabular}[b]{@{}r@{}}%
|
||||
\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}%
|
||||
\end{tabular}
|
||||
}%
|
||||
% optional photo (pre-rendering)
|
||||
\newbox{\makecvtitlepicturebox}%
|
||||
\savebox{\makecvtitlepicturebox}{%
|
||||
\ifthenelse{\isundefined{\@photo}}%
|
||||
{}%
|
||||
{%
|
||||
\hspace*{\separatorcolumnwidth}%
|
||||
\color{color1}%
|
||||
\setlength{\fboxrule}{\@photoframewidth}%
|
||||
\ifdim
|
||||
\@photoframewidth=0pt%
|
||||
\setlength{\fboxsep}{0pt}
|
||||
\fi%
|
||||
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
|
||||
% name and title
|
||||
\newlength{\makecvtitledetailswidth}\settowidth{\makecvtitledetailswidth}{\usebox{\makecvtitledetailsbox}}%
|
||||
\newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
|
||||
\ifthenelse{\lengthtest{\makecvtitlenamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvtitlenamewidth=0pt)
|
||||
{\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitledetailswidth-\makecvtitlepicturewidth}}%
|
||||
{}%
|
||||
\begin{minipage}[b]{\makecvtitlenamewidth}%
|
||||
\namestyle{\@firstname\ \@familyname}%
|
||||
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
||||
\end{minipage}%
|
||||
\hfill%
|
||||
% detailed information
|
||||
\llap{\usebox{\makecvtitledetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvtitlenamewidth is forced
|
||||
% optional photo (rendering)
|
||||
\usebox{\makecvtitlepicturebox}\\[2.5em]%
|
||||
% optional quote
|
||||
\ifthenelse{\isundefined{\@quote}}%
|
||||
{}%
|
||||
{{\centering\begin{minipage}{\quotewidth}
|
||||
\centering\quotestyle{\@quote}
|
||||
\end{minipage}\\[2.5em]}}%
|
||||
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvtitle
|
||||
|
||||
\newlength{\baseletterheight}
|
||||
\settoheight{\baseletterheight}{\sectionstyle{o}}
|
||||
\setlength{\baseletterheight}{\baseletterheight-0.95ex}
|
||||
\renewcommand*{\section}[1]{%
|
||||
\par\addvspace{2.5ex}%
|
||||
\phantomsection{}% reset the anchor for hyperrefs
|
||||
\addcontentsline{toc}{section}{#1}%
|
||||
\parbox[t]{\hintscolumnwidth}{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}%
|
||||
\hspace{\separatorcolumnwidth}%
|
||||
\parbox[t]{\maincolumnwidth}{\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}%
|
||||
\begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
||||
\raggedleft\hintstyle{} & {\strut\subsectionstyle{#1}}%
|
||||
\end{tabular}%
|
||||
\par\nobreak\addvspace{0.5ex}\@afterheading}% to avoid a pagebreak after the heading
|
||||
|
||||
\renewcommand*{\cvitem}[3][.25em]{%
|
||||
\begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
||||
\raggedleft\hintstyle{#2} & {#3}%
|
||||
\end{tabular}%
|
||||
\par\addvspace{#1}}
|
||||
|
||||
\renewcommand*{\cvdoubleitem}[5][.25em]{%
|
||||
\cvitem[#1]{#2}{%
|
||||
\begin{minipage}[t]{\doubleitemmaincolumnwidth}
|
||||
#3
|
||||
\end{minipage}%
|
||||
\hfill% fill of \separatorcolumnwidth
|
||||
\begin{minipage}[t]{\hintscolumnwidth}
|
||||
\raggedleft\hintstyle{#4}
|
||||
\end{minipage}%
|
||||
\hspace*{\separatorcolumnwidth}%
|
||||
\begin{minipage}[t]{\doubleitemmaincolumnwidth}
|
||||
#5
|
||||
\end{minipage}}}
|
||||
|
||||
\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}}}}
|
||||
|
||||
\renewcommand*{\cventry}[7][.25em]{%
|
||||
\cvitem[#1]{#2}{%
|
||||
{\bfseries#3}%
|
||||
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
|
||||
\ifthenelse{\equal{#5}{}}{}{, #5}%
|
||||
\ifthenelse{\equal{#6}{}}{}{, #6}%
|
||||
.\strut%
|
||||
\ifx
|
||||
&%
|
||||
\else
|
||||
{\newline{}\begin{minipage}[t]{\linewidth}
|
||||
\small#7
|
||||
\end{minipage}}
|
||||
\fi}}
|
||||
|
||||
\newbox{\cvitemwithcommentmainbox}
|
||||
\newlength{\cvitemwithcommentmainlength}
|
||||
\newlength{\cvitemwithcommentcommentlength}
|
||||
\renewcommand*{\cvitemwithcomment}[4][.25em]{%
|
||||
\savebox{\cvitemwithcommentmainbox}{{\bfseries#3}}%
|
||||
\setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}%
|
||||
\setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}%
|
||||
\cvitem[#1]{#2}{%
|
||||
\begin{minipage}[t]{\cvitemwithcommentmainlength}
|
||||
\bfseries#3
|
||||
\end{minipage}%
|
||||
\hfill% fill of \separatorcolumnwidth
|
||||
\begin{minipage}[t]{\cvitemwithcommentcommentlength}
|
||||
\raggedleft\small\itshape#4
|
||||
\end{minipage}}}
|
||||
|
||||
\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
|
||||
\renewcommand*{\recomputeletterlengths}{%
|
||||
\recomputecvlengths%
|
||||
\setlength{\parskip}{6\p@}}
|
||||
|
||||
\renewcommand*{\makelettertitle}{%
|
||||
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||
\recomputeletterlengths%
|
||||
% sender contact info
|
||||
\hfill%
|
||||
\begin{minipage}{.5\textwidth}%
|
||||
\raggedleft%
|
||||
\addressfont\textcolor{color2}{%
|
||||
{\bfseries\upshape\@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}}%
|
||||
\end{minipage}\\[1em]
|
||||
% recipient block
|
||||
\begin{minipage}[t]{.5\textwidth}
|
||||
\raggedright%
|
||||
\addressfont%
|
||||
{\bfseries\upshape\@recipientname}\\%
|
||||
\@recipientaddress%
|
||||
\end{minipage}
|
||||
% date
|
||||
\hfill% US style
|
||||
% \\[1em]% UK style
|
||||
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
||||
% opening
|
||||
\raggedright%
|
||||
\@opening\\[1.5em]%
|
||||
% ensure no extra spacing after \makelettertitle due to a possible blank line
|
||||
% \ignorespacesafterend% not working
|
||||
\hspace{0pt}\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 `moderncvstyleclassic.sty'.
|
||||
34
2019-07-01_hardware_test_engineer/moderncvstyleempty.sty
Normal file
34
2019-07-01_hardware_test_engineer/moderncvstyleempty.sty
Normal file
@@ -0,0 +1,34 @@
|
||||
%% start of file `moderncvstyleempty.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{moderncvstyleempty}[2012/10/31 v1.2.0 modern curriculum vitae scheme: empty]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% package options
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% see moderncv.cls for command declarations that needs to be implemented, e.g. \maketitle, \section, \subsections, \cvline, etc
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvstyleempty.sty'.
|
||||
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'.
|
||||
157
2019-07-01_hardware_test_engineer/resume.tex
Normal file
157
2019-07-01_hardware_test_engineer/resume.tex
Normal file
@@ -0,0 +1,157 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% "ModernCV" CV and Cover Letter
|
||||
% LaTeX Template
|
||||
% Version 1.1 (9/12/12)
|
||||
%
|
||||
% This template has been downloaded from:
|
||||
% http://www.LaTeXTemplates.com
|
||||
%
|
||||
% Original author:
|
||||
% Xavier Danaux (xdanaux@gmail.com)
|
||||
%
|
||||
% License:
|
||||
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
|
||||
%
|
||||
% Important note:
|
||||
% This template requires the moderncv.cls and .sty files to be in the same
|
||||
% directory as this .tex file. These files provide the resume style and themes
|
||||
% used for structuring the document.
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\documentclass[10pt,a4paper,sans]{moderncv} % Font sizes: 10, 11, or 12; paper sizes: a4paper, letterpaper, a5paper, legalpaper, executive paper or landscape; font families: sans or roman
|
||||
|
||||
\moderncvstyle{classic}
|
||||
\moderncvcolor{green}
|
||||
|
||||
\usepackage[scale=0.90]{geometry} % Reduce document margins
|
||||
\setlength{\hintscolumnwidth}{2cm} % Uncomment to change the width of the dates column
|
||||
\usepackage{fancyhdr}
|
||||
%----------------------------------------------------------------------------------------
|
||||
% NAME AND CONTACT INFORMATION SECTION
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\firstname{Corwin A.}
|
||||
\familyname{Perren}
|
||||
\address{2724 W Crestline Dr}{Bellingham, WA 98226}
|
||||
\mobile{(360) 298-4396}
|
||||
\email{caperren@caperren.com}
|
||||
\homepage{www.caperren.com}{www.caperren.com}
|
||||
\extrainfo{www.linkedin.com/in/caperren}
|
||||
\photo[55pt][0pt]{logo}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
\def \projectspacing {0.35em}
|
||||
\begin{document}
|
||||
\makecvtitle
|
||||
\vspace{-3.5em}
|
||||
%----------------------------------------------------------------------------------------
|
||||
% EDUCATION SECTION
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
\section{Education}
|
||||
\vspace{-0.35em}
|
||||
\cventry{Jun. 2019}{B.S. Computer Science -- Oregon State University}{\small Corvallis, OR}{}{}{GPA: 3.21 | Focus: Mobile, Embedded, and Connected Robotics}
|
||||
%----------------------------------------------------------------------------------------
|
||||
% EXPERIENCE SECTION
|
||||
%----------------------------------------------------------------------------------------
|
||||
\vspace{-0.95em}
|
||||
|
||||
|
||||
\section{Experience}
|
||||
\vspace{-0.35em}
|
||||
% %%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% SpaceX Avionics Test Intern
|
||||
% %%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\vspace{\projectspacing}
|
||||
\cventry{Jan. 2019 --\\Mar. 2019}{\textit{Avionics Test Engineering Intern}}{\textbf{SpaceX}}{\small Hawthorne, CA}{}{
|
||||
\small Wrote software in Python for automation of avionics hardware test systems. Performed circuit debugging on test system hardware. Validated test software performance per aerospace standards. Automated Jira work ticket generation for two internal avionics teams to improve product investigation, test, and repair workflows.
|
||||
}
|
||||
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% SARL Student Automation Engineer
|
||||
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\vspace{\projectspacing}
|
||||
\cventry{Sept. 2013 --\\Present}{\textit{Student Automation Engineer/Automation Engineer}}{\textbf{Sinnhuber Aquatic Research Lab}}{\small Corvallis, OR}{}{
|
||||
% Team Lead
|
||||
\textbf{Team Lead (2014--Present)}
|
||||
\\\small Direct 2--4 engineering students automating research tasks with custom electronics, software, and mechanical designs.
|
||||
\vspace{\projectspacing}
|
||||
% Denso Pick and Plate Robots
|
||||
\\\textbf{Denso Robot Pick and Plate Updates/Maintenance/Documentation (2018--Present)}
|
||||
\\\small Modified Denso pick and plate software for enhanced calibration from control pendants and for use of new pick needles. Performed maintenance and calibration of robots after full battery failure on all four units resulted in arm lockouts. Currently writing manuals and creating video guides for calibration procedures.
|
||||
\vspace{\projectspacing}
|
||||
% Shuttleboxes
|
||||
\\\textbf{Shuttlebox Behavior System Redesigns (2013--2014, 2017--Present)}
|
||||
\\\small Delivered 14 redesigned control boards for a Pavlov-based zebrafish behavioral training system. Designed an enhanced second revision with improved lighting scheme and shock circuitry. Assisted in development of front-end PyQt PC control software as well as firmware modifications for new boards. Currently assembling and testing 48 second generation units.
|
||||
% ZScan Processor
|
||||
\\\textbf{ZScan Processor (2017--2018)}
|
||||
\\\small Designed software to split, rename, and perform network transfers of high-resolution images of 96-well plates with automated computer vision barcode file name assignment.
|
||||
\vspace{\projectspacing}
|
||||
% Pick and Plate
|
||||
\\\textbf{Pick and Plate (2013--2016)}
|
||||
\\\small Designed and assembled the electrical and software aspects of a custom plating robot used to autonomously pick up zebrafish embryos and place them into a 96-well plate. Final product was approximately 1/50 the cost and 1/125 the size of previous generation units.
|
||||
\vspace{\projectspacing}
|
||||
% Dechorionator
|
||||
\\\textbf{Dechorionator (2015--2016)}
|
||||
\\\small Designed a custom motion and pump controller using Altium Designer to perform controlled chorion removal on zebrafish embryos. Also assisted in embedded C++ firmware development using ATxmega micro-controllers.
|
||||
}
|
||||
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% CEOAS Student Software/Electronics Engineer
|
||||
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\vspace{\projectspacing}
|
||||
\cventry{Apr. 2016 --\\May 2018}{\textit{Student Software/Electronics Engineer}}{\textbf{CEOAS Ocean Mixing Group}}{\small Corvallis, OR}{}{
|
||||
% Main ROSE project
|
||||
\textbf{Robotic Oceanographic Surface Sampler (2016--2018)}
|
||||
\\\small Assisted with the development, assembly, and debugging of kayak software, ground station software, firmware, and electronics for a small fleet of autonomous water sampling kayaks. Gained field experience on two multi-week ocean research cruises deploying, maintaining, and repairing kayaks at Petersburg and the LeConte Glacier in Alaska.
|
||||
}
|
||||
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% OSU Robotics Club
|
||||
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\vspace{\projectspacing}
|
||||
\cventry{Sept. 2012 --\\Jun. 2019}{\textit{Member}}{\textbf{OSU Robotics Club}}{\textbf{Oregon State University}}{\small Corvallis, OR}{
|
||||
% Software Team Lead
|
||||
\textbf{Software Team Lead --- Mars Rover Team (2017--2018)}
|
||||
\\\small Led software team and senior design project team members to develop and integrate the robot software, multi-monitor ground station software, and firmware necessary for a custom remotely operated Rover to win 1st place in the Canadian International Rover Challenge. Also performed PCB assembly, wiring, and circuit/system debugging.
|
||||
\vspace{\projectspacing}
|
||||
% Emergency Software Team Lead
|
||||
\\\textbf{Emergency Software Team Lead --- Mars Rover Team (2017)}
|
||||
\\\small Wrote emergency ground station software in 9 days to remotely control and show Rover status over a serial radio link after the team lost their lead. Competition was the University Rover Challenge.
|
||||
\vspace{\projectspacing}
|
||||
% Electrical Team Lead
|
||||
\\\textbf{Electrical Team Lead --- Mars Rover Team (2013--2014)}
|
||||
\\\small Led a team of electrical members to design, develop, manufacture, wire, and program all needed electronics for an autonomous Rover that competed in the Sample Return Robot Challenge. Embedded control boards were designed with Mentor Graphics PADS containing ATxmega micro-controllers. Firmware was written in embedded C++.
|
||||
\vspace{\projectspacing}
|
||||
% Club Officer Positions
|
||||
\\\textbf{Lab Manager (2016--2017) | Web Developer/Sysadmin (2016--2018)}
|
||||
%\\\small Redesigned the club's website and managed the club's web server. Developed the club's student ID card RFID entry system using WiFi microcontrollers and Google App Script. Provided technical help to members through ECE/CS background. Managed club lab space, finances, and purchases.
|
||||
}
|
||||
%----------------------------------------------------------------------------------------
|
||||
% SKILLS SECTION
|
||||
%----------------------------------------------------------------------------------------
|
||||
\vspace{-0.75em}
|
||||
% Skills
|
||||
|
||||
|
||||
\section{Skills}
|
||||
\vspace{-0.35em}
|
||||
\cvitem{Most}{\small Python | PyTest | PyQt | Embedded C/C++ (Atmel Studio) | Linux | PCB Assembly | Circuit Design/Debugging/Testing}
|
||||
\cvitem{Some}{\small Git | x86 C/C++ | HTML/CSS | Javascript | OpenCV | C++ Qt | SQL | Google App Engine | Altium Designer}
|
||||
\cvitem{Least}{\small PHP | NodeJS | Android Development | Google App Script | x86 Assembly | Java | Haskell | Matlab}
|
||||
% Hobbies
|
||||
\vspace{-0.75em}
|
||||
|
||||
|
||||
\section{Hobbies/Interests}
|
||||
\vspace{-0.55em}
|
||||
\cvitem{}{\small Robotics | Home Automation | Homelab | Amateur Radio | Motorcycling | PCB Design | Electric Vehicles}
|
||||
%----------------------------------------------------------------------------------------
|
||||
% FOOTER
|
||||
%----------------------------------------------------------------------------------------
|
||||
\fancyfoot[C]{\textit{\textbf{\small Full project details provided on my website.}}\\\textit{\textbf{\small References available upon request.}}}
|
||||
|
||||
\end{document}
|
||||
58
2019-07-01_hardware_test_engineer/tweaklist.sty
Normal file
58
2019-07-01_hardware_test_engineer/tweaklist.sty
Normal file
@@ -0,0 +1,58 @@
|
||||
%% start of file `tweaklist.sty'.
|
||||
%% Original by Jakob Schiøtz, downloaded from http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty; not found on ctan.
|
||||
%% Modified by Xavier Danaux (xdanaux@gmail.com).
|
||||
%
|
||||
% The tweaklist.sty package redefines the itemize, enumerate and description packages, so that all parameters can be adjusted.
|
||||
% This was done by copying the original definitions, and adding "hook commands" that are executed when entering the environment.
|
||||
% The hook commands are initially empty, but can be redefined with \renewcommand.
|
||||
%
|
||||
% 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/.
|
||||
|
||||
|
||||
% hooks for the itemize environment
|
||||
\def\itemhook{}
|
||||
\def\itemhooki{}
|
||||
\def\itemhookii{}
|
||||
\def\itemhookiii{}
|
||||
\def\itemhookiv{}
|
||||
% hooks for the enumerate environment
|
||||
\def\enumhook{}
|
||||
\def\enumhooki{}
|
||||
\def\enumhookii{}
|
||||
\def\enumhookiii{}
|
||||
\def\enumhookiv{}
|
||||
% hook for the description environment
|
||||
\def\deschook{}
|
||||
% original environment definitions, with hooks added
|
||||
\def\enumerate{%
|
||||
\ifnum
|
||||
\@enumdepth >\thr@@\@toodeep\else
|
||||
\advance\@enumdepth\@ne
|
||||
\edef\@enumctr{enum\romannumeral\the\@enumdepth}%
|
||||
\expandafter
|
||||
\list
|
||||
\csname label\@enumctr\endcsname
|
||||
{%
|
||||
\enumhook \csname enumhook\romannumeral\the\@enumdepth\endcsname%
|
||||
\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}%
|
||||
}%
|
||||
\fi}
|
||||
\def\itemize{%
|
||||
\ifnum
|
||||
\@itemdepth >\thr@@\@toodeep\else
|
||||
\advance\@itemdepth\@ne
|
||||
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
|
||||
\expandafter
|
||||
\list
|
||||
\csname\@itemitem\endcsname
|
||||
{%
|
||||
\itemhook \csname itemhook\romannumeral\the\@itemdepth\endcsname%
|
||||
\def\makelabel##1{\hss\llap{##1}}%
|
||||
}%
|
||||
\fi}
|
||||
\newenvironment{description}
|
||||
{\list{}{\deschook\labelwidth\z@ \itemindent-\leftmargin
|
||||
\let\makelabel\descriptionlabel}}
|
||||
{\endlist}
|
||||
Binary file not shown.
197
2025-10-27_hardware_test_engineer/resume.tex
Normal file
197
2025-10-27_hardware_test_engineer/resume.tex
Normal file
@@ -0,0 +1,197 @@
|
||||
%% start of file `template.tex'.
|
||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 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/.
|
||||
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||
|
||||
% This is a hack to fix a weird build error in all styles but the contemporary one
|
||||
% https://tex.stackexchange.com/a/621308
|
||||
\makeatletter % this will go in the .sty file
|
||||
\AddToHook{begindocument/before}{%
|
||||
\@ifpackageloaded{tikz}{\usetikzlibrary{tikzmark}}{}%
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% moderncv themes
|
||||
\moderncvcolor{green} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
|
||||
\moderncvstyle[]{classic} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
|
||||
% the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
|
||||
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
|
||||
\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
||||
|
||||
% adjust the page margins
|
||||
\usepackage[scale=0.94]{geometry}
|
||||
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
||||
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
||||
%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
|
||||
|
||||
% font loading
|
||||
% for luatex and xetex, do not use inputenc and fontenc
|
||||
% see https://tex.stackexchange.com/a/496643
|
||||
\ifxetexorluatex
|
||||
\usepackage{fontspec}
|
||||
\usepackage{unicode-math}
|
||||
\defaultfontfeatures{Ligatures=TeX}
|
||||
\setmainfont{Latin Modern Roman}
|
||||
\setsansfont{Latin Modern Sans}
|
||||
\setmonofont{Latin Modern Mono}
|
||||
\setmathfont{Latin Modern Math}
|
||||
|
||||
% you may also consider Fira Sans Light for a extra modern look
|
||||
%\setsansfont[ItalicFont={Fira Sans Light Italic},%
|
||||
% BoldFont={Fira Sans},%
|
||||
% BoldItalicFont={Fira Sans Italic}]%
|
||||
% {Fira Sans Light}%
|
||||
\else
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{lmodern}
|
||||
\fi
|
||||
|
||||
% additional packages
|
||||
\usepackage{moderncvfooti}
|
||||
|
||||
% document language
|
||||
\usepackage[english]{babel}
|
||||
|
||||
% personal data
|
||||
\name{Corwin A.}{Perren}
|
||||
\address{2724 W. Crestline Dr.}{Bellingham, WA 98226}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty
|
||||
\phone[mobile]{+1~(360)~298~4396} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax"
|
||||
\email{caperren@caperren.com} % optional, remove / comment the line if not wanted
|
||||
\homepage{www.caperren.com} % optional, remove / comment the line if not wanted
|
||||
|
||||
% Social icons
|
||||
\social[linkedin]{caperren} % optional, remove / comment the line if not wanted
|
||||
\social[github]{caperren} % optional, remove / comment the line if not wanted
|
||||
|
||||
\photo[64pt][0pt]{_assets/logo} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
||||
|
||||
%----------------------------------------------------------------------------------
|
||||
% content
|
||||
%----------------------------------------------------------------------------------
|
||||
\begin{document}
|
||||
%----- resume ---------------------------------------------------------
|
||||
\makecvtitle
|
||||
|
||||
\vspace{-2.5em}
|
||||
|
||||
|
||||
\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education}
|
||||
\cventry{June 2019}{Computer Science}{Oregon State University}{Corvallis, OR}{}{GPA: 3.21 | Program Focus: Mobile, Embedded, and Connected Robotics} % arguments 3 to 6 can be left empty
|
||||
|
||||
|
||||
\section{Experience}
|
||||
\cventry{Sept. 2019 --\\Apr. 2025}{Hardware Test Engineer I/II}{SpaceX}{Redmond, WA \& Remote}{}{General description no longer than 1--2 lines.\newline{}
|
||||
Detailed achievements:
|
||||
\begin{itemize}
|
||||
\item Achievement 1
|
||||
\item Achievement 2 (with sub-achievements)
|
||||
\begin{itemize}
|
||||
\item Sub-achievement (a);
|
||||
\item Sub-achievement (b), with sub-sub-achievements (don't do this!);
|
||||
\begin{itemize}
|
||||
\item Sub-sub-achievement i;
|
||||
\item Sub-sub-achievement ii;
|
||||
\item Sub-sub-achievement iii;
|
||||
\end{itemize}
|
||||
\item Sub-achievement (c);
|
||||
\end{itemize}
|
||||
\item Achievement 3
|
||||
\item Achievement 4
|
||||
\end{itemize}}
|
||||
\cventry{Jan. 2019 --\\Mar. 2019}{Avionics Test Engineer (Intern)}{SpaceX}{Hawthorne, CA}{}{\small Wrote software in Python for automation of avionics hardware test systems. Performed circuit debugging on test system hardware. Validated test software performance per aerospace standards. Automated Jira work ticket generation for two internal avionics teams to improve product investigation, test, and repair workflows.}
|
||||
\cventry{Sept. 2013 -- \\Aug. 2019}{Automation Engineer/Student Automation Engineer}{Sinnhuber Aquatic Research Lab}{Corvalli, OR}{}{Description}
|
||||
\cventry{Apr. 2016 -- \\May 2018}{Student Software \& Electrical Engineer}{CEOAS Ocean Mixing Group}{Corvallis, OR}{}{Description}
|
||||
|
||||
|
||||
\section{Languages}
|
||||
\cvitemwithcomment{Language 1}{Skill level}{Comment}
|
||||
|
||||
|
||||
\section{Computer skills}
|
||||
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
|
||||
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
|
||||
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
|
||||
\cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ}
|
||||
|
||||
|
||||
\section{Skills}
|
||||
% \cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
|
||||
% Skill matrix as an alternative to rate one's skills, computer or other.
|
||||
|
||||
% Adjusts width of skill matrix columns.
|
||||
% Usage \setcvskillcolumns[<width>][<factor>][<exp_width>]
|
||||
% <width>, <exp_width> should be lengths smaller than \textwidth, <factor> needs to be between 0 and 1.
|
||||
% Examples:
|
||||
% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
|
||||
% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
|
||||
% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
|
||||
% \setcvskillcolumns[][0.45][\widthof{``Year''}]%
|
||||
% \setcvskillcolumns[\widthof{``Languag''}][0.48][]
|
||||
% \setcvskillcolumns[\widthof{``Languag''}]%
|
||||
|
||||
% Adjusts width of legend columns. Usage \setcvskilllegendcolumns[<width>][<factor>]
|
||||
% <factor> needs to be between 0 and 1. <width> should be a length smaller than \textwidth
|
||||
% Examples:
|
||||
% \setcvskilllegendcolumns[][0.45]
|
||||
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]
|
||||
% \setcvskilllegendcolumns[0ex][0.46]% this is useful for the banking style
|
||||
|
||||
%% Add a legend if you are using \cvskill{<1-5>} command or \cvskillentry
|
||||
%% Usage \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
|
||||
% \cvskilllegend % insert default legend without lines
|
||||
%\cvskilllegend*[1em]{}% adjust post spacing
|
||||
% \cvskilllegend*{Legend}% Alternatively add a description string
|
||||
%% adjust the legend entries for other languages, here German
|
||||
% \cvskilllegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte\,/\,Spezialist]{Legende}
|
||||
|
||||
%% Alternative legend style with the first three skill levels in one column
|
||||
%% Usage \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
|
||||
\setcvskilllegendcolumns[][0.6]% works for classic, casual, banking
|
||||
% \setcvskilllegendcolumns[][0.55]% works better for oldstyle and fancy
|
||||
% \cvskillplainlegend{}
|
||||
% \cvskillplainlegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende}
|
||||
|
||||
%% Add a head of the skill matrix table with descriptions.
|
||||
%% Usage \cvskillhead[<post_padding>][<Level>][<Skill>][<Years>][<Comment>]%
|
||||
\cvskillhead[-0.1em]% this inserts the standard legend in english and adjust padding
|
||||
%% Adjust head of the skill matrix for other languages
|
||||
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung]
|
||||
|
||||
%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
|
||||
%% Example usages:
|
||||
\cvskillentry*{Language:}{3}{Python}{2}{Experienced in Python.}
|
||||
\cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!}
|
||||
\cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
|
||||
\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
|
||||
\cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years}
|
||||
% \cvskill{<0-5>} command
|
||||
% \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}}
|
||||
|
||||
|
||||
\section{Interests}
|
||||
\cvitem{hobby 1}{Description}
|
||||
|
||||
%
|
||||
%\section{Extra 1}
|
||||
%\cvlistitem{Item 1}
|
||||
%\cvlistitem{Item 2}
|
||||
%\cvlistitem{Item 3. This item is particularly long and therefore normally spans over several lines. Did you notice the indentation when the line wraps?}
|
||||
%
|
||||
%\section{Extra 2}
|
||||
%\cvlistdoubleitem{Item 1}{Item 4}
|
||||
%\cvlistdoubleitem{Item 2}{Item 5\cite{book2}}
|
||||
%\cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% FOOTER
|
||||
%----------------------------------------------------------------------------------------
|
||||
\addtofoot[]{\textit{\small{References available upon request. Detailed experiences are available on my website.}}}
|
||||
|
||||
\end{document}
|
||||
|
||||
|
||||
%% end of file `template.tex'.
|
||||
Binary file not shown.
197
2025-10-27_infrastructure_engineer/resume.tex
Normal file
197
2025-10-27_infrastructure_engineer/resume.tex
Normal file
@@ -0,0 +1,197 @@
|
||||
%% start of file `template.tex'.
|
||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 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/.
|
||||
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||
|
||||
% This is a hack to fix a weird build error in all styles but the contemporary one
|
||||
% https://tex.stackexchange.com/a/621308
|
||||
\makeatletter % this will go in the .sty file
|
||||
\AddToHook{begindocument/before}{%
|
||||
\@ifpackageloaded{tikz}{\usetikzlibrary{tikzmark}}{}%
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% moderncv themes
|
||||
\moderncvcolor{green} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
|
||||
\moderncvstyle[]{classic} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
|
||||
% the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
|
||||
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
|
||||
\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
||||
|
||||
% adjust the page margins
|
||||
\usepackage[scale=0.94]{geometry}
|
||||
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
||||
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
||||
%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
|
||||
|
||||
% font loading
|
||||
% for luatex and xetex, do not use inputenc and fontenc
|
||||
% see https://tex.stackexchange.com/a/496643
|
||||
\ifxetexorluatex
|
||||
\usepackage{fontspec}
|
||||
\usepackage{unicode-math}
|
||||
\defaultfontfeatures{Ligatures=TeX}
|
||||
\setmainfont{Latin Modern Roman}
|
||||
\setsansfont{Latin Modern Sans}
|
||||
\setmonofont{Latin Modern Mono}
|
||||
\setmathfont{Latin Modern Math}
|
||||
|
||||
% you may also consider Fira Sans Light for a extra modern look
|
||||
%\setsansfont[ItalicFont={Fira Sans Light Italic},%
|
||||
% BoldFont={Fira Sans},%
|
||||
% BoldItalicFont={Fira Sans Italic}]%
|
||||
% {Fira Sans Light}%
|
||||
\else
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{lmodern}
|
||||
\fi
|
||||
|
||||
% additional packages
|
||||
\usepackage{moderncvfooti}
|
||||
|
||||
% document language
|
||||
\usepackage[english]{babel}
|
||||
|
||||
% personal data
|
||||
\name{Corwin A.}{Perren}
|
||||
\address{2724 W. Crestline Dr.}{Bellingham, WA 98226}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty
|
||||
\phone[mobile]{+1~(360)~298~4396} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax"
|
||||
\email{caperren@caperren.com} % optional, remove / comment the line if not wanted
|
||||
\homepage{www.caperren.com} % optional, remove / comment the line if not wanted
|
||||
|
||||
% Social icons
|
||||
\social[linkedin]{caperren} % optional, remove / comment the line if not wanted
|
||||
\social[github]{caperren} % optional, remove / comment the line if not wanted
|
||||
|
||||
\photo[64pt][0pt]{_assets/logo} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
||||
|
||||
%----------------------------------------------------------------------------------
|
||||
% content
|
||||
%----------------------------------------------------------------------------------
|
||||
\begin{document}
|
||||
%----- resume ---------------------------------------------------------
|
||||
\makecvtitle
|
||||
|
||||
\vspace{-2.5em}
|
||||
|
||||
|
||||
\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education}
|
||||
\cventry{June 2019}{Computer Science}{Oregon State University}{Corvallis, OR}{}{GPA: 3.21 | Program Focus: Mobile, Embedded, and Connected Robotics} % arguments 3 to 6 can be left empty
|
||||
|
||||
|
||||
\section{Experience}
|
||||
\cventry{Sept. 2019 --\\Apr. 2025}{Hardware Test Engineer I/II}{SpaceX}{Redmond, WA \& Remote}{}{General description no longer than 1--2 lines.\newline{}
|
||||
Detailed achievements:
|
||||
\begin{itemize}
|
||||
\item Achievement 1
|
||||
\item Achievement 2 (with sub-achievements)
|
||||
\begin{itemize}
|
||||
\item Sub-achievement (a);
|
||||
\item Sub-achievement (b), with sub-sub-achievements (don't do this!);
|
||||
\begin{itemize}
|
||||
\item Sub-sub-achievement i;
|
||||
\item Sub-sub-achievement ii;
|
||||
\item Sub-sub-achievement iii;
|
||||
\end{itemize}
|
||||
\item Sub-achievement (c);
|
||||
\end{itemize}
|
||||
\item Achievement 3
|
||||
\item Achievement 4
|
||||
\end{itemize}}
|
||||
\cventry{Jan. 2019 --\\Mar. 2019}{Avionics Test Engineer (Intern)}{SpaceX}{Hawthorne, CA}{}{\small Wrote software in Python for automation of avionics hardware test systems. Performed circuit debugging on test system hardware. Validated test software performance per aerospace standards. Automated Jira work ticket generation for two internal avionics teams to improve product investigation, test, and repair workflows.}
|
||||
\cventry{Sept. 2013 -- \\Aug. 2019}{Automation Engineer/Student Automation Engineer}{Sinnhuber Aquatic Research Lab}{Corvalli, OR}{}{Description}
|
||||
\cventry{Apr. 2016 -- \\May 2018}{Student Software \& Electrical Engineer}{CEOAS Ocean Mixing Group}{Corvallis, OR}{}{Description}
|
||||
|
||||
|
||||
\section{Languages}
|
||||
\cvitemwithcomment{Language 1}{Skill level}{Comment}
|
||||
|
||||
|
||||
\section{Computer skills}
|
||||
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
|
||||
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
|
||||
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
|
||||
\cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ}
|
||||
|
||||
|
||||
\section{Skills}
|
||||
% \cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
|
||||
% Skill matrix as an alternative to rate one's skills, computer or other.
|
||||
|
||||
% Adjusts width of skill matrix columns.
|
||||
% Usage \setcvskillcolumns[<width>][<factor>][<exp_width>]
|
||||
% <width>, <exp_width> should be lengths smaller than \textwidth, <factor> needs to be between 0 and 1.
|
||||
% Examples:
|
||||
% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
|
||||
% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
|
||||
% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
|
||||
% \setcvskillcolumns[][0.45][\widthof{``Year''}]%
|
||||
% \setcvskillcolumns[\widthof{``Languag''}][0.48][]
|
||||
% \setcvskillcolumns[\widthof{``Languag''}]%
|
||||
|
||||
% Adjusts width of legend columns. Usage \setcvskilllegendcolumns[<width>][<factor>]
|
||||
% <factor> needs to be between 0 and 1. <width> should be a length smaller than \textwidth
|
||||
% Examples:
|
||||
% \setcvskilllegendcolumns[][0.45]
|
||||
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]
|
||||
% \setcvskilllegendcolumns[0ex][0.46]% this is useful for the banking style
|
||||
|
||||
%% Add a legend if you are using \cvskill{<1-5>} command or \cvskillentry
|
||||
%% Usage \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
|
||||
% \cvskilllegend % insert default legend without lines
|
||||
%\cvskilllegend*[1em]{}% adjust post spacing
|
||||
% \cvskilllegend*{Legend}% Alternatively add a description string
|
||||
%% adjust the legend entries for other languages, here German
|
||||
% \cvskilllegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte\,/\,Spezialist]{Legende}
|
||||
|
||||
%% Alternative legend style with the first three skill levels in one column
|
||||
%% Usage \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
|
||||
\setcvskilllegendcolumns[][0.6]% works for classic, casual, banking
|
||||
% \setcvskilllegendcolumns[][0.55]% works better for oldstyle and fancy
|
||||
% \cvskillplainlegend{}
|
||||
% \cvskillplainlegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende}
|
||||
|
||||
%% Add a head of the skill matrix table with descriptions.
|
||||
%% Usage \cvskillhead[<post_padding>][<Level>][<Skill>][<Years>][<Comment>]%
|
||||
\cvskillhead[-0.1em]% this inserts the standard legend in english and adjust padding
|
||||
%% Adjust head of the skill matrix for other languages
|
||||
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung]
|
||||
|
||||
%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
|
||||
%% Example usages:
|
||||
\cvskillentry*{Language:}{3}{Python}{2}{Experienced in Python.}
|
||||
\cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!}
|
||||
\cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
|
||||
\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
|
||||
\cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years}
|
||||
% \cvskill{<0-5>} command
|
||||
% \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}}
|
||||
|
||||
|
||||
\section{Interests}
|
||||
\cvitem{hobby 1}{Description}
|
||||
|
||||
%
|
||||
%\section{Extra 1}
|
||||
%\cvlistitem{Item 1}
|
||||
%\cvlistitem{Item 2}
|
||||
%\cvlistitem{Item 3. This item is particularly long and therefore normally spans over several lines. Did you notice the indentation when the line wraps?}
|
||||
%
|
||||
%\section{Extra 2}
|
||||
%\cvlistdoubleitem{Item 1}{Item 4}
|
||||
%\cvlistdoubleitem{Item 2}{Item 5\cite{book2}}
|
||||
%\cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% FOOTER
|
||||
%----------------------------------------------------------------------------------------
|
||||
\addtofoot[]{\textit{\small{References available upon request. Detailed experiences are available on my website.}}}
|
||||
|
||||
\end{document}
|
||||
|
||||
|
||||
%% end of file `template.tex'.
|
||||
BIN
2025-10-27_references/corwin_perren_2025_10_27_references.pdf
Normal file
BIN
2025-10-27_references/corwin_perren_2025_10_27_references.pdf
Normal file
Binary file not shown.
85
2025-10-27_references/references.tex
Normal file
85
2025-10-27_references/references.tex
Normal file
@@ -0,0 +1,85 @@
|
||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 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/.
|
||||
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||
|
||||
% This is a hack to fix a weird build error in all styles but the contemporary one
|
||||
% https://tex.stackexchange.com/a/621308
|
||||
\makeatletter % this will go in the .sty file
|
||||
\AddToHook{begindocument/before}{%
|
||||
\@ifpackageloaded{tikz}{\usetikzlibrary{tikzmark}}{}%
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% moderncv themes
|
||||
\moderncvcolor{green} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
|
||||
\moderncvstyle[]{classic} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
|
||||
% the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
|
||||
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
|
||||
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
||||
|
||||
% adjust the page margins
|
||||
\usepackage[scale=0.94]{geometry}
|
||||
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
||||
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
||||
%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
|
||||
|
||||
% font loading
|
||||
% for luatex and xetex, do not use inputenc and fontenc
|
||||
% see https://tex.stackexchange.com/a/496643
|
||||
\ifxetexorluatex
|
||||
\usepackage{fontspec}
|
||||
\usepackage{unicode-math}
|
||||
\defaultfontfeatures{Ligatures=TeX}
|
||||
\setmainfont{Latin Modern Roman}
|
||||
\setsansfont{Latin Modern Sans}
|
||||
\setmonofont{Latin Modern Mono}
|
||||
\setmathfont{Latin Modern Math}
|
||||
|
||||
% you may also consider Fira Sans Light for a extra modern look
|
||||
%\setsansfont[ItalicFont={Fira Sans Light Italic},%
|
||||
% BoldFont={Fira Sans},%
|
||||
% BoldItalicFont={Fira Sans Italic}]%
|
||||
% {Fira Sans Light}%
|
||||
\else
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{lmodern}
|
||||
\fi
|
||||
|
||||
% document language
|
||||
\usepackage[english]{babel}
|
||||
|
||||
% personal data
|
||||
\name{Corwin A.}{Perren}
|
||||
\address{2724 W. Crestline Dr.}{Bellingham, WA 98226}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty
|
||||
\phone[mobile]{+1~(360)~298~4396} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax"
|
||||
\email{caperren@caperren.com} % optional, remove / comment the line if not wanted
|
||||
\homepage{www.caperren.com} % optional, remove / comment the line if not wanted
|
||||
|
||||
% Social icons
|
||||
\social[linkedin]{caperren} % optional, remove / comment the line if not wanted
|
||||
\social[github]{caperren} % optional, remove / comment the line if not wanted
|
||||
|
||||
\photo[64pt][0pt]{_assets/logo} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
||||
|
||||
%----------------------------------------------------------------------------------
|
||||
% content
|
||||
%----------------------------------------------------------------------------------
|
||||
\begin{document}
|
||||
%----- references -----------------------------------------------------
|
||||
\makecvtitle
|
||||
|
||||
\vspace{-2.5em}
|
||||
|
||||
|
||||
\section{References}
|
||||
\cvitem{\textbf{SpaceX}\\\textit{Co-worker}}{John Doe\newline{}\tellink[]{+1~(111)~111~1111}\newline{}\emaillink[]{john.doe@johndoe.com}}
|
||||
\vspace{1em}
|
||||
\cvitem{\textbf{SpaceX}\\\textit{Co-worker}}{John Doe\newline{}\tellink[]{+1~(111)~111~1111}\newline{}\emaillink[]{john.doe@johndoe.com}}
|
||||
\vspace{1em}
|
||||
\cvitem{\textbf{SpaceX}\\\textit{Co-worker}}{John Doe\newline{}\tellink[]{+1~(111)~111~1111}\newline{}\emaillink[]{john.doe@johndoe.com}}
|
||||
|
||||
\end{document}
|
||||
67
Makefile
Normal file
67
Makefile
Normal file
@@ -0,0 +1,67 @@
|
||||
# Makefile for resumes, references, and cover letters
|
||||
NAME_PREFIX=corwin_perren
|
||||
|
||||
2019_07_01_HARDWARE_TEST_ENGINEER_DIR=2019-07-01_hardware_test_engineer
|
||||
2019_07_01_HARDWARE_TEST_ENGINEER_PREFIX_PATH=$(2019_07_01_HARDWARE_TEST_ENGINEER_DIR)/$(NAME_PREFIX)
|
||||
|
||||
2025_10_27_HARDWARE_TEST_ENGINEER_DIR=2025-10-27_hardware_test_engineer
|
||||
2025_10_27_HARDWARE_TEST_ENGINEER_PREFIX_PATH=$(2025_10_27_HARDWARE_TEST_ENGINEER_DIR)/$(NAME_PREFIX)
|
||||
|
||||
2025_10_27_INFRA_ENGINEER_DIR=2025-10-27_infrastructure_engineer
|
||||
2025_10_27_INFRA_ENGINEER_PREFIX_PATH=$(2025_10_27_INFRA_ENGINEER_DIR)/$(NAME_PREFIX)
|
||||
|
||||
2025_10_27_REFERENCES_DIR=2025-10-27_references
|
||||
2025_10_27_REFERENCES_PREFIX_PATH=$(2025_10_27_REFERENCES_DIR)/$(NAME_PREFIX)
|
||||
|
||||
|
||||
LEGACY_LATEX_BUILD_COMMAND=pdftex -halt-on-error -fmt=pdflatex
|
||||
LATEX_BUILD_COMMAND=lualatex --halt-on-error
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
default: all
|
||||
|
||||
clean:
|
||||
@find . -type f -name '*.pdf' -delete -exec echo "Deleting {}" \;
|
||||
|
||||
all: \
|
||||
templates \
|
||||
$(2019_07_01_HARDWARE_TEST_ENGINEER_PREFIX_PATH)_2019-07-01_hardware_test_engineer.pdf \
|
||||
$(2025_10_27_HARDWARE_TEST_ENGINEER_PREFIX_PATH)_2025_10_27_hardware_test_engineer.pdf \
|
||||
$(2025_10_27_INFRA_ENGINEER_PREFIX_PATH)_2025_10_27_infrastructure_engineer.pdf \
|
||||
$(2025_10_27_REFERENCES_PREFIX_PATH)_2025_10_27_references.pdf
|
||||
@git add .
|
||||
|
||||
templates: \
|
||||
_templates/resumes/resume.pdf \
|
||||
_templates/references/references.pdf \
|
||||
_templates/cover_letters/cover_letter.pdf
|
||||
|
||||
_templates/resumes/resume.pdf: _templates/resumes/resume.tex
|
||||
$(LATEX_BUILD_COMMAND) -output-directory=_templates/resumes _templates/resumes/resume.tex
|
||||
|
||||
_templates/references/references.pdf: _templates/references/references.tex
|
||||
$(LATEX_BUILD_COMMAND) -output-directory=_templates/references _templates/references/references.tex
|
||||
|
||||
_templates/cover_letters/cover_letter.pdf: _templates/cover_letters/cover_letter.tex
|
||||
$(LATEX_BUILD_COMMAND) -output-directory=_templates/cover_letters _templates/cover_letters/cover_letter.tex
|
||||
|
||||
$(2019_07_01_HARDWARE_TEST_ENGINEER_PREFIX_PATH)_2019-07-01_hardware_test_engineer.pdf: \
|
||||
$(2019_07_01_HARDWARE_TEST_ENGINEER_DIR)/resume.tex
|
||||
$(LEGACY_LATEX_BUILD_COMMAND) -output-directory=$(2019_07_01_HARDWARE_TEST_ENGINEER_DIR) $(2019_07_01_HARDWARE_TEST_ENGINEER_DIR)/resume.tex
|
||||
@mv $(2019_07_01_HARDWARE_TEST_ENGINEER_DIR)/resume.pdf $(2019_07_01_HARDWARE_TEST_ENGINEER_PREFIX_PATH)_2019-07-01_hardware_test_engineer.pdf
|
||||
|
||||
$(2025_10_27_HARDWARE_TEST_ENGINEER_PREFIX_PATH)_2025_10_27_hardware_test_engineer.pdf: \
|
||||
$(2025_10_27_HARDWARE_TEST_ENGINEER_DIR)/resume.tex
|
||||
$(LATEX_BUILD_COMMAND) -output-directory=$(2025_10_27_HARDWARE_TEST_ENGINEER_DIR) $(2025_10_27_HARDWARE_TEST_ENGINEER_DIR)/resume.tex
|
||||
@mv $(2025_10_27_HARDWARE_TEST_ENGINEER_DIR)/resume.pdf $(2025_10_27_HARDWARE_TEST_ENGINEER_PREFIX_PATH)_2025_10_27_hardware_test_engineer.pdf
|
||||
|
||||
$(2025_10_27_INFRA_ENGINEER_PREFIX_PATH)_2025_10_27_infrastructure_engineer.pdf: \
|
||||
$(2025_10_27_INFRA_ENGINEER_DIR)/resume.tex
|
||||
$(LATEX_BUILD_COMMAND) -output-directory=$(2025_10_27_INFRA_ENGINEER_DIR) $(2025_10_27_INFRA_ENGINEER_DIR)/resume.tex
|
||||
@mv $(2025_10_27_INFRA_ENGINEER_DIR)/resume.pdf $(2025_10_27_INFRA_ENGINEER_PREFIX_PATH)_2025_10_27_infrastructure_engineer.pdf
|
||||
|
||||
$(2025_10_27_REFERENCES_PREFIX_PATH)_2025_10_27_references.pdf: \
|
||||
$(2025_10_27_REFERENCES_DIR)/references.tex
|
||||
$(LATEX_BUILD_COMMAND) -output-directory=$(2025_10_27_REFERENCES_DIR) $(2025_10_27_REFERENCES_DIR)/references.tex
|
||||
@mv $(2025_10_27_REFERENCES_DIR)/references.pdf $(2025_10_27_REFERENCES_PREFIX_PATH)_2025_10_27_references.pdf
|
||||
@@ -1,2 +1,6 @@
|
||||
# Resumes
|
||||
A place to store my LaTeX-generated resumes.
|
||||
|
||||
A place to store my LaTeX-generated resumes. Also includes cover letter/reference sheets in the same style.
|
||||
|
||||
This requires a texlive environment to be installed and uses the following template.
|
||||
https://github.com/moderncv/moderncv
|
||||
|
||||
BIN
_assets/logo.png
Normal file
BIN
_assets/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
86
_templates/cover_letters/cover_letter.tex
Normal file
86
_templates/cover_letters/cover_letter.tex
Normal file
@@ -0,0 +1,86 @@
|
||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 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/.
|
||||
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||
|
||||
% This is a hack to fix a weird build error in all styles but the contemporary one
|
||||
% https://tex.stackexchange.com/a/621308
|
||||
\makeatletter % this will go in the .sty file
|
||||
\AddToHook{begindocument/before}{%
|
||||
\@ifpackageloaded{tikz}{\usetikzlibrary{tikzmark}}{}%
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% moderncv themes
|
||||
\moderncvcolor{green} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
|
||||
\moderncvstyle[]{classic} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
|
||||
% the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
|
||||
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
|
||||
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
||||
|
||||
% adjust the page margins
|
||||
\usepackage[scale=0.94]{geometry}
|
||||
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
||||
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
||||
%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
|
||||
|
||||
% font loading
|
||||
% for luatex and xetex, do not use inputenc and fontenc
|
||||
% see https://tex.stackexchange.com/a/496643
|
||||
\ifxetexorluatex
|
||||
\usepackage{fontspec}
|
||||
\usepackage{unicode-math}
|
||||
\defaultfontfeatures{Ligatures=TeX}
|
||||
\setmainfont{Latin Modern Roman}
|
||||
\setsansfont{Latin Modern Sans}
|
||||
\setmonofont{Latin Modern Mono}
|
||||
\setmathfont{Latin Modern Math}
|
||||
|
||||
% you may also consider Fira Sans Light for a extra modern look
|
||||
%\setsansfont[ItalicFont={Fira Sans Light Italic},%
|
||||
% BoldFont={Fira Sans},%
|
||||
% BoldItalicFont={Fira Sans Italic}]%
|
||||
% {Fira Sans Light}%
|
||||
\else
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{lmodern}
|
||||
\fi
|
||||
|
||||
% document language
|
||||
\usepackage[english]{babel}
|
||||
|
||||
% personal data
|
||||
\name{Corwin A.}{Perren}
|
||||
\address{2724 W. Crestline Dr.}{Bellingham, WA 98226}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty
|
||||
\phone[mobile]{+1~(360)~298~4396} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax"
|
||||
\email{caperren@caperren.com} % optional, remove / comment the line if not wanted
|
||||
\homepage{www.caperren.com} % optional, remove / comment the line if not wanted
|
||||
|
||||
% Social icons
|
||||
\social[linkedin]{caperren} % optional, remove / comment the line if not wanted
|
||||
\social[github]{caperren} % optional, remove / comment the line if not wanted
|
||||
|
||||
\photo[64pt][0pt]{_assets/logo} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
||||
|
||||
% recipient data
|
||||
\recipient{Company Recruitment Team}{Company, Inc.\\123 somestreet\\some city}
|
||||
\date{January 01, 1984}
|
||||
\subject{Job application}
|
||||
\opening{Dear Sir or Madam,}
|
||||
\closing{Yours faithfully,}
|
||||
|
||||
%----------------------------------------------------------------------------------
|
||||
% content
|
||||
%----------------------------------------------------------------------------------
|
||||
\begin{document}
|
||||
%----- cover letter ---------------------------------------------------
|
||||
\makelettertitle
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ullamcorper neque sit amet lectus facilisis sed luctus nisl iaculis. Vivamus at neque arcu, sed tempor quam. Curabitur pharetra tincidunt tincidunt. Morbi volutpat feugiat mauris, quis tempor neque vehicula volutpat. Duis tristique justo vel massa fermentum accumsan. Mauris ante elit, feugiat vestibulum tempor eget, eleifend ac ipsum. Donec scelerisque lobortis ipsum eu vestibulum. Pellentesque vel massa at felis accumsan rhoncus.
|
||||
Suspendisse commodo, massa eu congue tincidunt, elit mauris pellentesque orci, cursus tempor odio nisl euismod augue. Aliquam adipiscing nibh ut odio sodales et pulvinar tortor laoreet. Mauris a accumsan ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse vulputate sem vehicula ipsum various nec tempus dui dapibus. Phasellus et est urna, ut auctor erat. Sed tincidunt odio id odio aliquam mattis. Donec sapien nulla, feugiat eget adipiscing sit amet, lacinia ut dolor. Phasellus tincidunt, leo a fringilla consectetur, felis diam aliquam urna, vitae aliquet lectus orci nec velit. Vivamus dapibus various blandit.
|
||||
Duis sit amet magna ante, at sodales diam. Aenean consectetur porta risus et sagittis. Ut interdum, enim various pellentesque tincidunt, magna libero sodales tortor, ut fermentum nunc metus a ante. Vivamus odio leo, tincidunt eu luctus ut, sollicitudin sit amet metus. Nunc sed orci lectus. Ut sodales magna sed velit volutpat sit amet pulvinar diam venenatis.
|
||||
Albert Einstein discovered that $e=mc^2$ in 1905.
|
||||
\makeletterclosing
|
||||
\end{document}
|
||||
85
_templates/references/references.tex
Normal file
85
_templates/references/references.tex
Normal file
@@ -0,0 +1,85 @@
|
||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 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/.
|
||||
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||
|
||||
% This is a hack to fix a weird build error in all styles but the contemporary one
|
||||
% https://tex.stackexchange.com/a/621308
|
||||
\makeatletter % this will go in the .sty file
|
||||
\AddToHook{begindocument/before}{%
|
||||
\@ifpackageloaded{tikz}{\usetikzlibrary{tikzmark}}{}%
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% moderncv themes
|
||||
\moderncvcolor{green} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
|
||||
\moderncvstyle[]{classic} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
|
||||
% the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
|
||||
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
|
||||
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
||||
|
||||
% adjust the page margins
|
||||
\usepackage[scale=0.94]{geometry}
|
||||
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
||||
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
||||
%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
|
||||
|
||||
% font loading
|
||||
% for luatex and xetex, do not use inputenc and fontenc
|
||||
% see https://tex.stackexchange.com/a/496643
|
||||
\ifxetexorluatex
|
||||
\usepackage{fontspec}
|
||||
\usepackage{unicode-math}
|
||||
\defaultfontfeatures{Ligatures=TeX}
|
||||
\setmainfont{Latin Modern Roman}
|
||||
\setsansfont{Latin Modern Sans}
|
||||
\setmonofont{Latin Modern Mono}
|
||||
\setmathfont{Latin Modern Math}
|
||||
|
||||
% you may also consider Fira Sans Light for a extra modern look
|
||||
%\setsansfont[ItalicFont={Fira Sans Light Italic},%
|
||||
% BoldFont={Fira Sans},%
|
||||
% BoldItalicFont={Fira Sans Italic}]%
|
||||
% {Fira Sans Light}%
|
||||
\else
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{lmodern}
|
||||
\fi
|
||||
|
||||
% document language
|
||||
\usepackage[english]{babel}
|
||||
|
||||
% personal data
|
||||
\name{Corwin A.}{Perren}
|
||||
\address{2724 W. Crestline Dr.}{Bellingham, WA 98226}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty
|
||||
\phone[mobile]{+1~(360)~298~4396} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax"
|
||||
\email{caperren@caperren.com} % optional, remove / comment the line if not wanted
|
||||
\homepage{www.caperren.com} % optional, remove / comment the line if not wanted
|
||||
|
||||
% Social icons
|
||||
\social[linkedin]{caperren} % optional, remove / comment the line if not wanted
|
||||
\social[github]{caperren} % optional, remove / comment the line if not wanted
|
||||
|
||||
\photo[64pt][0pt]{_assets/logo} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
||||
|
||||
%----------------------------------------------------------------------------------
|
||||
% content
|
||||
%----------------------------------------------------------------------------------
|
||||
\begin{document}
|
||||
%----- references -----------------------------------------------------
|
||||
\makecvtitle
|
||||
|
||||
\vspace{-2.5em}
|
||||
|
||||
|
||||
\section{References}
|
||||
\cvitem{\textbf{SpaceX}\\\textit{Co-worker}}{John Doe\newline{}\tellink[]{+1~(111)~111~1111}\newline{}\emaillink[]{john.doe@johndoe.com}}
|
||||
\vspace{1em}
|
||||
\cvitem{\textbf{SpaceX}\\\textit{Co-worker}}{John Doe\newline{}\tellink[]{+1~(111)~111~1111}\newline{}\emaillink[]{john.doe@johndoe.com}}
|
||||
\vspace{1em}
|
||||
\cvitem{\textbf{SpaceX}\\\textit{Co-worker}}{John Doe\newline{}\tellink[]{+1~(111)~111~1111}\newline{}\emaillink[]{john.doe@johndoe.com}}
|
||||
|
||||
\end{document}
|
||||
197
_templates/resumes/resume.tex
Normal file
197
_templates/resumes/resume.tex
Normal file
@@ -0,0 +1,197 @@
|
||||
%% start of file `template.tex'.
|
||||
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 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/.
|
||||
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||
|
||||
% This is a hack to fix a weird build error in all styles but the contemporary one
|
||||
% https://tex.stackexchange.com/a/621308
|
||||
\makeatletter % this will go in the .sty file
|
||||
\AddToHook{begindocument/before}{%
|
||||
\@ifpackageloaded{tikz}{\usetikzlibrary{tikzmark}}{}%
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% moderncv themes
|
||||
\moderncvcolor{green} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
|
||||
\moderncvstyle[]{classic} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
|
||||
% the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
|
||||
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
|
||||
\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
||||
|
||||
% adjust the page margins
|
||||
\usepackage[scale=0.94]{geometry}
|
||||
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
||||
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
||||
%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
|
||||
|
||||
% font loading
|
||||
% for luatex and xetex, do not use inputenc and fontenc
|
||||
% see https://tex.stackexchange.com/a/496643
|
||||
\ifxetexorluatex
|
||||
\usepackage{fontspec}
|
||||
\usepackage{unicode-math}
|
||||
\defaultfontfeatures{Ligatures=TeX}
|
||||
\setmainfont{Latin Modern Roman}
|
||||
\setsansfont{Latin Modern Sans}
|
||||
\setmonofont{Latin Modern Mono}
|
||||
\setmathfont{Latin Modern Math}
|
||||
|
||||
% you may also consider Fira Sans Light for a extra modern look
|
||||
%\setsansfont[ItalicFont={Fira Sans Light Italic},%
|
||||
% BoldFont={Fira Sans},%
|
||||
% BoldItalicFont={Fira Sans Italic}]%
|
||||
% {Fira Sans Light}%
|
||||
\else
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{lmodern}
|
||||
\fi
|
||||
|
||||
% additional packages
|
||||
\usepackage{moderncvfooti}
|
||||
|
||||
% document language
|
||||
\usepackage[english]{babel}
|
||||
|
||||
% personal data
|
||||
\name{Corwin A.}{Perren}
|
||||
\address{2724 W. Crestline Dr.}{Bellingham, WA 98226}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty
|
||||
\phone[mobile]{+1~(360)~298~4396} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax"
|
||||
\email{caperren@caperren.com} % optional, remove / comment the line if not wanted
|
||||
\homepage{www.caperren.com} % optional, remove / comment the line if not wanted
|
||||
|
||||
% Social icons
|
||||
\social[linkedin]{caperren} % optional, remove / comment the line if not wanted
|
||||
\social[github]{caperren} % optional, remove / comment the line if not wanted
|
||||
|
||||
\photo[64pt][0pt]{_assets/logo} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
||||
|
||||
%----------------------------------------------------------------------------------
|
||||
% content
|
||||
%----------------------------------------------------------------------------------
|
||||
\begin{document}
|
||||
%----- resume ---------------------------------------------------------
|
||||
\makecvtitle
|
||||
|
||||
\vspace{-2.5em}
|
||||
|
||||
|
||||
\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education}
|
||||
\cventry{June 2019}{Computer Science}{Oregon State University}{Corvallis, OR}{}{GPA: 3.21 | Program Focus: Mobile, Embedded, and Connected Robotics} % arguments 3 to 6 can be left empty
|
||||
|
||||
|
||||
\section{Experience}
|
||||
\cventry{Sept. 2019 --\\Apr. 2025}{Hardware Test Engineer I/II}{SpaceX}{Redmond, WA \& Remote}{}{General description no longer than 1--2 lines.\newline{}
|
||||
Detailed achievements:
|
||||
\begin{itemize}
|
||||
\item Achievement 1
|
||||
\item Achievement 2 (with sub-achievements)
|
||||
\begin{itemize}
|
||||
\item Sub-achievement (a);
|
||||
\item Sub-achievement (b), with sub-sub-achievements (don't do this!);
|
||||
\begin{itemize}
|
||||
\item Sub-sub-achievement i;
|
||||
\item Sub-sub-achievement ii;
|
||||
\item Sub-sub-achievement iii;
|
||||
\end{itemize}
|
||||
\item Sub-achievement (c);
|
||||
\end{itemize}
|
||||
\item Achievement 3
|
||||
\item Achievement 4
|
||||
\end{itemize}}
|
||||
\cventry{Jan. 2019 --\\Mar. 2019}{Avionics Test Engineer (Intern)}{SpaceX}{Hawthorne, CA}{}{\small Wrote software in Python for automation of avionics hardware test systems. Performed circuit debugging on test system hardware. Validated test software performance per aerospace standards. Automated Jira work ticket generation for two internal avionics teams to improve product investigation, test, and repair workflows.}
|
||||
\cventry{Sept. 2013 -- \\Aug. 2019}{Automation Engineer/Student Automation Engineer}{Sinnhuber Aquatic Research Lab}{Corvalli, OR}{}{Description}
|
||||
\cventry{Apr. 2016 -- \\May 2018}{Student Software \& Electrical Engineer}{CEOAS Ocean Mixing Group}{Corvallis, OR}{}{Description}
|
||||
|
||||
|
||||
\section{Languages}
|
||||
\cvitemwithcomment{Language 1}{Skill level}{Comment}
|
||||
|
||||
|
||||
\section{Computer skills}
|
||||
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
|
||||
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
|
||||
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
|
||||
\cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ}
|
||||
|
||||
|
||||
\section{Skills}
|
||||
% \cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
|
||||
% Skill matrix as an alternative to rate one's skills, computer or other.
|
||||
|
||||
% Adjusts width of skill matrix columns.
|
||||
% Usage \setcvskillcolumns[<width>][<factor>][<exp_width>]
|
||||
% <width>, <exp_width> should be lengths smaller than \textwidth, <factor> needs to be between 0 and 1.
|
||||
% Examples:
|
||||
% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
|
||||
% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
|
||||
% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
|
||||
% \setcvskillcolumns[][0.45][\widthof{``Year''}]%
|
||||
% \setcvskillcolumns[\widthof{``Languag''}][0.48][]
|
||||
% \setcvskillcolumns[\widthof{``Languag''}]%
|
||||
|
||||
% Adjusts width of legend columns. Usage \setcvskilllegendcolumns[<width>][<factor>]
|
||||
% <factor> needs to be between 0 and 1. <width> should be a length smaller than \textwidth
|
||||
% Examples:
|
||||
% \setcvskilllegendcolumns[][0.45]
|
||||
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]
|
||||
% \setcvskilllegendcolumns[0ex][0.46]% this is useful for the banking style
|
||||
|
||||
%% Add a legend if you are using \cvskill{<1-5>} command or \cvskillentry
|
||||
%% Usage \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
|
||||
% \cvskilllegend % insert default legend without lines
|
||||
%\cvskilllegend*[1em]{}% adjust post spacing
|
||||
% \cvskilllegend*{Legend}% Alternatively add a description string
|
||||
%% adjust the legend entries for other languages, here German
|
||||
% \cvskilllegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte\,/\,Spezialist]{Legende}
|
||||
|
||||
%% Alternative legend style with the first three skill levels in one column
|
||||
%% Usage \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
|
||||
\setcvskilllegendcolumns[][0.6]% works for classic, casual, banking
|
||||
% \setcvskilllegendcolumns[][0.55]% works better for oldstyle and fancy
|
||||
% \cvskillplainlegend{}
|
||||
% \cvskillplainlegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende}
|
||||
|
||||
%% Add a head of the skill matrix table with descriptions.
|
||||
%% Usage \cvskillhead[<post_padding>][<Level>][<Skill>][<Years>][<Comment>]%
|
||||
\cvskillhead[-0.1em]% this inserts the standard legend in english and adjust padding
|
||||
%% Adjust head of the skill matrix for other languages
|
||||
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung]
|
||||
|
||||
%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
|
||||
%% Example usages:
|
||||
\cvskillentry*{Language:}{3}{Python}{2}{Experienced in Python.}
|
||||
\cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!}
|
||||
\cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
|
||||
\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
|
||||
\cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years}
|
||||
% \cvskill{<0-5>} command
|
||||
% \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}}
|
||||
|
||||
|
||||
\section{Interests}
|
||||
\cvitem{hobby 1}{Description}
|
||||
|
||||
%
|
||||
%\section{Extra 1}
|
||||
%\cvlistitem{Item 1}
|
||||
%\cvlistitem{Item 2}
|
||||
%\cvlistitem{Item 3. This item is particularly long and therefore normally spans over several lines. Did you notice the indentation when the line wraps?}
|
||||
%
|
||||
%\section{Extra 2}
|
||||
%\cvlistdoubleitem{Item 1}{Item 4}
|
||||
%\cvlistdoubleitem{Item 2}{Item 5\cite{book2}}
|
||||
%\cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% FOOTER
|
||||
%----------------------------------------------------------------------------------------
|
||||
\addtofoot[]{\textit{\small{References available upon request. Detailed experiences are available on my website.}}}
|
||||
|
||||
\end{document}
|
||||
|
||||
|
||||
%% end of file `template.tex'.
|
||||
Reference in New Issue
Block a user