This commit is contained in:
parent
7a8fd39479
commit
cd048cbae2
4 changed files with 75 additions and 24 deletions
|
@ -6,4 +6,4 @@ steps:
|
||||||
- name: compile
|
- name: compile
|
||||||
image: git.faercol.me/faercol/latex:latest
|
image: git.faercol.me/faercol/latex:latest
|
||||||
commands:
|
commands:
|
||||||
- pdflatex index.tex
|
- pdflatex main.tex
|
||||||
|
|
92
altacv.cls
92
altacv.cls
|
@ -1,5 +1,5 @@
|
||||||
%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%
|
||||||
% This is altacv.cls (v1.6.4, 13 Nov 2021) written by
|
% This is altacv.cls (v1.7.1, 25 Aug 2023) written by
|
||||||
% LianTze Lim (liantze@gmail.com).
|
% LianTze Lim (liantze@gmail.com).
|
||||||
%
|
%
|
||||||
%% It may be distributed and/or modified under the
|
%% It may be distributed and/or modified under the
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%
|
||||||
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
|
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
|
||||||
\ProvidesClass{altacv}[2021/10/04 AltaCV v1.6.4, yet another alternative class for a resume/curriculum vitae.]
|
\ProvidesClass{altacv}[2023/08/25 AltaCV v1.7.1, yet another alternative class for a resume/curriculum vitae.]
|
||||||
|
|
||||||
%% v1.1: Optionally load academicons
|
%% v1.1: Optionally load academicons
|
||||||
%% v1.4: Nope, academicons is unnecessary; fontawesome5 has \faOrcid.
|
%% v1.4: Nope, academicons is unnecessary; fontawesome5 has \faOrcid.
|
||||||
|
@ -96,21 +96,27 @@
|
||||||
\colorlet{body}{black!80!white}
|
\colorlet{body}{black!80!white}
|
||||||
\colorlet{name}{heading}
|
\colorlet{name}{heading}
|
||||||
\colorlet{tagline}{accent}
|
\colorlet{tagline}{accent}
|
||||||
\newcommand{\itemmarker}{{\small\textbullet}}
|
% Renamed or added v1.7
|
||||||
\newcommand{\ratingmarker}{\faCircle}
|
\newcommand{\cvItemMarker}{{\small\textbullet}}
|
||||||
|
\newcommand{\cvRatingMarker}{\faCircle}
|
||||||
|
\let\itemmarker\cvItemMarker % for backward compatibility
|
||||||
|
\let\ratingmarker\cvRatingMarker % for backward compatibility
|
||||||
|
\newcommand{\cvDateMarker}{\faCalendar[regular]}
|
||||||
|
\newcommand{\cvLocationMarker}{\faMapMarker}
|
||||||
|
\newcommand{\locationname}{Location}
|
||||||
|
\newcommand{\datename}{Date}
|
||||||
|
|
||||||
\RequirePackage{tikz}
|
\RequirePackage{tikz}
|
||||||
\usetikzlibrary{arrows}
|
\usetikzlibrary{arrows}
|
||||||
\RequirePackage[skins]{tcolorbox}
|
\RequirePackage[skins]{tcolorbox}
|
||||||
\RequirePackage[inline]{enumitem}
|
\RequirePackage[inline]{enumitem}
|
||||||
\setlist{leftmargin=*,labelsep=0.5em,nosep,itemsep=0.25\baselineskip,after=\vspace{0.25\baselineskip}}
|
\setlist{leftmargin=*,labelsep=0.5em,nosep,itemsep=0.25\baselineskip,after=\vspace{0.25\baselineskip}}
|
||||||
\setlist[itemize]{label=\itemmarker}
|
\setlist[itemize]{label=\cvItemMarker}
|
||||||
\RequirePackage{graphicx}
|
\RequirePackage{graphicx}
|
||||||
\RequirePackage{trimclip}
|
\RequirePackage{trimclip}
|
||||||
\RequirePackage{dashrule}
|
\RequirePackage{dashrule}
|
||||||
\RequirePackage{multirow,tabularx}
|
\RequirePackage{multirow,tabularx}
|
||||||
\RequirePackage{changepage}
|
\RequirePackage{changepage}
|
||||||
% \RequirePackage{marginfix}
|
|
||||||
|
|
||||||
\setlength{\parindent}{0pt}
|
\setlength{\parindent}{0pt}
|
||||||
\newcommand{\divider}{\textcolor{body!30}{\hdashrule{\linewidth}{0.6pt}{0.5ex}}\medskip}
|
\newcommand{\divider}{\textcolor{body!30}{\hdashrule{\linewidth}{0.6pt}{0.5ex}}\medskip}
|
||||||
|
@ -139,21 +145,26 @@
|
||||||
%% v1.3.1: using \unfriendlydetokenize to avoid breaking unicode
|
%% v1.3.1: using \unfriendlydetokenize to avoid breaking unicode
|
||||||
%% v1.6: Use accsupp so that when copying/pasting the icon from PDF to a text
|
%% v1.6: Use accsupp so that when copying/pasting the icon from PDF to a text
|
||||||
%% file, the icon name is pasted
|
%% file, the icon name is pasted
|
||||||
|
%% v1.7: Some tweaks/corrections so that accsupp is for icons only
|
||||||
|
%% v1.7.1: Bugfix to support some symbol commands e.g. academicons commands
|
||||||
\ExplSyntaxOn
|
\ExplSyntaxOn
|
||||||
\NewDocumentCommand{\printinfo}{m m o}{%
|
\NewDocumentCommand{\printinfo}{m m o}{%
|
||||||
\BeginAccSupp{method=escape,ActualText={#1:~#2}}
|
|
||||||
\IfNoValueTF{#3}{%
|
\IfNoValueTF{#3}{%
|
||||||
\mbox{\textcolor{accent}{\normalfont #1}~\utffriendlydetokenize{#2}\hspace{2em}}%
|
\mbox{\textcolor{accent}%
|
||||||
|
{\BeginAccSupp{method=escape,ActualText={\detokenize{#1}:}}\normalfont #1\EndAccSupp{}}%
|
||||||
|
~\utffriendlydetokenize{#2}\hspace{2em}}%
|
||||||
}{%
|
}{%
|
||||||
\if@withhyper%
|
\if@withhyper%
|
||||||
\mbox{\textcolor{accent}{\normalfont #1}~
|
\mbox{\textcolor{accent}%
|
||||||
\href{#3}{\utffriendlydetokenize{#2}}\hspace{2em}}
|
{\BeginAccSupp{method=escape,ActualText={\detokenize{#1}:}}\normalfont #1\EndAccSupp{}}%
|
||||||
|
~\href{#3}{\utffriendlydetokenize{#2}}\hspace{2em}}
|
||||||
\else%
|
\else%
|
||||||
\ClassWarning{Please specify [withhyper] option to enable hyperlinks. Printing out full hyperlink prefix #1 for now.}%
|
\ClassWarning{Please specify [withhyper] option to enable hyperlinks. Printing out full hyperlink prefix #1 for now.}%
|
||||||
\mbox{\textcolor{accent}{\normalfont #1}~{\utffriendlydetokenize{#3#2}}\hspace{2em}}%
|
\mbox{\textcolor{accent}
|
||||||
|
{\BeginAccSupp{method=escape,ActualText={\detokenize{#1}:}}\normalfont #1\EndAccSupp{}}%
|
||||||
|
~{\utffriendlydetokenize{#3#2}}\hspace{2em}}%
|
||||||
\fi%
|
\fi%
|
||||||
}%
|
}%
|
||||||
\EndAccSupp{}
|
|
||||||
}%
|
}%
|
||||||
|
|
||||||
|
|
||||||
|
@ -200,8 +211,7 @@
|
||||||
\NewInfoField{github}{\faGithub}[https://github.com/]
|
\NewInfoField{github}{\faGithub}[https://github.com/]
|
||||||
% v1.?? Use fontawesome5 for Orcid symbol
|
% v1.?? Use fontawesome5 for Orcid symbol
|
||||||
\NewInfoField{orcid}{\faOrcid}[https://orcid.org/]
|
\NewInfoField{orcid}{\faOrcid}[https://orcid.org/]
|
||||||
%\NewInfoField{location}{\faMapMarker}
|
\NewInfoField{location}{\cvLocationMarker}
|
||||||
\NewInfoField{version}{\faCodeBranch}
|
|
||||||
|
|
||||||
% v1.2: Support for multiple photos
|
% v1.2: Support for multiple photos
|
||||||
\newlength{\altacv@photos@width}
|
\newlength{\altacv@photos@width}
|
||||||
|
@ -280,20 +290,30 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
% v1.1.4: fixes inconsistent font size
|
% v1.1.4: fixes inconsistent font size
|
||||||
|
% v1.7: adds accsupp ActualText for location and date markers
|
||||||
\newcommand{\cvevent}[4]{%
|
\newcommand{\cvevent}[4]{%
|
||||||
{\large\color{emphasis}#1\par}
|
{\large\color{emphasis}#1\par}
|
||||||
\smallskip\normalsize
|
\smallskip\normalsize
|
||||||
\ifstrequal{#2}{}{}{
|
\ifstrequal{#2}{}{}{
|
||||||
\textbf{\color{accent}#2}\par
|
\textbf{\color{accent}#2}\par
|
||||||
\smallskip}
|
\smallskip}
|
||||||
\ifstrequal{#3}{}{}{{\small\makebox[0.5\linewidth][l]{\faCalendar~#3}}}%
|
\ifstrequal{#3}{}{}{%
|
||||||
\ifstrequal{#4}{}{}{{\small\makebox[0.5\linewidth][l]{\faMapMarker~#4}}}\par
|
{\small\makebox[0.5\linewidth][l]%
|
||||||
|
{\BeginAccSupp{method=pdfstringdef,ActualText={\datename:}}\cvDateMarker\EndAccSupp{}%
|
||||||
|
~#3}%
|
||||||
|
}}%
|
||||||
|
\ifstrequal{#4}{}{}{%
|
||||||
|
{\small\makebox[0.5\linewidth][l]%
|
||||||
|
{\BeginAccSupp{method=pdfstringdef,ActualText={\locationname:}}\cvLocationMarker\EndAccSupp{}%
|
||||||
|
~#4}%
|
||||||
|
}}\par
|
||||||
\medskip\normalsize
|
\medskip\normalsize
|
||||||
}
|
}
|
||||||
|
|
||||||
|
% v1.7: adds accsupp for the icon as well
|
||||||
\newcommand{\cvachievement}[3]{%
|
\newcommand{\cvachievement}[3]{%
|
||||||
\begin{tabularx}{\linewidth}{@{}p{2em} @{\hspace{1ex}} >{\raggedright\arraybackslash}X@{}}
|
\begin{tabularx}{\linewidth}{@{}p{2em} @{\hspace{1ex}} >{\raggedright\arraybackslash}X@{}}
|
||||||
\multirow{2}{*}{\Large\color{accent}#1} & \bfseries\textcolor{emphasis}{#2}\\
|
\multirow{2}{*}{\Large\color{accent}\BeginAccSupp{method=escape,ActualText={#1: }}#1\EndAccSupp{}} & \bfseries\textcolor{emphasis}{#2}\\
|
||||||
& #3
|
& #3
|
||||||
\end{tabularx}%
|
\end{tabularx}%
|
||||||
\smallskip
|
\smallskip
|
||||||
|
@ -310,9 +330,9 @@
|
||||||
\BeginAccSupp{method=plain,ActualText={#2}}
|
\BeginAccSupp{method=plain,ActualText={#2}}
|
||||||
\foreach \x in {1,...,5}{%
|
\foreach \x in {1,...,5}{%
|
||||||
\ifdimequal{\x pt - #2 pt}{0.5pt}%
|
\ifdimequal{\x pt - #2 pt}{0.5pt}%
|
||||||
{\clipbox*{0pt -0.25ex {.5\width} {\totalheight}}{\color{accent}\ratingmarker}%
|
{\clipbox*{0pt -0.25ex {.5\width} {\totalheight}}{\color{accent}\cvRatingMarker}%
|
||||||
\clipbox*{{.5\width} -0.25ex {\width} {\totalheight}}{\color{body!30}\ratingmarker}}
|
\clipbox*{{.5\width} -0.25ex {\width} {\totalheight}}{\color{body!30}\cvRatingMarker}}
|
||||||
{\ifdimgreater{\x bp}{#2 bp}{\color{body!30}}{\color{accent}}\ratingmarker}%
|
{\ifdimgreater{\x bp}{#2 bp}{\color{body!30}}{\color{accent}}\cvRatingMarker}%
|
||||||
}\EndAccSupp{}\par%
|
}\EndAccSupp{}\par%
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -396,8 +416,38 @@
|
||||||
}
|
}
|
||||||
\newcommand{\addnextpagesidebar}[2][]{\afterpage{\addsidebar[#1]{#2}}}
|
\newcommand{\addnextpagesidebar}[2][]{\afterpage{\addsidebar[#1]{#2}}}
|
||||||
|
|
||||||
\AtBeginDocument{%
|
% v1.6.5 But provide for ability to highlight names in publication list
|
||||||
|
\RequirePackage{pgffor}
|
||||||
|
\def\my@namelist{}
|
||||||
|
\newcommand{\mynames}[1]{\def\my@namelist{#1}}
|
||||||
|
\newtoggle{boldname}
|
||||||
|
\AddToHook{package/biblatex/after}{
|
||||||
|
\renewcommand*{\mkbibnamefamily}[1]{%
|
||||||
|
\global\togglefalse{boldname}%
|
||||||
|
\foreach \my@fname / \my@gname in \my@namelist {%
|
||||||
|
\ifboolexpr{ test {\ifdefstrequal{\namepartfamily}{\my@fname}}
|
||||||
|
and
|
||||||
|
test {\ifdefstrequal{\namepartgiven}{\my@gname}}}
|
||||||
|
{\global\toggletrue{boldname}}{}%
|
||||||
|
}%
|
||||||
|
\iftoggle{boldname}{\textbf{#1}}{#1}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\renewcommand*{\mkbibnamegiven}[1]{%
|
||||||
|
\global\togglefalse{boldname}%
|
||||||
|
\foreach \my@fname / \my@gname in \my@namelist{%
|
||||||
|
\ifboolexpr{ test {\ifdefstrequal{\namepartfamily}{\my@fname}}
|
||||||
|
and
|
||||||
|
test {\ifdefstrequal{\namepartgiven}{\my@gname}}}
|
||||||
|
{\global\toggletrue{boldname}\breakforeach}{}%
|
||||||
|
}%
|
||||||
|
\iftoggle{boldname}{\textbf{#1}}{#1}%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\AddToHook{begindocument/before}{%
|
||||||
\pagestyle{empty}
|
\pagestyle{empty}
|
||||||
\color{body}
|
\color{body}
|
||||||
\raggedright
|
\raggedright
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
5
main.tex
5
main.tex
|
@ -1,5 +1,5 @@
|
||||||
\PassOptionsToPackage{dvipsnames}{xcolor}
|
\PassOptionsToPackage{dvipsnames}{xcolor}
|
||||||
\documentclass[10pt,a4paper]{altacv}
|
\documentclass[10pt,a4paper,withhyper]{altacv}
|
||||||
|
|
||||||
%Layout
|
%Layout
|
||||||
\geometry{left=1cm,right=8cm,marginparwidth=6cm,marginparsep=1cm,top=1.25cm,bottom=1.25cm,footskip=2\baselineskip}
|
\geometry{left=1cm,right=8cm,marginparwidth=6cm,marginparsep=1cm,top=1.25cm,bottom=1.25cm,footskip=2\baselineskip}
|
||||||
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
\renewcommand{\itemmarker}{{\small\textbullet}}
|
\renewcommand{\itemmarker}{{\small\textbullet}}
|
||||||
\renewcommand{\ratingmarker}{\faCircle}
|
\renewcommand{\ratingmarker}{\faCircle}
|
||||||
|
\NewInfoField{git}{\faCodeBranch}[https://git.chapoline.me/chapeau/cv/src/tag/]
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\name{Caroline Canebier}
|
\name{Caroline Canebier}
|
||||||
|
@ -32,7 +33,7 @@
|
||||||
\email{caroline@canebier.fr}
|
\email{caroline@canebier.fr}
|
||||||
\phone{+33 6 85 90 68 16}
|
\phone{+33 6 85 90 68 16}
|
||||||
\linkedin{www.linkedin.com/in/caroline-canebier}
|
\linkedin{www.linkedin.com/in/caroline-canebier}
|
||||||
\version{\textit{CV v2.1.4}}
|
\git{v2.1.4}
|
||||||
}
|
}
|
||||||
|
|
||||||
%
|
%
|
||||||
|
|
0
page2sidebar.tex
Normal file
0
page2sidebar.tex
Normal file
Loading…
Add table
Reference in a new issue