Compare commits
6 Commits
2033517d3f
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 17a407fe55 | |||
| 2d2ffd068a | |||
| 100acbf6e5 | |||
| 0133481fe0 | |||
| ea206fcffb | |||
| 5b61af599d |
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
*.pdf
|
||||
*.aux
|
||||
*.log
|
||||
*.out
|
||||
*.synctex.gz
|
||||
244
alx/resume.tex
Normal file
244
alx/resume.tex
Normal file
@ -0,0 +1,244 @@
|
||||
%% start of file `template.tex'.
|
||||
%% Copyright 2006-2013 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/.
|
||||
|
||||
|
||||
\documentclass[11pt,letterpaper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||
|
||||
% moderncv themes
|
||||
\moderncvstyle{alx} % style options are 'casual' (default), 'classic', 'oldstyle' and 'banking'
|
||||
\moderncvcolor{brown} % color options 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black'
|
||||
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
|
||||
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
||||
|
||||
% character encoding
|
||||
%\usepackage[utf8]{inputenc} % if you are not using xelatex ou lualatex, replace by the encoding you are using
|
||||
%\usepackage{CJKutf8} % if you need to use CJK to typeset your resume in Chinese, Japanese or Korean
|
||||
|
||||
% adjust the page margins
|
||||
\usepackage[scale=0.85]{geometry}
|
||||
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
||||
%\setlength{\makecvtitlenamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
||||
|
||||
% for strikethrough
|
||||
\usepackage[normalem]{ulem}
|
||||
|
||||
% personal data
|
||||
\name{Seth}{Ladygo}
|
||||
\title{Software Engineer}
|
||||
\address{1638 SE 35th Ave}{Portland, OR}{97214}
|
||||
\phone[mobile]{503-750-5200}
|
||||
%% \phone[fixed]{+2~(345)~678~901}
|
||||
%% \phone[fax]{+3~(456)~789~012}
|
||||
\email{seth@arclight.industries}
|
||||
%% \homepage{www.johndoe.com} % optional, remove / comment the line if not wanted
|
||||
%% \social[linkedin]{john.doe} % optional, remove / comment the line if not wanted
|
||||
%% \social[twitter]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[github]{abend} % optional, remove / comment the line if not wanted
|
||||
\social[github]{arcli} % optional, remove / comment the line if not wanted
|
||||
%% \extrainfo{additional information} % optional, remove / comment the line if not wanted
|
||||
%\photo[40pt][0pt]{alx/xface.pdf} % optional; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
||||
%% \quote{Some quote} % optional, remove / comment the line if not wanted
|
||||
|
||||
% to show numerical labels in the bibliography (default is to show no labels); only useful if you make citations in your resume
|
||||
%\makeatletter
|
||||
%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
|
||||
%\makeatother
|
||||
%\renewcommand*{\bibliographyitemlabel}{[\arabic{enumiv}]}% CONSIDER REPLACING THE ABOVE BY THIS
|
||||
|
||||
% bibliography with mutiple entries
|
||||
%\usepackage{multibib}
|
||||
%\newcites{book,misc}{{Books},{Others}}
|
||||
%----------------------------------------------------------------------------------
|
||||
% content
|
||||
%----------------------------------------------------------------------------------
|
||||
\begin{document}
|
||||
|
||||
%----- resume ---------------------------------------------------------
|
||||
\makecvtitle
|
||||
|
||||
\section{Summary}
|
||||
\cvitem{}{I'm a full stack software engineer with two decades of
|
||||
professional experience who still delights in the craft. I'm looking
|
||||
for a full time or contract position working with a small dedicated
|
||||
team where I can continue to grow and refine my skills to make a
|
||||
positive impact on the project.}
|
||||
|
||||
\section{Skills}
|
||||
\cvitem{}{I have broad experience with all aspects of the development
|
||||
process, much of it working remotely. From requirements gathering to
|
||||
UX design to devops, a deep understanding of all facets of the process
|
||||
allows for a better fit between need and solution.}
|
||||
|
||||
\cvitem{}{I'm fluent in a couple dozen languages, frameworks, and
|
||||
technologies. Some of my current favorites include Vue.js, Python,
|
||||
Clojure, Postgres, Proxmox, and Ansible. I have a strong desire to
|
||||
learn more. This is an exciting time in our field.}
|
||||
|
||||
\cvitem{}{I have strong design sensibilities that focus on simplicity
|
||||
and clarity. This applies at all levels: user interface, system
|
||||
architecture, and code.}
|
||||
|
||||
\cvitem{}{I enjoy working with stakeholders to cooperatively shape the
|
||||
final product. Communication and end user empathy are a vital part of
|
||||
the design process.}
|
||||
|
||||
\cvitem{}{I prefer working in a small team. The focus and ownership
|
||||
that grants pays large dividends in effectiveness and satisfaction.}
|
||||
|
||||
\section{Experience}
|
||||
|
||||
\cventry{2001--present}{Cofounder, System Architect, Principal Engineer}{\href{https://apparentinc.com}{Apparent Systems}}{Portland, OR}{}{}
|
||||
|
||||
\cvitem{}{Design, implement, and maintain web and mobile applications to
|
||||
support customers' sales forces. The tools allow sales reps to mock
|
||||
up 3D shops, create custom product catalogs, place orders, and manage
|
||||
customer data and imagery. Integrates with customer database,
|
||||
ordering, and asset management systems.}
|
||||
|
||||
\cvitem{}{Customers include adidas, Reebok, Keen Footwear, Doc Martens,
|
||||
TaylorMade Golf, Etnies.}
|
||||
|
||||
\cvitem{}{Technologies include Django, Node, Vue.js, Java, C\#, Racket,
|
||||
Ansible, Postgres, RabbitMQ, Nginx, Apache, Linux, SmartOS, Proxmox.}
|
||||
|
||||
\parabreak%
|
||||
\cventry{2018--present}{Contract Software Developer}{\href{http://longnow.org/}{The Long Now Foundation}}{San Francisco, CA}{}{}
|
||||
\cvitem{}{Develop features and provide maintenance for their Django-based website. The foundation fosters responsible long term (\textasciitilde10,000 year) thinking.}
|
||||
|
||||
\parabreak%
|
||||
\cventry{2005--2008}{Cofounder, Principal Engineer}{Toonlet, Inc.}{Portland, OR}{}{}
|
||||
|
||||
\cvitem{}{Product development, UI/UX design, full stack web development.}
|
||||
|
||||
\cvitem{}{Toonlet was an online comic strip generator. Users assembled
|
||||
custom characters using art assets created by professional comic
|
||||
artists. Characters were placed in strips and given dialog and
|
||||
narration. Finished strips could be viewed on the site, embedded
|
||||
across the web, and placed on merchandise for purchase.}
|
||||
|
||||
\cvitem{}{Technologies used: Common Lisp, Javascript, HTML5, CSS, Adobe
|
||||
Flex, Postgres, Apache, Linux.}
|
||||
|
||||
\parabreak%
|
||||
\cventry{2005, 2015}{Contract Software Developer}{\href{http://whaleshark.org}{Whaleshark.org}}{Portland,
|
||||
OR}{}{}
|
||||
\cvitem{}{Design and develop web-based 3D mapping software to facilitate tracking
|
||||
whale shark populations. Part of a nonprofit citizen science
|
||||
animal conservation project.}
|
||||
%
|
||||
%\parabreak%
|
||||
%\cventry{2000--2001}{Mobile Developer}{Yeahlab}{London, England}{}{}
|
||||
%\cvitem{}{Create client and server components for streaming animation platform
|
||||
% on Java-enabled mobile devices.}
|
||||
%
|
||||
%\parabreak%
|
||||
%\cventry{1999--2000}{Server Engineer}{\href{https://en.wikipedia.org/wiki/Epicentric}{Epicentric}}{San Francisco, CA}{}{}
|
||||
%\cvitem{}{Design and implement core features of the portal infrastructure. Named on \href{https://www.google.com/patents/US6327628}{patent \#6327628}.}
|
||||
%
|
||||
%\parabreak%
|
||||
%\cventry{1997--1999}{Contract Software Developer}{Various}{San Francisco/Silicon Valley, CA}{}{}
|
||||
%\cvitem{}{UI/UX design, web and desktop development for Adobe, Veritas, Epicentric, and others.}
|
||||
%
|
||||
|
||||
\parabreak%
|
||||
|
||||
\cventry{1997--2001}{Software Developer}{Various}{San Francisco, Silicon Valley, London}{}{}
|
||||
|
||||
\cvitem{}{UI/UX design, web and desktop development, develop streaming
|
||||
mobile animation framework. Clients include Adobe, Veritas,
|
||||
Epicentric, and others. Named on
|
||||
\href{https://www.google.com/patents/US6327628}{patent \#6327628}.}
|
||||
|
||||
|
||||
\parabreak%
|
||||
\cventry{1996--1997}{Web Engineer}{Wired Digital}{San Francisco, CA}{}{}
|
||||
\cvitem{}{Design and build a distributed fault-tolerant chat
|
||||
server. Develop and maintain the original Wired News
|
||||
content management system. }
|
||||
|
||||
\section{Education}
|
||||
\cventry{1992}{BS, Mass Communication}{\href{http://www.jmu.edu/}{James Madison University}}{Harrisonburg, VA}{}{}
|
||||
\cvitem{}{Focus in emerging media.}
|
||||
|
||||
%% \section{Master thesis}
|
||||
%% \cvitem{title}{\emph{Title}}
|
||||
%% \cvitem{supervisors}{Supervisors}
|
||||
%% \cvitem{description}{Short thesis abstract}
|
||||
|
||||
%% \section{Languages}
|
||||
%% \cvitemwithcomment{Language 1}{Skill level}{Comment}
|
||||
%% \cvitemwithcomment{Language 2}{Skill level}{Comment}
|
||||
%% \cvitemwithcomment{Language 3}{Skill level}{Comment}
|
||||
|
||||
%% \section{Computer skills}
|
||||
%% \cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
|
||||
%% \cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
|
||||
%% \cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
|
||||
|
||||
%% \section{Interests}
|
||||
%% \cvitem{hobby 1}{Description}
|
||||
%% \cvitem{hobby 2}{Description}
|
||||
%% \cvitem{hobby 3}{Description}
|
||||
|
||||
%% \section{Extra 2}
|
||||
%% \cvlistdoubleitem{Item 1}{Item 4}
|
||||
%% \cvlistdoubleitem{Item 2}{Item 5\cite{book1}}
|
||||
%% \cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.}
|
||||
|
||||
\section{References}
|
||||
\begin{cvcolumns}
|
||||
%% \cvcolumn{}{\textbf{Petr Sorfa}\newline
|
||||
%% Founder, Senior Engineer\newline
|
||||
%% Apparent Systems\newline
|
||||
%% \emaillink{petr@apparentinc.com}\newline
|
||||
%% 503-381-9836}
|
||||
\cvcolumn{}{\textbf{Tim Oligmueller}\newline
|
||||
Global Sales Force Automation Manager\newline
|
||||
Keen Footwear\newline
|
||||
\emaillink{tim.oligmueller@keenfootwear.com}\newline
|
||||
1-866-676-KEEN}
|
||||
\end{cvcolumns}
|
||||
\smparabreak%
|
||||
\begin{cvcolumns}
|
||||
\cvcolumn{}{\textbf{Jon Van Oast}\newline
|
||||
Cofounder, Senior Engineer\newline
|
||||
Apparent Systems\newline
|
||||
\emaillink{jon@apparentinc.com}\newline
|
||||
503-662-2170}
|
||||
\end{cvcolumns}
|
||||
\smparabreak%
|
||||
\begin{cvcolumns}
|
||||
\cvcolumn{}{\cvref{Jason Holmberg}{Founder, Principal}{WildMe, Whaleshark.org}{jason@wildme.org}{503-545-7745}}
|
||||
%% \cvcolumn{}{\textbf{Jason Holmberg}\newline
|
||||
%% Founder, Principal\newline
|
||||
%% WildMe, Whaleshark.org\newline
|
||||
%% \emaillink{jason@wildme.org}\newline
|
||||
%% 503-545-7745}
|
||||
%% \cvcolumn[0.5]{All the rest \& some more}{\textit{That} person, and \textbf{those} also (all available upon request).}
|
||||
\end{cvcolumns}
|
||||
|
||||
% Publications from a BibTeX file without multibib
|
||||
% for numerical labels: \renewcommand{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}% CONSIDER MERGING WITH PREAMBLE PART
|
||||
% to redefine the heading string ("Publications"): \renewcommand{\refname}{Articles}
|
||||
%\nocite{*}
|
||||
%\bibliographystyle{plain}
|
||||
%\bibliography{publications} % 'publications' is the name of a BibTeX file
|
||||
|
||||
% Publications from a BibTeX file using the multibib package
|
||||
%\section{Publications}
|
||||
%\nocitebook{book1,book2}
|
||||
%\bibliographystylebook{plain}
|
||||
%\bibliographybook{publications} % 'publications' is the name of a BibTeX file
|
||||
%\nocitemisc{misc1,misc2,misc3}
|
||||
%\bibliographystylemisc{plain}
|
||||
%\bibliographymisc{publications} % 'publications' is the name of a BibTeX file
|
||||
|
||||
%\clearpage\end{CJK*} % if you are typesetting your resume in Chinese using CJK; the \clearpage is required for fancyhdr to work correctly with CJK, though it kills the page numbering by making \lastpage undefined
|
||||
\end{document}
|
||||
|
||||
|
||||
%% end of file `template.tex'.
|
||||
@ -123,7 +123,7 @@
|
||||
pdfborder = 0 0 0,
|
||||
pdfpagemode = \pdfpagemode,
|
||||
pdfstartpage = 1,
|
||||
pdfcreator = {\LaTeX{} with 'moderncv' package},
|
||||
pdfcreator = {\LaTeX{} with customized moderncv package},
|
||||
% pdfproducer = {\LaTeX{}},% will/should be set automatically to the correct TeX engine used
|
||||
bookmarksopen = true,
|
||||
bookmarksdepth= 2,% to show sections and subsections
|
||||
|
||||
36
moderncvcolorbrown.sty
Normal file
36
moderncvcolorbrown.sty
Normal file
@ -0,0 +1,36 @@
|
||||
%% start of file `moderncvcolorgreen.sty'.
|
||||
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
|
||||
%
|
||||
% This work may be distributed and/or modified under the
|
||||
% conditions of the LaTeX Project Public License version 1.3c,
|
||||
% available at http://www.latex-project.org/lppl/.
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% identification
|
||||
%-------------------------------------------------------------------------------
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{moderncvcolorgreen}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: green]
|
||||
|
||||
%\usepackage{calc}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% color scheme definition
|
||||
%-------------------------------------------------------------------------------
|
||||
%\definecolor{color0}{rgb}{0,0,0}% black
|
||||
%\definecolor{color1}{rgb}{0.35,0.70,0.30}% green
|
||||
%\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
|
||||
\definecolor{color0}{rgb}{0,0,0}% black
|
||||
\definecolor{color1}{rgb}{0.35,0.70,0.30}% green
|
||||
\definecolor{color1}{rgb}{0.6,0.4,0.12}% dark grey 181 174 124
|
||||
\definecolor{color2}{rgb}{0.6,0.4,0.12}% dark grey 181 174 124
|
||||
%\definecolor{color2}{rgb}{0.66,0.45,0.17}% dark grey 181 174 124
|
||||
%\definecolor{color2}{rgb}{0.38,0.26,0.11}% dark grey 181 174 124
|
||||
%\definecolor{color1}{rgb}{0.38,0.26,0.11}% dark grey 181 174 124
|
||||
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvcolorgreen.sty'.
|
||||
207
moderncvstylealx.sty
Normal file
207
moderncvstylealx.sty
Normal file
@ -0,0 +1,207 @@
|
||||
%% start of file `moderncvstylealx.sty'.
|
||||
%% Copyright 2006-2013 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{moderncvstylealx}[2020/03/27 v1.0 modern curriculum vitae and letter style scheme: alx]
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% required packages
|
||||
%-------------------------------------------------------------------------------
|
||||
\RequirePackage{moderncvstyleclassic}
|
||||
\moderncvicons{awesome}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% overrides for classic style
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
\renewcommand*{\hintfont}{\footnotesize\slshape}
|
||||
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color2}{#1}}}
|
||||
\setlength{\hintscolumnwidth}{0.15\textwidth}
|
||||
|
||||
% makes a references block
|
||||
% usage: \cvref[spacing]{name}{title}{company}{email}{phone}
|
||||
\newcommand*{\cvref}[5]{%
|
||||
\textbf{#1}\newline%
|
||||
#2\newline%
|
||||
#3\newline%
|
||||
\emaillink{#4}\newline%
|
||||
#5%
|
||||
}%
|
||||
|
||||
%\newcommand\bully[]{\color{color1}$\bullet$\hspace{.25em}\color{color0} }
|
||||
%\renewcommand\bully[]{\hintstyle{$\bullet$}\hspace{.25em}}
|
||||
%\renewcommand\dashi[]{\color{color1}--\hspace{.25em}\color{color0} }
|
||||
|
||||
\renewcommand*{\cvitem}[3][.5em]{%
|
||||
\begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
||||
\raggedleft\hintstyle{#2} &{#3}%
|
||||
\end{tabular}%
|
||||
\par\addvspace{#1}}
|
||||
|
||||
\renewcommand*{\cventry}[7][.5em]{%
|
||||
\cvitem[#1]{#2}{%
|
||||
{\bfseries#3}%
|
||||
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
|
||||
\ifthenelse{\equal{#5}{}}{}{, #5}%
|
||||
\ifthenelse{\equal{#6}{}}{}{, #6}%
|
||||
.\strut%
|
||||
\ifx&%
|
||||
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi
|
||||
}}
|
||||
|
||||
\RenewDocumentCommand{\section}{sm}{%
|
||||
\par\addvspace{4ex}%
|
||||
\phantomsection{}% reset the anchor for hyperrefs
|
||||
\addcontentsline{toc}{section}{#2}%
|
||||
\parbox[t]{\hintscolumnwidth}{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\hspace{\hintscolumnwidth}}}%
|
||||
\hspace{\separatorcolumnwidth}%
|
||||
\parbox[t]{\maincolumnwidth}{\strut\sectionstyle{#2}}%
|
||||
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
|
||||
|
||||
% optional maketitle width to force a certain width (if set to 0pt, the width is calculated automatically)
|
||||
\newlength{\makecvtitlenamewidth}
|
||||
\setlength{\makecvtitlenamewidth}{0pt}% dummy value
|
||||
\renewcommand*{\makecvtitle}{%
|
||||
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||
\recomputecvlengths%
|
||||
% optional detailed information (pre-rendering)
|
||||
\def\phonesdetails{}%
|
||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||
\protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||
\def\socialsdetails{}%
|
||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
||||
\newbox{\makecvtitledetailsbox}%
|
||||
\savebox{\makecvtitledetailsbox}{%
|
||||
\addressfont\color{color2}%
|
||||
\begin{tabular}[b]{@{}r@{}}%
|
||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
|
||||
\ifthenelse{\equal{\@addresscountry}{}}{}{ \@addresscountry}}%
|
||||
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
|
||||
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
|
||||
\end{tabular}
|
||||
}%
|
||||
% optional photo (pre-rendering)
|
||||
\newbox{\makecvtitlepicturebox}%
|
||||
\savebox{\makecvtitlepicturebox}{%
|
||||
\ifthenelse{\isundefined{\@photo}}%
|
||||
{}%
|
||||
{%
|
||||
\hspace*{\separatorcolumnwidth}%
|
||||
\color{color1}%
|
||||
\setlength{\fboxrule}{\@photoframewidth}%
|
||||
\ifdim\@photoframewidth=0pt%
|
||||
\setlength{\fboxsep}{0pt}\fi%
|
||||
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
|
||||
% name and title
|
||||
\newlength{\makecvtitledetailswidth}\settowidth{\makecvtitledetailswidth}{\usebox{\makecvtitledetailsbox}}%
|
||||
\newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
|
||||
\ifthenelse{\lengthtest{\makecvtitlenamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvtitlenamewidth=0pt)
|
||||
{\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitledetailswidth-\makecvtitlepicturewidth}}%
|
||||
{}%
|
||||
\begin{minipage}[b]{\makecvtitlenamewidth}%
|
||||
\namestyle{\@firstname\ \@lastname}%
|
||||
\ifthenelse{\equal{\@title}{}}{}{\\[.5em]\titlestyle{\@title}}%
|
||||
\end{minipage}%
|
||||
\hfill%
|
||||
% optional detailed information (rendering)
|
||||
\llap{\usebox{\makecvtitledetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvtitlenamewidth is forced
|
||||
% optional photo (rendering)
|
||||
\usebox{\makecvtitlepicturebox}\\[1.5em]%
|
||||
% optional quote
|
||||
\ifthenelse{\isundefined{\@quote}}%
|
||||
{}%
|
||||
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
|
||||
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvtitle
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% overall style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% commands
|
||||
% footer symbol used to separate footer elements
|
||||
\newcommand*{\footersymbol}{%
|
||||
{~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
|
||||
% internal command to add an element to the footer
|
||||
% it collects the elements in a temporary box, and checks when to flush the box
|
||||
\newsavebox{\footerbox}%
|
||||
\newsavebox{\footertempbox}%
|
||||
\newlength{\footerwidth}%
|
||||
\newlength{\footerboxwidth}%
|
||||
\newif\if@firstfooterelement\@firstfooterelementtrue%
|
||||
% adds an element to the footer, separated by footersymbol
|
||||
% usage: \addtofooter[footersymbol]{element}
|
||||
\newcommand*{\addtofooter}[2][\footersymbol]{%
|
||||
\if@firstfooterelement%
|
||||
\savebox{\footertempbox}{\usebox{\footerbox}#2}%
|
||||
\else%
|
||||
\savebox{\footertempbox}{\usebox{\footerbox}#1#2}\fi%
|
||||
\settowidth{\footerboxwidth}{\usebox{\footertempbox}}%
|
||||
\ifnum\footerboxwidth<\footerwidth%
|
||||
\savebox{\footerbox}{\usebox{\footertempbox}}%
|
||||
\@firstfooterelementfalse%
|
||||
\else%
|
||||
\flushfooter\\%
|
||||
\savebox{\footerbox}{#2}%
|
||||
\savebox{\footertempbox}{#2}%
|
||||
\settowidth{\footerboxwidth}{\usebox{\footerbox}}%
|
||||
\@firstfooterelementfalse\fi}
|
||||
% internal command to flush the footer
|
||||
\newcommand*{\flushfooter}{%
|
||||
\strut\usebox{\footerbox}%
|
||||
\savebox{\footerbox}{}%
|
||||
\savebox{\footertempbox}{}%
|
||||
\setlength{\footerboxwidth}{0pt}}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% resume style definition
|
||||
%-------------------------------------------------------------------------------
|
||||
% fonts
|
||||
\renewcommand*{\namefont}{\fontsize{22}{50}\mdseries\upshape}
|
||||
\renewcommand*{\addressfont}{\normalsize\mdseries\slshape}
|
||||
\renewcommand*{\titlefont}{\fontsize{12}{12}\mdseries\slshape}
|
||||
|
||||
\renewcommand*{\makecvfooter}{%
|
||||
\setlength{\footerwidth}{0.8\textwidth}%
|
||||
\fancypagestyle{plain}{%
|
||||
\fancyfoot[c]{%
|
||||
\parbox[b]{\footerwidth}{%
|
||||
\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}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
|
||||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofooter[~--~]{\@addresscountry}}%
|
||||
\flushfooter\@firstfooterelementtrue\\}%
|
||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||
\addtofooter{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||
\ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
|
||||
\ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
|
||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||
\addtofooter{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
|
||||
\ifthenelse{\lengthtest{\footerboxwidth=0pt}}{}{\flushfooter}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used
|
||||
}}}%
|
||||
\pagestyle{plain}}
|
||||
|
||||
\newcommand*{\parabreak}{\par\addvspace{3ex}}
|
||||
\newcommand*{\smparabreak}{\par\addvspace{1ex}}
|
||||
|
||||
\endinput
|
||||
|
||||
|
||||
%% end of file `moderncvstylealx.sty'.
|
||||
8
wait_and_make.sh
Executable file
8
wait_and_make.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# watch all files and rebuild the pdf on any changes
|
||||
|
||||
# NOTE we'll need some ubuntu packages installed:
|
||||
# apt install texlive-pictures texlive-fonts-recommended texlive-extra-utils texlive-xetex entr ripgrep
|
||||
|
||||
rg -l . | entr texliveonfly -c xelatex alx/resume.tex
|
||||
Reference in New Issue
Block a user