add materials for 2020 promotion

This commit is contained in:
Vicky Steeves 2020-09-25 18:45:45 -04:00
parent 7ed1938e93
commit 6da844cd54
19 changed files with 3789 additions and 0 deletions

View File

@ -0,0 +1,15 @@
@misc{SLOAN,
title={{Investigating \& Archiving the Scholarly Git Experience}},
publisher={Alfred P. Sloan Foundation},
author={Vicky Steeves and David Millman},
note={Sloan grant to investigate options for archiving scholarship in git and on git-hosting platforms.More information available at \url{https://investigating-archiving-git.gitlab.io/}},
year={2018 -- 2020}
},
@misc{IMLS,
title={{Saving Data Journalism}},
publisher={{Institute for Museum and Library Services}},
author={R{\'{e}}mi Rampin and Vicky Steeves and Fernando Chirigati and Katherine Boss},
note={IMLS grant to archive dynamic websites. More information available at \url{https://savingjournalism.reprozip.org}},
year={2018 -- 2019}
}

View File

@ -0,0 +1,14 @@
\documentclass{article}
\usepackage[utf8]{inputenc}
\title{CV}
\author{victoriaisteeves }
\date{September 2020}
\begin{document}
\maketitle
\section{Introduction}
\end{document}

View File

@ -0,0 +1,117 @@
@misc{DigiPres-QDR,
author = {Steeves, Vicky and Peltzman, Shira and Kim, Julia and Griesinger, Peggy and Blumenthal, Karl-Rainer},
publisher = {QDR Main Collection},
title = {{Data for: 'What's Wrong with Digital Stewardship: Evaluating the Organization of Digital Preservation Programs from Practitioners' Perspectives'}},
UNF = {UNF:6:1LtLPQd8C+mSo4uxuw3T5A==},
year = {2020},
version = {V1},
doi = {10.5064/F6DJRPLK},
url = {https://data.qdr.syr.edu/dataset.xhtml?persistentId=doi:10.5064/F6DJRPLK},
note={Available at \url{https://data.qdr.syr.edu/dataset.xhtml?persistentId=doi:10.5064/F6DJRPLK},
},
@misc{DPC,
title={{Project Preview: "Weaving Digital Stewardship into the Organizational Fabric"}},
publisher={Digital Preservation Coalition},
author={Karl-Rainer Blumenthal and Peggy Griesinger and Julia Kim and Shira Peltzman and Vicky Steeves},
note={Available at \url{https://www.dpconline.org/blog/idpd/weaving-digital-stewardship-into-the-organization}},
year={2019}
},
@misc{EthicsTP,
author = {Vicky Steeves and Thomas Padilla},
title = {{Data Librarianship: A Path and an Ethic}},
year = {2018},
publisher = {ARCL dh+lib},
note={Available at: \url{https://acrl.ala.org/dh/2018/04/04/repro/}},
},
@misc{ReproCrawl,
author = {Vicky Steeves and R{\'{e}}mi Rampin},
title = {{ReproCrawl}},
year = {2018},
publisher = {GiLab},
note={A search engine for materials relating to reproducibility. Source: \url{https://gitlab.com/vickysteeves/reprocrawl}},
},
@misc{DB_OpenWomen,
title={{Database: Women Leaders in Openness}},
publisher={LIS Scholarship Archive},
author={Vicky Steeves},
doi={10.17605/osf.io/5s2g6},
note={Available at \url{https://osf.io/preprints/lissa/5s2g6/}},
year={2017}
},
@misc{ReproZip_Ex,
author = {Vicky Steeves and R{\'{e}}mi Rampin},
title = {{ReproZip Examples Website}},
year = {2017},
publisher = {GitHub},
journal = {GitHub repository},
note={Available at \url{https://github.com/ViDA-NYU/reprozip-examples}},
commit = {869423370b9d8ec7617535f419e019657bfe14a2}
},
@misc{GitLab,
title={{How GitLab can help in research reproducibility}},
publisher={GitLab},
author={Vicky Steeves},
note={Available at \url{https://about.gitlab.com/2017/08/25/gitlab-and-reproducibility/}},
year={2017}
},
@misc{ReproScience,
author = {Vicky Steeves and R{\'{e}}mi Rampin},
title = {{Reproducibile Science} Website},
year = {2017},
publisher = {GitHub},
journal = {GitHub repository},
note={Available at \url{https://github.com/ViDA-NYU/reproducible-science}},
commit = {94804c5b98b0ff33a7b0a1cabf7875cce5b546b5}
},
@misc{ReproScienceNYU,
author = {Vicky Steeves and R{\'{e}}mi Rampin},
title = {{Reproducibile Science NYU} Website},
year = {2017},
publisher = {GitHub},
journal = {GitHub repository},
note={Available at \url{https://github.com/ViDA-NYU/reproducible-science-nyu}},
commit = {ced8aa8a9c9d1d180d953d26397b5323ad156614}
},
@misc{Badge,
title={{Research Data Management Badge}},
publisher={Open Science Framework},
author={Steeves, Vicky and Wolf, Nicholas},
note={Available at \url{https://osf.io/85bnv}},
year={2016},
},
@misc{DataDispatch,
title={{Data Dispatch}},
author={Steeves, Vicky and Wolf, Nicholas},
year={2016},
note={Available at \url{https://osf.io/4tdms/}},
month={Sep}
},
@misc{ReproFeed,
author = {Vicky Steeves and R{\'{e}}mi Rampin},
title = {Reproducibility News Feed},
year = {2015},
publisher = {GitHub},
journal = {GitHub repository},
note={Available at \url{https://github.com/ViDA-NYU/reproducibility-news}},
commit = {b456a06b3c41da759a274afe25d7741e87d1a332}
},
@misc{RZ_Demo,
title={{Packing and Unpacking Experiments with ReproZip}},
author={Vicky Steeves and R{\'{e}}mi Rampin and Fernando Chirigati},
year={2015},
type = {Motion picture},
note={Available at \url{https://www.youtube.com/watch?v=-zLPuwCHXo0}},
month={Nov}
}

View File

@ -0,0 +1,722 @@
%% start of file `moderncv.cls'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{moderncv}[2015/07/28 v2.0.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[table]{xcolor}
% font loading
\RequirePackage{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
% hyper links (hyperref is loaded at the end of the preamble to pass options required by loaded packages such as CJK)
\newcommand*\pdfpagemode{UseNone}% do not show thumbnails or bookmarks on opening (on supporting browsers); set \pdfpagemode to "UseOutlines" to show bookmarks
\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 = \pdfpagemode,
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{}~\@lastname{}},
pdftitle = {\@firstname{}~\@lastname{}\notblank{\@title}{ -- \@title}{}},
pdfsubject = {Resum\'{e} of \@firstname{}~\@lastname{}},
pdfkeywords = {\@firstname{}~\@lastname{}, 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{%
% fancyhdr length
\renewcommand{\headwidth}{\textwidth}
\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}\pagenumberfont\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}}{}}\fi}%
\AtEndDocument{\label{lastpage}}}
\pagestyle{plain}
% reduced list spacing
% package providing hooks into lists
% originally developped by Jakob Schiotz (see http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty)
% modified and distributed with moderncv(not available otherwise on ctan)
\RequirePackage{tweaklist}
\renewcommand*{\itemhook}{%
\@minipagetrue% removes spacing before lists as they use \addvspace, which doesn't add vertical space inside minipages
\@noparlisttrue% removes spacing at end of lists, caused by \par
\setlength{\topsep}{0pt}% normally not required thanks to \@minipagetrue
\setlength{\partopsep}{0pt}% normally not required thanks to \@minipagetrue
\setlength{\parsep}{0pt}% not required when \itemsep and \parskip are set to 0pt (?)
\setlength{\parskip}{0pt}%
\setlength{\itemsep}{0pt}}
\renewcommand*{\enumhook}{\itemhook{}}
\renewcommand*{\deschook}{\itemhook{}}
% lengths calculations
\RequirePackage{calc}
% advanced command arguments (LaTeX 3)
\RequirePackage{xparse}
% TODO (?): replace all \newcommand by \NewDocumentCommand
% micro-typography (e.g., character protrusion, font expansion, hyphenatable letterspacing)
\RequirePackage{microtype}
% stack of key-value elements, used to save personal information
\RequirePackage{moderncvcollection}
% compatibility package with older versions of moderncv
\RequirePackageWithOptions{moderncvcompatibility}
\usepackage{expl3}
%-------------------------------------------------------------------------------
% 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
%---------
% defines one's name
% usage: \name{<firstname>}{<lastname>}
\newcommand*{\name}[2]{\def\@firstname{#1}\def\@lastname{#2}}
% defines one's title (optional)
% usage: \title{<title>}
\renewcommand*{\title}[1]{\def\@title{#1}}
% defines one's address (optional)
% usage: \address{<street>}{<city>}{<country>}
% where the <city> and <country> arguments can be omitted or provided empty
\NewDocumentCommand{\address}{mG{}G{}}{\def\@addressstreet{#1}\def\@addresscity{#2}\def\@addresscountry{#3}}
% defines one's email (optional)
% usage: \email{<email adress>}
\newcommand*{\email}[1]{\def\@email{#1}}
% defines one's home page (optional)
% usage: \homepage{<url>}
\newcommand*{\homepage}[1]{\def\@homepage{#1}}
% adds a fixed/mobile/fax number to one's personal information (optional)
% usage: \phone[<optional type>]{<number>}
% where <optional type> should be either "fixed" (default), "mobile" or "fax
\collectionnew{phones}
\NewDocumentCommand{\phone}{O{fixed}m}{%
\ifthenelse{\equal{#1}{fax}}%
{\collectionadd[#1]{phones}{#2}}
{\collectionadd[#1]{phones}{\protect\tellink{#2}}}
}
% adds a social link to one's personal information (optional)
% usage: \social[<optional type>][<optional url>]{<account name>}
% where <optional type> should be either "linkedin", "xing", "twitter", "github", "gitlab" or "skype"
\collectionnew{socials}
\NewDocumentCommand{\social}{O{}O{}m}{%
\ifthenelse{\equal{#2}{}}%
{%
\ifthenelse{\equal{#1}{linkedin}}{\collectionadd[linkedin]{socials}{\protect\httplink[#3]{www.linkedin.com/in/#3}}} {}%
\ifthenelse{\equal{#1}{xing}} {\collectionadd[xing]{socials} {\protect\httplink[#3]{www.xing.com/profile/#3}}}{}%
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httplink[#3]{www.twitter.com/#3}}} {}%
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httplink[#3]{www.github.com/#3}}} {}%
\ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httplink[#3]{www.gitlab.com/#3}}} {}%
}
{\collectionadd[#1]{socials}{\protect\httplink[#3]{#2}}}}
% defines additional personal information (optional)
% usage: \extrainfo{<text>}
\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}}
% colors
%-------
\definecolor{color0}{rgb}{0,0,0}% main default color, normally left to black
\definecolor{color1}{rgb}{0,0,0}% primary scheme color
\definecolor{color2}{rgb}{0,0,0}% secondary scheme color
\definecolor{color3}{rgb}{0,0,0}% tertiary scheme 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}{\large\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
\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*{\mobilephonesymbol} {}
\newcommand*{\fixedphonesymbol} {}
\newcommand*{\faxphonesymbol} {}
\newcommand*{\emailsymbol} {}
\newcommand*{\homepagesymbol} {}
\newcommand*{\linkedinsocialsymbol}{}
\newcommand*{\xingsocialsymbol} {}
\newcommand*{\twittersocialsymbol} {}
\newcommand*{\githubsocialsymbol} {}
\newcommand*{\gitlabsocialsymbol} {}
% other
%------
% 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}{}%
\newcommand*{\@loadmoderncvpackage}[3][]{%
\begingroup\edef\x{\endgroup%
\noexpand\RequirePackage[#1]{moderncv#2\ifcase#3\or i\or ii\or iii\or iv\or v\or vi\or vii\or viii\or ix\or x\fi}%
}\x}
% loads a style variant (a combination of header, body and footer)
% usage: \moderncvstyle{<style variant name>}
\newcommand*{\moderncvstyle}[2][]{%
\RequirePackage[#1]{moderncvstyle#2}}
% loads a header variant
% usage: \moderncvhead[<optional head option>]{<header variant number>}
\newcommand*{\moderncvhead}[2][]{%
\@loadmoderncvpackage[#1]{head}{#2}}
% loads a body variant
% usage: \moderncvbody[<optional body option>]{<body variant number>}
\newcommand*{\moderncvbody}[2][]{%
\@loadmoderncvpackage[#1]{body}{#2}}
% loads a footer variant
% usage: \moderncvfoot[<optional foot option>]{<foot variant number>}
\newcommand*{\moderncvfoot}[2][]{%
\@loadmoderncvpackage[#1]{foot}{#2}}
% loads a color scheme
% usage: \moderncvcolor{<color scheme name>}
\newcommand*{\moderncvcolor}[1]{%
\RequirePackage{moderncvcolor#1}}
% loads an icons set
% usage: \moderncvicons{<icon set name>}
\newcommand*{\moderncvicons}[1]{%
\RequirePackage{moderncvicons#1}}
% recomputes all automatic lengths
\newcommand*{\recomputeheadlengths}{\recomputecvheadlengths}
\newcommand*{\recomputebodylengths}{\recomputecvbodylengths}
\newcommand*{\recomputefootlengths}{\recomputecvfootlengths}
\newcommand*{\recomputelengths}{\recomputecvlengths}
\AtBeginDocument{\recomputelengths{}}
% creates a command if not yet defined
\newcommand*{\@initializecommand}[2]{%
\ifdefined#1
\renewcommand{#1}{#2}%
\else%
\newcommand*{#1}{#2}\fi}
% creates a length if not yet defined
\newcommand*{\@initializelength}[1]{%
\ifdefined#1
\else%
\newlength{#1}\fi%
\setlength{#1}{0pt}}
% creates a box if not yet defined
\newcommand*{\@initializebox}[1]{%
\ifdefined#1
\savebox{#1}{}%
\else%
\newsavebox{#1}\fi}
% creates an if switch if not yet defined
\newcommand*{\@initializeif}[1]{%
% \ifdefined#1% not working due to the nested \if
% \else%
\newif#1%\fi
}
% custom strut for spacing; the first argument is the vertical offset of the strut, the second its total height
\newcommand*{\@moderncvstrut}[2]{%
\rule[-#1]{0pt}{#2}}
%-------------------------------------------------------------------------------
% resume design commands definitions
%-------------------------------------------------------------------------------
% elements
% defines one's picture (optional)
% usage: photo[<picture width>][<picture frame thickness>]{<picture filename>}
\NewDocumentCommand{\photo}{O{64pt}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}
\newcommand*{\quote}[1]{\def\@quote{#1}}
% fonts
\newcommand*{\namefont}{}
\newcommand*{\titlefont}{}
\newcommand*{\addressfont}{}
\newcommand*{\quotefont}{}
\newcommand*{\sectionfont}{}
\newcommand*{\subsectionfont}{}
\newcommand*{\hintfont}{}
\newcommand*{\pagenumberfont}{\addressfont\itshape}
% fake small caps - cfr http://tex.stackexchange.com/questions/55664/fake-small-caps-with-xetex-fontspec
%\def\fakesc{\bgroup\obeyspaces\fakescaux}
%\def\fakescaux#1{\fakescauxii #1\relax\relax\egroup}
%\def\fakescauxii#1{%
%\ifx\relax#1\else \ifcat#1\@sptoken{} \expandafter\expandafter\expandafter\fakescauxii\else
%\ifnum`#1=\uccode`#1 {\normalsize #1}\else {\footnotesize \uppercase{#1}}\fi \expandafter\expandafter\expandafter\fakescauxii\expandafter\fi\fi}
% 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}}
\newcommand*{\pagenumberstyle}[1]{{\pagenumberfont#1}}
% recompute all resume lengths
\newcommand*{\recomputecvheadlengths}{}
\newcommand*{\recomputecvbodylengths}{}
\newcommand*{\recomputecvfootlengths}{}
\newcommand*{\recomputecvlengths}{%
\recomputecvheadlengths%
\recomputecvbodylengths%
\recomputecvfootlengths}
% internal maketitle command to issue a new line only when required
\newif\if@firstdetailselement\@firstdetailselementtrue
\newcommand*{\makenewline}[1][0pt]{%
\if@firstdetailselement%
\strut% to ensure baseline alignment, e.g. with when put in the margin vs sections that also contains a \strut
\else%
\\[#1]\fi%
\@firstdetailselementfalse}
% makes the resume title
% usage: \makecvtitle
\newcommand*{\makecvtitle}{%
\makecvhead%
\makecvfoot}
\newcommand*{\makecvhead}{}
\newcommand*{\makecvfoot}{}
% makes a resume section
% usage: \section{<title>}
% identical starred and non-starred variants should be defined for compatibility with other packages (e.g. with natbib, that uses \section*{} for the bibliography header)
\NewDocumentCommand{\section}{sm}{}
% makes a resume subsection
% usage: \subsection{title}
\NewDocumentCommand{\subsection}{sm}{}
% 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]{}
% 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}}}
% makes a tel hyperlink
% usage: \tellink[optional text]{link}
\newcommand*{\tellink}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\expandafter\onlynumberslink\expandafter{#2}{#2}}%
{\expandafter\onlynumberslink\expandafter{#2}{#1}}}
\ExplSyntaxOn
\tl_new:N \l_onlynumberslink_tl
\cs_new:Npn \onlynumberslink #1 #2 {
\tl_set:Nn \l_onlynumberslink_tl {#1}
\regex_replace_all:nnN {[^0-9+]} {} \l_onlynumberslink_tl
\href{ tel\token_to_str:N : \tl_use:N \l_onlynumberslink_tl}{ #2 }
}
\ExplSyntaxOff
% cvcolumns environment, where every column is created through \cvcolumn
% usage: \begin{cvcolumns}
% \cvcolumn[width]{head}{content}
% \cvcolumn[width]{head}{content}
% ...
% \end{cvcolumns}
% where "width" is the width as a fraction of the line length (between 0 and 1), "head" is the column header and "content" its content
\newcounter{cvcolumnscounter}% counter for the number of columns
\newcounter{cvcolumnsautowidthcounter}% counter for the number of columns with no column width provided, and which will then be equally distributed
\newcounter{tmpiteratorcounter}% counter for any temporary purpose (e.g., iterating loops)
\newlength{\cvcolumnsdummywidth}\setlength{\cvcolumnsdummywidth}{1000pt}% dummy width for total width, in order to enable arithmetics (TeX has no float variables, only integer counters or lengths)
\newlength{\cvcolumnswidth}% total width available for head / content
\newlength{\cvcolumnsautowidth}% total width of columns with no explicit width provided
\newlength{\cvcolumnautowidth}% width of one of the columns with no explicit width provided (based on equal distribution of remaining space)
\newif\if@cvcolumns@head@empty% whether or not at least one of the columns has a header
\newenvironment*{cvcolumns}%
{% at environment opening: reset counters, lengths and ifs
\setcounter{cvcolumnscounter}{0}%
\setcounter{cvcolumnsautowidthcounter}{0}%
\setlength{\cvcolumnsautowidth}{\cvcolumnsdummywidth}%
\setlength{\cvcolumnautowidth}{0pt}%
\@cvcolumns@head@emptytrue\ignorespaces}%
{% at environment closing: typeset environment
% compute the width of each cvcolumn, considering a spacing of \separatorcolumnwidth and the columns with set width
\ifnum\thecvcolumnscounter>0%
\setlength{\cvcolumnswidth}{\maincolumnwidth-\value{cvcolumnscounter}\separatorcolumnwidth+\separatorcolumnwidth}%
\setlength{\cvcolumnautowidth}{\cvcolumnswidth*\ratio{\cvcolumnsautowidth}{\cvcolumnsdummywidth}/\value{cvcolumnsautowidthcounter}}\fi%
% pre-aggregate the tabular definition, heading and content (required before creating the tabular, as the tabular environment doesn't like loops --- probably because "&" generates a \endgroup)
% - the tabular definition is the aggregation of the different "\cvcolumn<i>@def" (by default "p{\cvcolumnautowidth}"), separated by "@{\hspace*{\separatorcolumnwidth}}"
% - the tabular heading is the aggregation of the different "\cvcolumn<i>@head", separated by "&"
% - the tabular content is the aggregation of the different "\cvcolumn<i>@content", separated by "&"
% to aggregate the different elements, \protected@edef or \g@addto@macro is required to avoid that \cvcolumns@def, -@head and -@content get expanded in subsequent redefinitions, which would cause errors due to the expansions of \hspace, of \subsectionstyle and possibly of user content/argument such as font commands
\def\cvcolumns@def{}%
\def\cvcolumns@head{}%
\def\cvcolumns@content{}%
\setcounter{tmpiteratorcounter}{0}%
% loop based on \g@addto@macro
\loop\ifnum\thetmpiteratorcounter<\thecvcolumnscounter%
\ifnum\thetmpiteratorcounter=0\else%
\g@addto@macro\cvcolumns@def{@{\hspace*{\separatorcolumnwidth}}}%
\g@addto@macro\cvcolumns@head{&}%
\g@addto@macro\cvcolumns@content{&}\fi%
% \expandafter\g@addto@macro\expandafter\cvcolumns@def\expandafter{\csname cvcolumn\roman{tmpiteratorcounter}@def\endcsname}% % this creates issues with the colortbl" package (loaded by xcolor when passing the "table" option) as the column definitions passed to \begin{tabular} contains \cvcolumn<i>@def references that it doesn't understand; the next 2 lines expand \cvcolumn@def to the point it doesn't
\edef\tmpcvcolumn@def{\csname cvcolumn\roman{tmpiteratorcounter}@def\endcsname}%
\expandafter\g@addto@macro\expandafter\cvcolumns@def\expandafter{\tmpcvcolumn@def}%
\expandafter\g@addto@macro\expandafter\cvcolumns@head\expandafter{\csname cvcolumn\roman{tmpiteratorcounter}@head\endcsname}%
\expandafter\g@addto@macro\expandafter\cvcolumns@content\expandafter{\csname cvcolumn\roman{tmpiteratorcounter}@content\endcsname}%
\stepcounter{tmpiteratorcounter}%
\repeat%
% % same loop based on \protected@edef
% \loop\ifnum\thetmpiteratorcounter<\thecvcolumnscounter%
% \ifnum\thetmpiteratorcounter=0\else%
% \protected@edef\cvcolumns@def{\cvcolumns@def @{\hspace*{\separatorcolumnwidth}}}%
% \protected@edef\cvcolumns@head{\cvcolumns@head &}%
% \protected@edef\cvcolumns@content{\cvcolumns@content &}\fi%
% \expandafter\protected@edef\expandafter\cvcolumns@def\expandafter{\expandafter\cvcolumns@def\expandafter\protect\csname cvcolumn\roman{tmpiteratorcounter}@def\endcsname}%
% \expandafter\protected@edef\expandafter\cvcolumns@head\expandafter{\expandafter\cvcolumns@head\expandafter\protect\csname cvcolumn\roman{tmpiteratorcounter}@head\endcsname}%
% \expandafter\protected@edef\expandafter\cvcolumns@content\expandafter{\expandafter\cvcolumns@content\expandafter\protect\csname cvcolumn\roman{tmpiteratorcounter}@content\endcsname}%
% \stepcounter{tmpiteratorcounter}%
% \repeat%
% create the tabular
\cvitem{}{%
% \begin{tabular}{\cvcolumns@def}% this conflicts with the "colortbl" package (loaded by xcolor when passing the "table" option), and requires the below 2 lines to expand \cvcolumns@def
\def\begincvcolumns{\begin{tabular}[t]}% "[t]" is required for some body styles; the default alignment is "[c]"
\expandafter\begincvcolumns\expandafter{\cvcolumns@def}%
\if@cvcolumns@head@empty\else%
\cvcolumns@head%\\[-.8em]%
% {\color{color1}\rule{\maincolumnwidth}{.25pt}}%
\\\fi%
\cvcolumns@content%
\end{tabular}}}
% cvcolumn command, to create a column inside a cvcolumns environment
% usage: \cvcolumn[width]{head}{content}
% where "width" is the width as a fraction of the line length (between 0 and 1), "head" is the column header and "content" its content ("head" and "content" can contain "\\", "\newline" or any other paragraph command such as "itemize")
\newcommand*{\cvcolumn}[3][\cvcolumnautowidth]{%
% \def\cvcolumn@width{}%
\ifthenelse{\equal{#1}{\cvcolumnautowidth}}%
{% if no width fraction is provided, count this column as auto-adjusted and set its width to \cvcolumnsautowidth
\stepcounter{cvcolumnsautowidthcounter}%
\expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@def\endcsname{p{\cvcolumnautowidth}}%
\expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@head\endcsname{\protect\parbox[b]{\cvcolumnautowidth}{\protect\subsectionstyle{#2}}}}%
{% if a width is provided, set the width of the column to it and decrease the available space for auto-adjusted columns
\addtolength{\cvcolumnsautowidth}{-#1\cvcolumnsdummywidth}%
\expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@def\endcsname{p{#1\cvcolumnswidth}}%
\expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@head\endcsname{\protect\parbox[b]{#1\cvcolumnswidth}{\protect\subsectionstyle{#2}}}}%
\ifthenelse{\equal{#2}{}}{}{\@cvcolumns@head@emptyfalse}%
\expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@content\endcsname{\protect\cvcolumncell{#3}}%
\stepcounter{cvcolumnscounter}%
\ignorespaces}
% internal cvcolumncell command, that enables a cvcolumn cell to contain paragraph commands (lists, newlines, etc)
\newcommand*{\cvcolumncell}[1]{{% put cell inside a group, so that command redefinitions are only local
% roughly restore \\ to its regular definition (outside of tabular)
\renewcommand*{\\}{\newline}%
% enclose the contents of the cell inside a vertical box, to allow paragraph commands
\protect\vtop{#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
%% fix a bug (hardcoded bib label) in \@bibitem
%\renewcommand\@bibitem[1]{%
% \item\if@filesw \immediate\write\@auxout
% {\string\bibcite{#1}{\theenumiv}}\fi\ignorespaces}% replaced "\the\value{\@listctr}" with "\theenumiv"
% 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}
% 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*{\recomputeletterheadlengths}{}
\newcommand*{\recomputeletterbodylengths}{}
\newcommand*{\recomputeletterfootlengths}{}
\newcommand*{\recomputeletterlengths}{%
\recomputeletterheadlengths%
\recomputeletterbodylengths%
\recomputeletterfootlengths}
% makes the letter title
% usage: \makelettertitle
\newcommand*{\makelettertitle}{%
\makeletterhead%
\makeletterfoot}
\newcommand*{\makeletterhead}{}
\newcommand*{\makeletterfoot}{}
% makes the letter closing
% usage: \makeletterclosing
\newcommand*{\makeletterclosing}{}
\endinput
%% end of file `moderncv.cls'.

View File

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

View File

@ -0,0 +1,85 @@
%% start of file `moderncvcollection.sty'.
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcollection}[2015/07/28 v2.0.0 moderncv collections]
%-------------------------------------------------------------------------------
% requirements
%-------------------------------------------------------------------------------
\RequirePackage{ifthen}
%-------------------------------------------------------------------------------
% code
%-------------------------------------------------------------------------------
% creates a new collection
% usage: \collectionnew{<collection name>}
\newcommand*{\collectionnew}[1]{%
\newcounter{collection@#1@count}}
% adds an item to a collection
% usage: \collectionadd[<optional key>]{<collection name>}{<item to add>}
\newcommand*{\collectionadd}[3][]{%
\expandafter\def\csname collection@#2@item\roman{collection@#2@count}\endcsname{#3}%
\if\relax\noexpand#1\relax% if #1 is empty
\else\expandafter\def\csname collection@#2@key\roman{collection@#2@count}\endcsname{#1}\fi%
\stepcounter{collection@#2@count}}
% returns the number of items in a collection
% usage: \collectioncount{<collection name>}
\newcommand*{\collectioncount}[1]{%
\value{collection@#1@count}}
% gets an item from a collection
% usage: \collectiongetitem{<collection name>}{<element id>}
% where <element id> is an integer between 0 and (collectioncount-1)
\newcommand*{\collectiongetitem}[2]{%
\csname collection@#1@item\romannumeral #2\endcsname}
% gets a key from a collection
% usage: \collectiongetkey{<collection name>}{<element id>}
% where <element id> is an integer between 0 and (collectioncount-1)
\newcommand*{\collectiongetkey}[2]{%
\csname collection@#1@key\romannumeral #2\endcsname}
% loops through a collection and perform the given operation on every element
% usage: \collectionloop{<collection name>}{<operation sequence>}
% where <operation sequence> is the code sequence to be evaluated for each collection item,
% code which can refer to \collectionloopid, \collectionloopkey, \collectionloopitem and
% \collectionloopbreak
\newcounter{collection@iterator}
\newcommand*{\collectionloopbreak}{\let\iterate\relax}
\newcommand*{\collectionloop}[2]{%
\setcounter{collection@iterator}{0}%
\loop\ifnum\value{collection@iterator}<\value{collection@#1@count}%
\def\collectionloopid{\arabic{collection@iterator}}%
\def\collectionloopitem{\collectiongetitem{#1}{\collectionloopid}}%
\def\collectionloopkey{\collectiongetkey{#1}{\collectionloopid}}%
#2%
\stepcounter{collection@iterator}%
\repeat}
% loops through a collection and finds the (first) element matching the given key
% usage: \collectionfindbykey{<collection name>}{key>}
\newcommand*{\collectionfindbykey}[2]{%
\collectionloop{#1}{%
\ifthenelse{\equal{\collectionloopkey}{#2}}{\collectionloopitem\collectionloopbreak}{}}}
\endinput
%% end of file `moderncvcollection.cls'.

View File

@ -0,0 +1,27 @@
%% start of file `moderncvcolorburgundy.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorburgundy}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: burgundy]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
\definecolor{color0}{rgb}{0,0,0}% black
\definecolor{color1}{rgb}{0.596078,0,0}% burgundy: 139/255 (0.545098) or 152/255 (0.596078)
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
\endinput
%% end of file `moderncvcolorburgundy.sty'.

View File

@ -0,0 +1,107 @@
%% start of file `moderncvcompatibility.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcompatibility}[2015/07/28 v2.0.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}
% compatibility with versions <= 1.3.0
\newcommand*{\firstname}[1]{\def\@firstname{#1}}
\newcommand*{\lastname}[1]{\def\@lastname{#1}}
\newcommand*{\givenname}[1]{\def\@firstname{#1}}
\newcommand*{\familyname}[1]{\def\@lastname{#1}}
\def\@familyname{\@lastname}
% compatibility with versions <= 1.4.0
\newcommand*{\mobile}[1]{\collectionadd[mobile]{phones}{#1}}
%\newcommand*{\phone}[1]{\collectionadd[fixed]{phones}{#1}}% implicit, as \phone{...} defaults to \phone[fixed]{...}
\newcommand*{\fax}[1]{\collectionadd[fax]{phones}{#1}}
\newcommand*{\@mobile}{\collectionfindbykey{phones}{mobile}}
\newcommand*{\@phone}{\collectionfindbykey{phones}{fixed}}
\newcommand*{\@fax}{\collectionfindbykey{phones}{fax}}
\newcommand*{\phonesymbol}{\fixedphonesymbol}
\newcommand*{\mobilesymbol}{\mobilephonesymbol}
\newcommand*{\faxsymbol}{\faxphonesymbol}
% compatibility with versions <= 1.5.1
\newcommand*{\makecvtitlenamewidth}{\makecvheadnamewidth} % only used in header variants 1 and 4, themself used by the classic and oldstyle styles
\endinput
%% end of file `moderncvcompatibility.sty'.

View File

@ -0,0 +1,54 @@
%% start of file `moderncvdebugtools.sty'.
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvdebugtools}[2015/07/28 v2.0.0 modern curriculum vitae and letter debug tools]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
\RequirePackage{tikz}
%-------------------------------------------------------------------------------
% debug tools
%-------------------------------------------------------------------------------
% code of \tracedebugvrule and \tracedebughrule provided by Gonzalo Medina on TeX.SX (cfr tex.stackexchange.com/a/110805/10102)
\newcounter{debugrule}
\pgfdeclarelayer{background}
\pgfsetlayers{background,main}
\DeclareDocumentCommand{\tracedebugvrule}{oO{0pt}}{%
\stepcounter{debugrule}%
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{background}
\coordinate (a\thedebugrule);
\draw[red,thin,#1]
([xshift=#2]a\thedebugrule|-current page.north) -- ([xshift=#2]a\thedebugrule|-current page.south);
\end{pgfonlayer}
\end{tikzpicture}}
\DeclareDocumentCommand{\tracedebughrule}{oO{0pt}}{%
\stepcounter{debugrule}%
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{background}
\coordinate (b\thedebugrule);
\draw[red,thin,#1]
([yshift=#2]b\thedebugrule-|current page.west) -- ([yshift=#2]b\thedebugrule-|current page.east);
\end{pgfonlayer}
\end{tikzpicture}}
\endinput
%% end of file `moderncvdebugtools.sty'.

View File

@ -0,0 +1,134 @@
%% start of file `moderncvfooti.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvfooti}[2015/07/28 v2.0.0 modern curriculum vitae and letter footer variant: 1]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
% overall foot definition
%-------------------------------------------------------------------------------
% fonts
\renewcommand*{\addressfont}{\normalsize\mdseries\slshape}
% symbols
% footer symbol used to separate footer elements
\newcommand*{\footsymbol}{%
{~~~{\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
% lengths
\@initializelength{\footwidth}%
\renewcommand*{\recomputefootlengths}{%
\setlength{\footwidth}{0.8\textwidth}}
% commands
% internal command to add an element to the footer
% it collects the elements in a temporary box, and checks when to flush the box
\@initializebox{\footbox}%
\@initializebox{\foottempbox}%
\@initializelength{\footboxwidth}%
\@initializeif{\if@firstfootelement}\@firstfootelementtrue%
% adds an element to the footer, separated by footsymbol
% usage: \addtofoot[footsymbol]{element}
\newcommand*{\addtofoot}[2][\footsymbol]{%
\if@firstfootelement%
\savebox{\foottempbox}{\usebox{\footbox}#2}%
\else%
\savebox{\foottempbox}{\usebox{\footbox}#1#2}\fi%
\settowidth{\footboxwidth}{\usebox{\foottempbox}}%
\ifnum\footboxwidth<\footwidth%
\savebox{\footbox}{\usebox{\foottempbox}}%
\@firstfootelementfalse%
\else%
\flushfoot\\%
\savebox{\footbox}{#2}%
\savebox{\foottempbox}{#2}%
\settowidth{\footboxwidth}{\usebox{\footbox}}%
\@firstfootelementfalse\fi}
% internal command to flush the foot
\newcommand*{\flushfoot}{%
\strut\usebox{\footbox}%
\savebox{\footbox}{}%
\savebox{\foottempbox}{}%
\setlength{\footboxwidth}{0pt}}
%-------------------------------------------------------------------------------
% resume foot definition
%-------------------------------------------------------------------------------
% lenghts
\renewcommand*{\recomputecvfootlengths}{\recomputefootlengths}
% commands
\renewcommand*{\makecvfoot}{%
\recomputecvfootlengths{}%
\fancypagestyle{plain}{%
\fancyfoot[c]{%
\parbox[b]{\footwidth}{%
\centering%
\color{color2}\addressfont%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofoot[]{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}%
\flushfoot\@firstfootelementtrue\\}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httplink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
\ifthenelse{\lengthtest{\footboxwidth=0pt}}{}{\flushfoot}% 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 foot definition
%-------------------------------------------------------------------------------
% commands
\renewcommand*{\recomputeletterfootlengths}{\recomputefootlengths}
\renewcommand*{\makeletterfoot}{%
\recomputeletterfootlengths{}%
\fancypagestyle{plain}{%
\fancyfoot[c]{%
\parbox[b]{\footwidth}{%
\centering%
\addressfont\color{color2}%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\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~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofoot[]{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}%
\flushfoot\@firstfootelementtrue\\}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httplink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
\ifthenelse{\lengthtest{\footboxwidth=0pt}}{}{\flushfoot}% 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}}
\endinput
%% end of file `moderncvfooti.sty'.

View File

@ -0,0 +1,157 @@
%% start of file `moderncvheadiii.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvheadiii}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 3]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
\DeclareOption{details}{\@detailstrue}
\DeclareOption{nodetails}{\@detailsfalse}
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{details}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
% overall head definition
%-------------------------------------------------------------------------------
% fonts
\renewcommand*{\namefont}{\Huge\bfseries\upshape}
\renewcommand*{\titlefont}{\Huge\mdseries\upshape}
\renewcommand*{\addressfont}{\normalsize\mdseries\upshape}
\renewcommand*{\quotefont}{\large\slshape}
% styles
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
% commands
\@initializecommand{\makeheaddetailssymbol}{}
% 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
\@initializebox{\makeheaddetailsbox}%
\@initializebox{\makeheaddetailstempbox}%
\@initializelength{\makeheaddetailswidth}%
\@initializelength{\makeheaddetailsboxwidth}%
\@initializeif{\if@firstmakeheaddetailselement}\@firstmakeheaddetailselementtrue%
% adds an element to the makehead, separated by makeheadsymbol
% usage: \addtomakehead[makeheadsymbol]{element}
\newcommand*{\addtomakeheaddetails}[2][\makeheaddetailssymbol]{% TODO: use \@initializecommand, which requires modifying its definition to handle mandatory and optional arguments
\if@firstmakeheaddetailselement%
\savebox{\makeheaddetailstempbox}{\usebox{\makeheaddetailsbox}#2}%
\else%
\savebox{\makeheaddetailstempbox}{\usebox{\makeheaddetailsbox}#1#2}\fi%
\settowidth{\makeheaddetailsboxwidth}{\usebox{\makeheaddetailstempbox}}%
\ifnum\makeheaddetailsboxwidth<\makeheaddetailswidth%
\savebox{\makeheaddetailsbox}{\usebox{\makeheaddetailstempbox}}%
\@firstmakeheaddetailselementfalse%
\else%
\flushmakeheaddetails\\%
\savebox{\makeheaddetailsbox}{#2}%
\savebox{\makeheaddetailstempbox}{#2}%
\settowidth{\makeheaddetailsboxwidth}{\usebox{\makeheaddetailsbox}}%
\@firstmakeheaddetailselementfalse\fi}
% internal command to flush the makehead
\@initializecommand{\flushmakeheaddetails}{%
\strut\usebox{\makeheaddetailsbox}%
\savebox{\makeheaddetailsbox}{}%
\savebox{\makeheaddetailstempbox}{}%
\setlength{\makeheaddetailsboxwidth}{0pt}}
\@initializecommand{\makehead}{%
\setlength{\makeheaddetailswidth}{0.8\textwidth}%
\hfil%
\parbox{\makeheaddetailswidth}{%
\centering%
% name and title
\namestyle{\@firstname~\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% optional detailed information
\if@details{%
\addressfont\color{color2}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httplink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
\flushmakeheaddetails}\fi}\\[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 \makehead
%-------------------------------------------------------------------------------
% resume head definition
%-------------------------------------------------------------------------------
% lengths
\@initializelength{\quotewidth}
\renewcommand*{\recomputecvheadlengths}{%
\setlength{\quotewidth}{0.65\textwidth}}
% commands
\renewcommand*{\makecvhead}{% TODO: use \@initializecommand, which requires modifying its definition to handle \par
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputecvlengths%
\makehead%
% 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}
%-------------------------------------------------------------------------------
% letter head definition
%-------------------------------------------------------------------------------
% lengths
%\renewcommand*{\recomputeletterheadlengths}{}
% commands
\renewcommand*{\makeletterhead}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputeletterlengths%
% sender block
\makehead%
\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: "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}}
\endinput
%% end of file `moderncvheadiii.sty'.

View File

@ -0,0 +1,44 @@
%% start of file `moderncviconsawesome.sty'.
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsawesome}[2015/07/28 v2.0.0 modern curriculum vitae and letter icons: awesome]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% Font Awesome font
\RequirePackage{fontawesome}
%-------------------------------------------------------------------------------
% symbols definition
%-------------------------------------------------------------------------------
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircleO}}
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
\renewcommand*{\addresssymbol} {}
\renewcommand*{\mobilephonesymbol} {{\Large\faMobilePhone}~}
\renewcommand*{\fixedphonesymbol} {\faPhone~}
\renewcommand*{\faxphonesymbol} {{\small\faFax}~} % alternative: \faPrint
\renewcommand*{\emailsymbol} {{\small\faEnvelopeO}~} % alternative: \faInbox
\renewcommand*{\homepagesymbol} {{\small\faGlobe}~} % alternative: \faHome
\renewcommand*{\linkedinsocialsymbol}{{\small\faLinkedin}~} % alternative: \faLinkedinSquare
\renewcommand*{\xingsocialsymbol} {{\small\faXing}~} % alternative: \faXingSquare
\renewcommand*{\twittersocialsymbol} {{\small\faTwitter}~} % alternative: \faTwitterSquare
\renewcommand*{\githubsocialsymbol} {{\small\faGithub}~} % alternative: \faGithubSquare, \faGithubSquare
\renewcommand*{\gitlabsocialsymbol} {{\small\faGitlab}~}
\endinput
%% end of file `moderncviconsawesome.sty'.

View File

@ -0,0 +1,64 @@
%% start of file `moderncvstylebanking.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylebanking}[2015/07/28 v2.0.0 modern curriculum vitae and letter style scheme: banking]
% body rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializecommand{\moderncvstylebodyoptions}{}
\DeclareOption{fullrules} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,fullrules}}
\DeclareOption{shortrules} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,shortrules}}
\DeclareOption{mixedrules} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,mixedrules}}
\DeclareOption{norules} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,norules}}
% body section alignment options: "left" (default), "center" or "right"
\DeclareOption{left} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,left}}
\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}}
\DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}}
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{mixedrules,left}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
% fonts & icons
%-------------------------------------------------------------------------------
% TeX Gyre Pagella font
%\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
\moderncvicons{awesome}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
\moderncvhead{3}
\moderncvbody[\moderncvstylebodyoptions]{3}
\endinput
%% end of file `moderncvstylebanking.sty'.

View File

@ -0,0 +1,288 @@
@conference{saa-IASGE,
title={{Saving Software for Future [Re]Use}},
url={osf.io/yzuw3/},
author={Steeves, Vicky and Milliken, Genevieve and Nguyen, Sarah},
year={2020},
month={Aug},
booktitle={Society of American Archivist Meeting 2020},
note={Available at \url{https://osf.io/yzuw3/}},
}
@conference{csvConfv5-IASGE,
author = {Steeves, Vicky and Nguyen, Sarah and Milliken, Genevieve},
title = {{commit -ment issues with Git: investigating \& archiving y'alls work}},
month = may,
year = 2020,
booktitle = {csv,Conf,v5},
doi = {10.5281/zenodo.3823365},
url = {https://doi.org/10.5281/zenodo.3823365},
note={Available at \url{https://zenodo.org/record/3823365}},
}
@conference{code4Lib-IASGE,
title={Lets Talk Git! Investigating and Archiving the Scholarly Git Experience},
url={osf.io/2xfcn},
author={Steeves, Vicky and Milliken, Genevieve and Nguyen, Sarah},
year={2020},
month={Mar},
booktitle={code4Lib 2020},
note={Available at \url{https://osf.io/2xfcn/}},
}
@conference{CNI19,
title={{The New Normal: Why Libraries are Teaching AI, ML, DH, NLP, VR...}},
booktitle={Coalition for Networked Information Fall Meeting},
author={Vicky Steeves and Harrison Dekker and Matt Burton and Tim Dennis and Indrani Mandal},
year={2019},
month=dec,
note={Available at \url{https://www.cni.org/topics/teaching-learning/the-new-normal-why-libraries-are-teaching-ai-ml-dh-nlp-vr}},
url={https://www.cni.org/topics/teaching-learning/the-new-normal-why-libraries-are-teaching-ai-ml-dh-nlp-vr}
},
@conference{MSDSE19,
title={{Investigating \& Archiving the Scholarly Git Experience}},
booktitle={MSDSE Summit 2019},
author={Vicky Steeves},
url={https://osf.io/q3p4e/},
note={Available at \url{https://osf.io/czqrn/}},
year={2019},
month=nov,
},
@conference{iPres19,
author={Steeves, Vicky and Milliken, Genevieve},
title={{Archiving the Scholarly Git Experience}},
month=sep,
year=2019,
booktitle={{iPres: 19th International Conference on Digital Preservation}},
url={https://osf.io/cpzsm/},
note={Available at \url{https://osf.io/myw5g/}},
}
@conference{iPres19Panel,
author={Karl-Rainer Blumenthal and Peggy Griesinger and Julia Kim and Shira Peltzman and Vicky Steeves},
title={{Panel:(I Cant Get No) Satisfaction: Measuring Success in Digital Stewardship Programs}},
month=sep,
year=2019,
booktitle={{iPres: 19th International Conference on Digital Preservation}},
}
@conference{spnQ-IASGE,
author={Steeves, Vicky and Milliken, Genevieve and Nguyen, Sarah},
title={{Investigating \& Archiving the Scholarly Git Experience}},
month=oct,
year=2019,
booktitle={SPN Quaterly},
url={https://osf.io/e56pk/},
note={Available at \url{https://osf.io/3hjfr/}},
}
@conference{IASSIST19-RZ,
author={Steeves, Vicky and R{\'{e}}mi Rampin},
title={{Preservation and Access to Research with ReproZip and ReproServer}},
month=may,
year=2019,
booktitle={IASSIST 2019},
url={https://doi.org/10.5281/zenodo.2673016},
note={Available at \url{https://zenodo.org/record/2673016/}},
}
@conference{IASSIST19Panel,
author={Steeves, Vicky and Muilenburg, Jennifer and McDougall, Janet},
title={{Panel: Partners in Reproducibility: Working with Researchers and Data Producers to Enhance Sharing, Reproducibility, and Long-term Access to Research Data}},
month=may,
year=2019,
booktitle={IASSIST 2019},
}
@conference{csvConfv4Qual,
author={Steeves, Vicky and Duckles, Beth M.},
title={{Qualitative Research Using Open Tools}},
month=may,
year=2019,
booktitle={csvConfv4},
doi={10.5281/zenodo.2673016},
url={https://doi.org/10.5281/zenodo.2673016},
note={Available at \url{https://zenodo.org/record/2673016/}},
}
@conference{csvConfv4Repro,
author = {Steeves, Vicky and Hayden, Gabriele},
title= {{The Role of Libraries in the Age of Computational Reproducibility}},
month = may,
year = 2019,
doi = {10.5281/zenodo.2692864},
booktitle={csvConfv4},
url={https://doi.org/10.5281/zenodo.2692864},
note={Available at \url{https://zenodo.org/record/2692864/}},
}
@conference{ACRL19,
title={{Panel: Advocating for Open: Putting Ethics Into Practice}},
url={osf.io/preprints/lissa/jhvtc},
DOI={10.31229/osf.io/jhvtc},
publisher={LIS Scholarship Archive},
author={Marshall, Brianna and Steeves, Vicky and Vandegrift, Micah},
booktitle={ACRL 2019},
year={2019},
month={May},
note={Available at \url{https://osf.io/preprints/lissa/jhvtc/}},
},
@conference{SetonHallLoveData,
author={Steeves, Vicky and DeMott, Sarah},
title={{Taguette: Open Qualitative Research}},
booktitle={{Love Data Week at Seton Hall}},
month=feb,
year=2019,
url={https://osf.io/sp2dx},
note={Available at \url{https://osf.io/sp2dx}},
}
@misc{LiberReproLib,
author={Steeves, Vicky},
title={{LIBER Webinar: Reproducibility Librarianship in Practice}},
month=dec,
year=2018,
publisher={Zenodo},
doi={10.5281/zenodo.1915952},
url={https://doi.org/10.5281/zenodo.1915952},
note={Available at \url{https://zenodo.org/record/1915952}},
}
@conference{MSDSE18,
title={{ReproServer: Making Reproducibility Easier and Less Intensive}},
booktitle={MSDSE Summit 2018},
author={Vicky Steeves and R{\'{e}}mi Rampin and Fernando Chirigati and Juliana Freire},
note={Available at \url{https://osf.io/xafsg/}},
year={2018}
},
@conference{CFA,
title={Best practices for reproducible research},
booktitle={Harvard-Smithsonian center for Astrophysics},
author={Vicky Steeves},
note={Available at \url{https://osf.io/6hvpt}},
year={2018}
},
@conference{RZ_PresQT2,
title={{Reproducing \& Archiving Scholarship with ReproZip}},
booktitle={PresQT Workshop Two},
author={Vicky Steeves},
doi={10.17605/OSF.IO/S6FW9},
note={Available at \url{https://osf.io/tavwn/}},
year={2018}
},
@conference{NDSRart,
title={Research with Interviews},
booktitle={NDSR-Art Immersion Week},
author={Vicky Steeves},
note={Available at \url{https://vickysteeves.gitlab.io/2018-ndsr-art/}},
year={2018}
},
@conference{UUTAH,
title={Reproducibility Short Course},
booktitle={Building Integrity through Reproducibility},
author={Vicky Steeves},
note={Available at \url{https://vickysteeves.gitlab.io/2018-uutah-repro/}},
year={2018}
},
@conference{EGU18,
title={{Writing reprocible geoscience papers using R Markdown, Docker, and GitLab}},
booktitle={European Geosciences Union},
author={Vicky Steeves and Daniel N{\"{u}}st and Markus Konkel and R{\'{e}}mi Rampin and Edzer Pebesma},
note={Available at \url{https://vickysteeves.gitlab.io/repro-papers/}},
year={2018}
},
@conference{URFIST,
title={{Data Management and Reproducibility}},
booktitle={L'Unit{\'{e}} R{\'{e}}gionale de Formation à l'Information Scientifique et Technique },
author={Vicky Steeves},
note={Available at \url{https://osf.io/6fyj5/}},
year={2017}
},
@conference{steeves_2017,
title={Reproducibility: the What, Why, \& How},
url={osf.io/preprints/lissa/cyr3n},
DOI={10.31229/osf.io/cyr3n},
booktitle={LIS Scholarship Archive},
author={Steeves, Vicky},
year={2017},
month={Sep},
note={Available at \url{https://osf.io/preprints/lissa/cyr3n/}},
}
@conference{RZ_SciPy,
title={{Creating Reproducible Experiments with ReproZip}},
booktitle={SciPy 2017},
author={Vicky Steeves and R{\'{e}}mi Rampin},
note={Available at \url{https://vickysteeves.gitlab.io/2017-SciPy/#/}},
year={2017}
},
@conference{OpenGoods_IASSIST,
title={{Open, Public Goods Infrastructure for Research Management \& Discovery}},
booktitle={IASSIST 2017},
author={Vicky Steeves and Cynthia Hudson-Vitale and Matt Spitzer},
doi={10.17605/OSF.IO/SY2ZF},
note={Available at \url{https://osf.io/sy2zf/}},
year={2017}
},
@conference{Vicky_Steeves33576379,
title={{Reproducing and Preserving Research with ReproZip}},
booktitle={IASSIST 2017},
author={Vicky Steeves and R{\'{e}}mi Rampin and Fernando Chirigati},
note={Available at \url{https://vickysteeves.gitlab.io/2017-IASSIST-ReproZip/}},
year={2017}
},
@conference{RZ_PresQT,
title={{ReproZip for Reproducible Research}},
booktitle={PresQT Workshop One},
author={Vicky Steeves and R{\'{e}}mi Rampin},
doi={10.17605/OSF.IO/S6FW9},
note={Available at \url{https://osf.io/s6fw9/}},
year={2017}
},
@conference{RZ_EGU17,
title={{Reproducible computational research in the publication cycle}},
booktitle={European Geosciences Union General Assembly 2017},
author={Vicky Steeves and R{\'{e}}mi Rampin and Daniel N{\"{u}}st},
doi={10.17605/OSF.IO/UMY6G},
note={Available at \url{https://osf.io/umy6g/}},
year={2017}
},
@conference{OpenSci_ACRL,
title={{Open Science: Understanding Modern Research Practices}},
booktitle={Association of College and Research Libraries},
author={Vicky Steeves},
doi = {10.17605/osf.io/cyr3n},
note={Available at \url{https://osf.io/preprints/lissa/cyr3n/}},
year={2017}
},
@conference{Open_LITA,
title={{Using Openness as Foundation for Research Data Management Services}},
author={Vicky Steeves and Nicholas Wolf},
note={Available at \url{http://forum.lita.org/sessions/using-openness-as-foundation-for-research-data-management-services/}},
booktitle = {Library Information and Technology Association Conference},
year={2016}
},
@conference{DigitalSteward_iPres-Pres,
title={{What makes a digital steward: A competency profile based on the National Digital Stewardship Residencies}},
booktitle = {iPres: 13th International Conference on Digital Preservation},
author = {Karl-Rainer Blumenthal and Peggy Griesinger and Julia Kim and Shira Peltzman and Vicky Steeves},
doi={10.17605/OSF.IO/XFC26},
note={Available at \url{https://osf.io/xfc26/}},
year={2016}
},
@conference{RZ_DASPOS,
title={{ReproZip: Reproducibility with Ease}},
booktitle = {DASPOS: Container Strategies for Data \& Software Preservation that Promote Open Science},
author={Vicky Steeves and R{\'{e}}mi Rampin},
doi={10.17605/OSF.IO/AQZTF},
note={Available at \url{https://osf.io/aqztf/}},
year={2016}
},
@conference{SteevesReadGordon_RDAP,
title={{Collaborating to Create a Culture of Data Stewardship}},
booktitle = {Research Data Access and Preservation Summit},
author={Vicky Steeves and Kevin B. Read and Andrew S. Gordon},
note={Available at \url{http://hdl.handle.net/2451/38185}},
year={2016}
},
@conference{SteevesReadGordon_eScience,
title={{Bridging the Gap: Improving Data Services through Cross-Campus Collaboration}},
booktitle = {University of Massachusetts and New England Area Librarian e-Science Symposium},
author={Vicky Steeves and Kevin B. Read and Andrew S. Gordon},
note={Available at \url{http://escholarship.umassmed.edu/escience_symposium/2016/posters/2/}},
year={2016}
},
@conference{CNI15,
title={{Organizational Implications of Data Science Environments in Education, Research, and Research Management in Libraries}},
booktitle={Coalition for Networked Information Fall Meeting},
author={Vicky Steeves and Jennifer Muilenburg and Erik Mitchell},
doi={http://doi.org/10.17605/OSF.IO/RHGQ3},
note={Available at \url{https://osf.io/rhgq3/}},
year={2015}
},

View File

@ -0,0 +1,110 @@
@article{WhatsWrongDigiPres-JCAS,
title={{Whats Wrong with Digital Stewardship: Evaluating the Organization of Digital Preservation Programs from Practitioners Perspectives}},
author = {Karl-Rainer Blumenthal and Peggy Griesinger and Julia Kim and Shira Peltzman and Vicky Steeves},
volume={7},
issue={1},
url={https://elischolar.library.yale.edu/jcas/vol7/iss1/13/},
year={2020},
month={Jul.},
note = {Available at \url{https://iassistquarterly.com/index.php/iassist/article/view/969}},
},
@article{ReproServerPres-IQ,
title={{Reproducibility, preservation, and access to research with ReproZip and ReproServer}},
volume={44},
url={https://iassistquarterly.com/index.php/iassist/article/view/969},
author = {Vicky Steeves and R{\'{e}}mi Rampin and Fernando Chirigati},
DOI={10.29173/iq969},
year={2020},
month={Jun.},
pages={1-11}
note = {Available at \url{https://iassistquarterly.com/index.php/iassist/article/view/969}},
},
@inproceedings{RZW,
title={{Saving Data Journalism: Using ReproZip-Web to Capture Dynamic Websites for Future Reuse}},
url={osf.io/preprints/lissa/khtdr},
DOI={10.31229/osf.io/khtdr},
booktitle = {iPres: 19th International Conference on Digital Preservation},
author={Boss, Katherine E and Steeves, Vicky and Rampin, Remi and Chirigati, Fernando and Hoffman, Brian},
year={2019},
month={Sep},
note = {Available at \url{https://osf.io/preprints/lissa/khtdr}},
},
@article{ReproServer,
title = {{ReproServer}: {Making} {Reproducibility} {Easier} and {Less} {Intensive}},
url = {http://arxiv.org/abs/1808.01406},
urldate = {2018-09-18},
journal = {arXiv:1808.01406 [cs]},
author = {Rampin, R{\'{e}}mi and Chirigati, Fernando and Steeves, Vicky and Freire, Juliana},
month = {aug},
year = {2018},
note = {Available at \url{https://arxiv.org/abs/1808.01406}},
}
@article{RDM-LifeSci,
title={{Research Data Management Among Life Sciences Faculty: Implications for Library Service}},
author={Vicky Steeves and Kelly Johnson},
doi={10.7191/jeslib.2019.1159},
journal= {The Journal of eScience Librarianship},
url={https://escholarship.umassmed.edu/jeslib/vol8/iss1/7/},
year={2018},
note={Available at \url{https://escholarship.umassmed.edu/jeslib/vol8/iss1/7/}. Preprint at \url{https://osf.io/preprints/lissa/q36uv/}}
},
@article{Steeves2017,
doi = {10.29173/iq18},
url = {https://doi.org/10.29173/iq18},
year = {2017},
month = {dec},
publisher = {University of Alberta Libraries},
volume = {42},
number = {1},
pages = {14},
author = {Vicky Steeves and R{\'{e}}mi Rampin and Fernando Chirigati},
title = {{Using {ReproZip} for Reproducibility and Library Services}},
journal = {{IASSIST} Quarterly},
note={Available at \url{https://iassistquarterly.com/index.php/iassist/article/view/18}. Preprint at \url{https://osf.io/preprints/lissa/5tm8d/}}
}
@article{Repro_Lib,
title= {Reproducibility {Librarianship}},
volume= {9},
issn= {1943-7528},
number= {2},
journal= {Collaborative Librarianship},
author= {Vicky Steeves},
month= {jul},
year= {2017},
note={Available at \url{http://digitalcommons.du.edu/collaborativelibrarianship/vol9/iss2/4}}
},
@article{RZ_JOSS,
doi = {10.21105/joss.00107},
year = 2016,
month = {dec},
publisher = {The Open Journal},
volume = {1},
number = {8},
author = {R{\'{e}}mi Rampin and Fernando Chirigati and Vicky Steeves and Dennis Shasha and Juliana Freire},
title = {{ReproZip: The Reproducibility Packer}},
journal = {The Journal of Open Source Software},
note={Available at \url{http://joss.theoj.org/papers/10.21105/joss.00107}}
},
@inproceedings{DigitalSteward_iPres,
title={{What makes a digital steward: A competency profile based on the National Digital Stewardship Residencies}},
booktitle = {iPres: 13th International Conference on Digital Preservation},
author = {Karl-Rainer Blumenthal and Peggy Griesinger and Julia Kim and Shira Peltzman and Vicky Steeves},
doi={10.17605/OSF.IO/TNMRA},
note={Available at \url{https://osf.io/preprints/lissa/tnmra/}},
year={2016}
},
@article{InfoSys_Repro,
title= {{Reproducible experiments on dynamic resource allocation in cloud data centers}},
journal= {Information Systems },
year= {2016},
issn= {0306-4379},
doi= {10.1016/j.is.2015.12.004},
note={Postprint available at \url{https://arxiv.org/abs/1703.00042}},
author= {Andreas Wolke and Martin Bichler and Fernando Chirigati and Victoria Steeves},
keywords= {Reproducibility},
abstract= {Abstract In Wolke et al. [1] we compare the efficiency of different resource allocation strategies experimentally. We focused on dynamic environments where virtual machines need to be allocated and deallocated to servers over time. In this companion paper, we describe the simulation framework and how to run simulations to replicate experiments or run new experiments within the framework.}
},

View File

@ -0,0 +1,56 @@
%% start of file `tweaklist.sty'.
%% Original by Jakob Schiotz, 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.

View File

@ -0,0 +1,264 @@
% Current curriculum vitae, which should include or be accompanied by a record of your professional contributions and activities, a list of committee and other activities with roles played on each group, including committee chair's name, and a description of teaching activities as appropriate.
\documentclass[11pt,a4paper,sans,colorlinks,linkcolor=true]{moderncv}
\moderncvstyle{banking}
\moderncvcolor{burgundy}
\nopagenumbers{}
% adjust the page margins
\usepackage[scale=0.75]{geometry}
% get nice URLs
\usepackage{url}
% personal data for header
\name{Vicky}{Steeves}
\phone[fixed]{(212)~992~6269}
\email{vicky.steeves@nyu.edu}
\homepage{vickysteeves.com}
\social[twitter]{VickySteeves}
\social[github]{VickySteeves}
\social[gitlab]{VickySteeves}
% remove the bullet between symbols
\renewcommand*{\makeheaddetailssymbol}{~~~}
% have multiple bibliograpgies
% to get this to work, need to run:
% latex vicky-cv.tex
% bibtex pri.aux
% bibtex sec.aux
% bibtex tri.aux
% bibtex quat.aux
% latex vicky-cv.tex
% latex vicky-cv.tex
\usepackage{multibib}
\newcites{pri}{Publications}
\newcites{sec}{Presentations \& Posters}
\newcites{tri}{Code \& Media}
\newcites{quat}{Grants Funded}
%----------------------------------------------------------------------------------
% start CV
%----------------------------------------------------------------------------------
\begin{document}
% set links to be blue
\hypersetup{urlcolor=blue}
% set font size for my name + socials
\renewcommand*{\namefont}{\fontsize{20}{16}\mdseries\upshape}
% make the header with my name + information
\makecvtitle
% lessen the space between title + content
\vspace*{-12mm}
%----------------------------------------------------------------------------------
% objective
%----------------------------------------------------------------------------------
\section{Professional Objective}
I work to support researchers in creating well-managed, high quality, and reproducible research through integrating reproducible practices into the research workflow. I advocate openness in all facets of scholarship, and enjoy building/contributing to open infrastructure.
%----------------------------------------------------------------------------------
% more about my research interests
%----------------------------------------------------------------------------------
\section{Research Interests}
\cvitem{}{Data management, reproducibility, digital preservation, digital archiving, systems analysis, database management, web development, software engineering and development, open culture, computational linguistics.}
%----------------------------------------------------------------------------------
% education
%----------------------------------------------------------------------------------
\section{Education}
\cventry{2019 -- expected 2022}{Master of Computer Science}{New York University}{New York, New York}{}{}
\cventry{2013 -- 2014}{Master of Library \& Information Science}{Simmons College}{Boston, MA}{}{}
\cventry{2010 -- 2013}{Bachelor of Science Computer Science \& Information Technology}{Simmons College}{Boston, MA}{}{}
\subsection{Graduate and Undergraduate Research Experience}
\cventry{Spring 2014}{Small World Project}{Supervisor: Kathy Wisser}{Boston, MA}{}{Analyzed research done with social media networks on archival material and visualized the analysis using Gephi.}
\cventry{2012 -- 2013}{Computational Linguistic Approach to Inflection in Human Speech \& Difference}{Supervisor: Nanette Veilleux}{Boston, MA}{}{Recorded speech exemplars and used a specialized programming language (\texttt{Praat}) to write a program to determine the tonal center of gravity of each exemplar and make sure that it matches the intended intonational contour.}
\cventry{July 2012}{Celtic Studies}{University College Cork}{Cork, Ireland}{}{Completed coursework in Irish language, literature, and history.}
\subsection{Awards and Honors}
\cventry{2013 -- 2014}{Dean's Fellow Award}{Simmons College}{}{}{Given to students that demonstrate academic excellence.}
\cventry{2013}{The Computer Science Award}{Simmons College Computer Science \& Information Technology Department}{}{}{Given for excellence in Computer Science.}
\cventry{2012 -- 2013}{Collaborative Research Experience for Undergraduates}{Simmons College}{}{}{A research grant given to encourage women in STEM fields to complete research studies in their fields.}
\cventry{2012}{Bowker Award for Travel}{Simmons College}{}{}{Given to undergraduates who demonstrate academic excellence, completing their studies abroad.}
\cventry{2010 -- 2014}{Simmons College 3+1 Undergraduate and Graduate Program}{Simmons College}{}{}{First participant.}
%----------------------------------------------------------------------------------
% prof experience
%----------------------------------------------------------------------------------
\section{Professional Experience}
\cventry{2018 -- }{Visiting Professor}{Pratt Institute}{New York, NY}{}{I teach data librarianship for the School of Information and Library Science. Materials available here: \url{https://vickysteeves.gitlab.io/lis-628-datalibrarianship/}}
\cventry{2015 -- }{Librarian for Research Data Management \& Reproducibility}{New York University}{New York, NY}{}{As a part of this role, I also am the liaison for data science on campus. In this role, I work to support students, faculty, staff, and researchers in creating well-managed, high quality, and reproducible research through facilitating use of tools such as ReproZip, teaching and instruction, and group and individual consultations.\\}
\-\hspace{1cm}\textit{Outreach:} Organize events to foster a community of data stewardship and reproducibility at NYU (e.g. NYU Reproducibility Symposium), as well as locally in NYC (e.g. METRO workshops), on a national level (e.g. Love Your Data Week), and an international level (e.g. EGU, URFIST). Administered NYU's Carpentries membership and built community around a "train the trainer" model of RDM. Redeveloped and maintained the new Data Services blog, Data Dispatch through piloting a new web hosting service for the Digital Scholarship Services called reClaim. \newline
\-\hspace{1cm}\textit{Service Building:} Built new services around data management and reproducibility in the Libraries. Serve as a consultant to the NYU community on subjects such as: data management, reproducible research practices, data management plans for grants, data visualization, data \& code citation, publishing non-traditional research output, data cleaning, Python, version control, GitHub \& GitLab, data and code licensing, workflow/collaboration tools, and open source tools. Provide multidisciplinary reference services (student hours, email, videoconferencing, phone) to the NYU community. Collaborated to create a new multidepartment service, Data Science and Software Services, with colleagues in IT, the CDS, and PRIISM. Collaborated with Victoria McCoy-Cosentino of NYUs Compliance office, on inter-service handoffs for Data Use Agreements. \newline
\-\hspace{1cm}\textit{Technical Development:} Test use cases in a development environment for DRSR project, particularly in testing Invenio as a new repository tool for NYU. Coded utilitarian programs for researchers to leverage for data management, including scripts to: bulk rename files, scrape text from RSS feeds, download, unzip, and concatenate many tabular datafiles from NOAA, and create a README for each file. Created and maintain reproduciblescience.org/nyu, a source of information for the NYU community on events, resources, and expertise on campus for reproducibility.\newline
\-\hspace{1cm}\textit{Research:} Won a grant award from the Alfred P. Sloan foundation for the project {Investigating and Archiving the Scholarly Git Experience} (IASGE) to study the way in which scholars learn version control and how GLAMs can best archive software in the Git data format with its scholarly ephemera (e.g. issues, wikis). Successfully completed a grant project funded by the Institute of Museum and Library Services in collaboration with faculty in the Libraries, CDS, and Tandon School of Engineering called {Saving Data Journalism}, which created the first emulated-based archiving tool for complex web applications. Published several papers based on other research on a range of topics, and published the full data and code used in each project for each as well.\newline
\-\hspace{1cm}\textit{Supervisory Roles:} Mentor for ARL FDIE participant in collaboration with Carol Kassel. Supervisor to two Research Scientists for the IASGE project. Day-to-day supervisor for a student consultant in Digital Scholarship Services. Supervised the work of a DS3 Junior Data Scientist on a project to audit the Jupyter ecosystem for accessibility. Co-supervised the first intern for the Research Data Management team in Data Services, with Nick Wolf. Supervised two qualitative and survey student consultants for Data Services.\newline
\cventry{2017 -- 2018}{Adjunct Professor}{Simmons College}{Boston, MA}{}{I taught database management online for the School of Information and Library Science.}
\cventry{2015 -- 2016}{Interim Program Coordinator}{Metropolitan New York Library Council}{New York, NY}{}{I handled the day-to-day operations of METRO's National Digital Stewardship Residency in New York program. I contributed to project planning, communications, documentation, evaluations, outreach, as well as maintained the program's web presence. I planned, organized, and ran NDSR-affiliated events, meetings, and workshops.}
\cventry{2014 -- 2015}{National Digital Stewardship Resident}{American Museum of Natural History}{New York, NY}{}{My project at the AMNH consisted of performing an environmental scan of the Science divisions to better understand their data storage, curation, and preservation needs. After data collection, I identified existing practices and policies for integrated data storage, access, and management. After data analysis, I recommended strategies to digitally preserve the scientific research at the AMNH.}
\cventry{Spring 2014}{Archives Intern}{Sasaki Associates}{Waterville, MA}{}{I processed historical architectural material and wrote the accompanying finding aid and created records for each, then catalogued the collections in Koha ILS}
\cventry{2013 -- 2014}{Dean's Fellow for Technology}{Simmons College}{Boston, MA}{}{Managed social media for the undergraduate science departments to generate interest in STEM at Simmons through outreach to alumnae, current students, and prospective students, working on content creation with faculty.}
%----------------------------------------------------------------------------------
% instruction
%----------------------------------------------------------------------------------
\section{Teaching \& Instruction}
\subsection{NYU}
\cvitem{Library Classes:}{Taught roughly 30 classes per academic year on research data management and reproducibility best practices and tools across the Division of Libraries.}
\cvitem{Embedded Classes:}{Taught between 25-50 embedded sessions per academic year for faculty on research data management and reproducibility best practices and tools.}
\cvitem{NSF \& NIH Responsible Conduct in Research (RCR)}{Teach federally mandated RCR data management sessions for the Office of Postdoc Affairs, Anthropology Department, Center for Neural Science, and College of Nursing.}
\cvitem{Intensives (half or full day long workshops)}{Advanced Quantitative Reasoning program, December 2016; Steinhardt Food Studies \& Nutrition Summer Workshop, July 2016; Wagner Faculty Workshop, October 2016; Rebecca Amato Humanities Data Workshop, April 2017. Carpentries workshops, March 2018, July 2018, October 2018, January 2019, April 2019, January 2020.}
\cvitem{Carpentries}{Certified instructor. Facilitated NYU membership between Libraries and Center for Data Science. Facilitated Carpentries instructor training for 20 members of the NYU community.}
\cvitem{MCC-UE 14 Media \& Cultural Analysis}{Assisted colleagues in teaching cohort classes in the library, in particular a Media and Communication class.}
\cvitem{{Teaching Coding in Non-coding Classes with Jupyter Notebooks}}{Moderated this panel presentation from educators at Columbia and NYU around the topic of teaching coding with literate programming tools and pedagogies.}
\subsection{National Audience}
\cvitem{National Library of Medicine}{Serve as mentor and instructor for the for-credit continuing education courses: RDM 101 (Spring 2018), RDM 102 (Spring 2019), and RDM 102 (Spring 2020)}
\cvitem{Library Information and Technology Association}{Taught a one-month course on building library services around openness and reproducibility.}
\cvitem{Preservation and Quality Tools}{Facilitated a hands-on session at this workshop on ReproZip.}
\cvitem{Data And Software Preservation for Open Science}{Led multiple hands-on sessions on ReproZip. Presented to the DASPOS board of directors on NYU's open source reproducibility initiatives.}
\cvitem{OpenCon}{Guest lectured on reproducibility for the OpenCon early career librarians call.}
\cvitem{Metropolitan NY Library Council (METRO)}{Presented a webinar teaching RDM principles to library and information professionals.}
\subsection{LIS Programs}
\cvitem{Pratt School of Library and Information Science}{Guest lectured in Meg Smith's Data Librarianship class on my career path, RDM, and reproducibility. 2016 \& 2017}
\cvitem{Palmer School of Library \& Information Science}{Guest lectured in Don Mennerich's Digital Archives class for the Public History program on RDM. 2016 \& 2017}
\cvitem{Queen's College Graduate School of Library \& Information Science}{Guest lectured in Robert DeCandido's digital stewardship class at Queens College on data management, NDSR, and my career path.}
%----------------------------------------------------------------------------------
% service to the profession
%----------------------------------------------------------------------------------
\section{Service to the Profession}
\subsection{New York University}
\cvitem{The Continuing Contract Faculty Council}{Libraries' first Continuing Contract Faculty Senator, 2015-2017. Committee work includes:}
\begin{itemize}\setlength\itemsep{0.2em}
\item Administration \& Technology Committee (co-chair, subcommittee). Drafted the Policy on University Access to Personal Digital Content and the University Electronic Communications and Social Media Policy.
\item Communications Committee (chair)
\item Faculty Grievance Committee
\item Public Affairs Committee
\item Faculty Committee on the Future of Technology-Enhanced Education. Continuing in this role as of 2019 as a Libraries' representative, no longer a C-FSC representative.
\end{itemize}
% add some space between last bullet and next item
\vspace*{2mm}
\cvitem{Hiring Process}{Participated in the hiring process in several capacities:}
\begin{itemize}\setlength\itemsep{0.2em}
\item Research Data Storage Architect (IT/Division of Libraries)
\item Research Information Scientist (CUSP)
\item Associate Dean for Teaching \& Learning (Libraries)
\item Allied Health Librarian (Libraries)
\item Research Software Engineer (DS3)
\item Data Services Librarian (Libraries
\item Data Services Specialist: Qualitative \& Survey (IT/Libraries)
\item Provostial Postdoc/PostMLIS Resident for DSS (IT/Libraries)
\end{itemize}
% add some space between last bullet and next item
\vspace*{2mm}
\cvitem{Digital Repository Services for Research}{Collaborating to actively delivering SB2 services, SB3 design (including piloting Invenio and contributing to technical testing), and SB2-to-SB3 integration. User-facing work, including reaching out to pilot users and being available for questions/help. Other work: }
\begin{itemize}\setlength\itemsep{0.2em}
\item Member of the Functional Validation Working Group.
\item Member of the Architecture/Functional Validation Subgroup.
\item Coded a pilot informational website for the RCS project, including UX testing with researchers.
\item Wrote user-facing documentation.
\end{itemize}
% add some space between last bullet and next item
\vspace*{2mm}
\cvitem{Web Archiving Working Group}{Participant.}
\cvitem{Budget Committee}{Participant.}
\subsection{Moore-Sloan Data Science Environment}
\cvitem{Libraries Working Group}{Participate in ongoing collaboration with the two other librarians on the MSDSE, including monthly conference calls and meetups at MSDSE events.}
\cvitem{Reproducibility and Open Science Working Group}{Participate in ongoing collaboration with ROS working groups at the other institutions on the MSDSE, including monthly conference calls and meetups at MSDSE events. Promote a culture of openness and reproducibility on campus through events, workshops, and resource building.}
\subsection{Profession at Large}
\cvitem{Librarians Building Momentum for Reproducibility}{Co-organized a free, half-day, online conference for librarians who are interested in and/or already supporting reproducible research at their institutions: \url{https://vickysteeves.gitlab.io/librarians-reproducibility}}
\cvitem{The LIS Scholarship Archive}{Co-director of \href{https://lissarchive.org/}{LISSA}, a partnership with the Center for Open Science \& the LIS community to build a place for LIS scholars to share their work.}
\cvitem{Software Preservation Network}{One of NYU's institutional members and participant in the technology subgroup.}
\cvitem{SPARC}{Contributor to the SPARC International Survey on Research Data Management Readiness (with Nick Wolf and Scott Collard).}
\cvitem{\href{http://radiandata.org/}{Radian}}{Editor.}
\cvitem{\href{https://theidealis.org/}{The Idealis}}{Editor.}
\cvitem{CLIR}{Participant, 2016 CLIR eResearch Network Research Data Management cohort.}
\cvitem{Preservation and Archiving Special Interest Group}{Chaired the committee responsible for the reproducibility track of the Fall 2016 conference.}
\cvitem{Center for Open Science}{Open Science Framework Ambassador. Participant in the 2016 SHARE Curation Associates program.}
\cvitem{DLF}{Participant in the 2016 eDLF Data Management Cohort.}
%----------------------------------------------------------------------------------
% bibliographies (1. grants, 2. pubs, 3. pres, 4. code/other)
%----------------------------------------------------------------------------------
\section{2015 -- 2020 Work}
\nocitequat{*}
\bibliographystylequat{vicky}
\bibliographyquat{grants}
\nocitepri{*}
\bibliographystylepri{vicky}
\bibliographypri{publications}
\nocitesec{*}
\bibliographystylesec{vicky}
\bibliographysec{presentations}
\nocitetri{*}
\bibliographystyletri{vicky}
\bibliographytri{media}
\end{document}

File diff suppressed because it is too large Load Diff