diff options
Diffstat (limited to 'yaac-another-awesome-cv.cls')
l---------[-rwxr-xr-x] | yaac-another-awesome-cv.cls | 542 |
1 files changed, 1 insertions, 541 deletions
diff --git a/yaac-another-awesome-cv.cls b/yaac-another-awesome-cv.cls index a711e4d..bcc4aa8 100755..120000 --- a/yaac-another-awesome-cv.cls +++ b/yaac-another-awesome-cv.cls @@ -1,541 +1 @@ -%% Copyright 2016 Christophe Roger -% -% Author: -% Christophe Roger (Darwiin) -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3c -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2005/12/01 or later. -% -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainer of this work is M. C. Roger. -% -% This work consists of the files awesome-source-cv.cls - -\ProvidesClass{yaac-another-awesome-cv}[2020/03/24 v2.2.1 'YAAC: Another Awesome CV' Class] - -\def\@@ptsize{10pt} - -\DeclareOption{10pt}{\def\@@ptsize{10pt}} -\DeclareOption{11pt}{\def\@@ptsize{11pt}} -\DeclareOption{12pt}{\def\@@ptsize{12pt}} - -\ProcessOptions\relax - -\LoadClass[a4paper,\@@ptsize]{article} - -\newif\if@showLinks \@showLinksfalse -\newif\if@isCompact \@isCompactfalse - -\DeclareOption{green}{ - \def\@green{green} -} - -\DeclareOption{red}{ - \def\@red{red} -} - -\DeclareOption{indigo}{ - \def\@indigo{indigo} -} -\DeclareOption{orange}{ - \def\@orange{orange} -} - -\DeclareOption{monochrome}{ - \def\@monochrome{monochrome} -} - -\DeclareOption{localFont}{ - \def\@local{local} -} - -\DeclareOption{alternative}{ - \def\@alternative{alternate} -} - -\DeclareOption{showLinks}{ \@showLinkstrue} -\DeclareOption{compact}{ \@isCompacttrue} - -\ProcessOptions - -% Dependences -%A Few Useful Packages -\RequirePackage[english,french]{babel} -\RequirePackage[utf8]{luainputenc} -\RequirePackage{fontspec} % for loading fonts -\RequirePackage{url,parskip} % other packages for formatting -\RequirePackage[usenames,dvipsnames]{xcolor} -\RequirePackage{fullpage} -\RequirePackage[margin=1.5cm]{geometry} -\RequirePackage[fixed]{fontawesome5} -\RequirePackage{hyperref} -\RequirePackage{titlesec} -\RequirePackage{array} -\RequirePackage{enumitem} -\RequirePackage{longtable} -\RequirePackage{etoolbox} -\RequirePackage{tikz} -\RequirePackage[skins]{tcolorbox} -\RequirePackage{fancyhdr} -\RequirePackage{ifthen} - - -\DeclareUnicodeCharacter{00E9}{\'{e}} -% Define default accent colors -\definecolor{basecolor}{HTML}{000066} %BLUE - -\ifundef{\@green} { - \ifundef{\@red} { - \ifundef{\@indigo}{ - \ifundef{\@orange} { - \ifundef{\@monochrome} {} - { \definecolor{basecolor}{HTML}{000000}} - } - { \definecolor{basecolor}{HTML}{e68a00} } - } - { \definecolor{basecolor}{rgb}{0.2, 0.07, 0.48} } - } - { \definecolor{basecolor}{HTML}{b30000} } %RED -} -{ \definecolor{basecolor}{rgb}{0.0, 0.62, 0.38} } - -\definecolor{darkGrey}{HTML}{989898} - -\colorlet{linkcolor}{basecolor} -\colorlet{accentcolor}{linkcolor!90} -\colorlet{symbolcolor}{linkcolor!85} - -% Setup hyperref package, and colours for links -%\definecolor{linkcolour}{rgb}{0,0.2,0.6} - -\if@showLinks - \hypersetup{% - breaklinks - }% -\else - \hypersetup{% - pdfborder = {0 0 0}, - breaklinks - }% -\fi - -% Setup fancyhdr package -\fancyhf{} -\fancyhfoffset{0em} -% Remove head rule -\renewcommand{\headrulewidth}{0pt} -%\fancyfoot[C]{\thepage} -\pagestyle{fancy} - -%\pagestyle{empty} % non-numbered pages -%\font\fb=''[cmr10]'' % for use with \LaTeX command - -% Setup CV sections -\titleformat{\section}{\Large\raggedright}{}{0em}{}[\titlerule] -\titlespacing{\section}{0pt}{2pt}{2pt} - -% Configure list -\setlist[itemize,1]{label=\faAngleRight, nosep, leftmargin=2em} -\setlist[itemize,2]{label=\faAngleRight, nosep, leftmargin=1.5em} - -% Setup Array : new column type -\newcolumntype{R}[1]{>{\hfill}m{#1}} - -%Italian hyphenation for the word: ''corporations'' -\hyphenation{im-pre-se} - -% Setup fonts -\defaultfontfeatures{Mapping=tex-text} -% - -% Define font to use according to localFont option -\ifundef{\@local} -{ - %\setmainfont[BoldFont = Helvetica Neue, ItalicFont=Helvetica Neue Thin Italic ,SmallCapsFont = Helvetica Neue Light]{Helvetica Neue Thin} - \setmainfont{Source Sans Pro Light}[ - BoldFont = SourceSansPro-Regular, - ItalicFont= Source Sans Pro Light Italic] -} -{ - \setmainfont{SourceSansPro-Light}[ - Path = fonts/, - BoldFont = SourceSansPro-Regular, - ItalicFont = SourceSansPro-LightIt] -} - -%New length definition -\newlength{\fulllength} -\setlength{\fulllength}{17.8cm} - -\newlength{\leftcolumnlength} -\setlength{\leftcolumnlength}{2.5cm} - -\newlength{\rightcolumnlength} -%\setlength{\rightcolumnlength}{15.3cm minus 1cm} -%\setlength{\rightcolumnlength}{\dimexpr(\fulllength-\leftcolumnlength)\relax} -\setlength{\rightcolumnlength}{\dimexpr(\fulllength-\leftcolumnlength)\relax} - -% Override default left column length of (2.5cm) -% Usage: \setleftcolumnlength{<length>} -\newcommand{\setleftcolumnlength}[1]{ - \setlength{\leftcolumnlength}{#1} - \setlength{\rightcolumnlength}{\dimexpr(\fulllength-\leftcolumnlength)\relax} -} - -% Font Awesome icons aliases -\newcommand{\mailSymbol}{\faAt} -\newcommand{\locationSymbol}{\faMapMarker*} -\newcommand{\infoSymbol}{\faInfo} -\newcommand{\linkedinSymbol}{\faLinkedinIn} -\newcommand{\viadeoSymbol}{\faViadeo} -\newcommand{\mobileSymbol}{\faMobile*} -\newcommand{\githubSymbol}{\faGithub} -\newcommand{\stackoverflowSymbol}{\faStackOverflow} -\newcommand{\stackexchangeSymbol}{\faStackExchange} -\newcommand{\mediumSymbol}{\faMedium} -\newcommand{\bitbucketSymbol}{\faBitbucket} -\newcommand{\websiteSymbol}{\faLink} - - -\newcommand\link[2]{\color{linkcolor}\href{#1}{#2}\color{Black} } -\newcommand\important[1]{\textbf #1} - -% Create a tag -% Usage: \cvtag{<tag label>} -\newcommand{\cvtag}[1]{% - \tikz[baseline]\node[anchor=base,draw=darkGrey!70,rounded corners=0.5ex,inner xsep=1ex,inner ysep =0.55ex,text height=1.3ex,text depth=.25ex]{#1}; -} - -% Render author's name -% Usage: \user{<firstanme>}{<lastname>} -\newcommand\user[2]{\color{accentcolor}{\LARGE #1 \textsc{\textbf{#2}}}\color{Black}} - -% Render a text with its symbol -% Usage; \socialtext{<icon>}{<label>} -\newcommand{\socialtext}[2]{\mbox{\textcolor{symbolcolor}{#1}#2\hspace{0.8em}}} - -% Render a link with its symbol -% Usage; \sociallink{<icon>}{<label>} -\newcommand{\sociallink}[3]{\mbox{\textcolor{symbolcolor}{#1}\link{#2}{#3}\hspace{0.8em}}} - -% Define author's name -% Usage: \name{<firstname>}{<lastname>} -% Usage: \firstname{<firstname>} -% Usage: \lastname{<lastname>} -% Usage: \familyname{<familyname>} -\newcommand*{\name}[2]{\def\@firstname{#1}\def\@lastname{#2}} -\newcommand*{\firstname}[1]{\def\@firstname{#1}} -\newcommand*{\lastname}[1]{\def\@lastname{#1}} -\newcommand*{\familyname}[1]{\def\@lastname{#1}} -\def\@familyname{\@lastname} - -% Define author's tagline -% Usage: \tagline{<tag line>} -\newcommand*{\tagline}[1]{\def\@tagline{#1}} - -% Define author's photo -% Usage: \photo[<shape: circular, square, roundedsquare, squircle>]{<diameter>}{<photo>} -% The shape of the author's photo is circular by default. -\newcommand{\photo}[3][circular]{\def\@photo{#3}\def\@photodiameter{#2}\def\@photoshape{#1}} - -% Render author's address -% Usage: \address{<address>} -\newcommand*{\address}[1]{\socialtext{\locationSymbol}{#1}} - -% Render author's infos -% Usage: \infos{<infos>} -\newcommand*{\infos}[1]{\socialtext{\infoSymbol}{#1}} - -% Render author's linked-in (optional) -% Usage: \linkedin{<linked-in-nick>} -\newcommand*{\linkedin}[1]{\sociallink{\linkedinSymbol}{http://www.linkedin.com/in/#1/fr}{linkedin.com/in/#1}} - -% Render author's viadeo(optional) -% Usage: \viadeo{<viadeo-nick>} -\newcommand*{\viadeo}[1]{\sociallink{\viadeoSymbol}{http://www.viadeo.com/fr/profile/#1}{viadeo.com/fr/profile/#1}} - -% Render author's github (optional) -% Usage: \github{<github-nick>} -\newcommand*{\github}[1]{\sociallink{\githubSymbol}{https://www.github.com/#1}{github.com/#1}} % Github icon + URL - -% Render author's stackoverflow profile (optional) -% Usage: \stackoverflow{<stackoverflow-user-id>} -\newcommand*{\stackoverflow}[1]{\sociallink{\stackoverflowSymbol}{https://www.stackoverflow.com/u/#1}{stackoverflow.com/u/#1}} - -% Render author's stackexchange profile (optional) -% Usage: \stackexchange{<stackexchange-user-id>} -\newcommand*{\stackexchange}[1]{\sociallink{\stackexchangeSymbol}{https://stackexchange.com/users/#1}{stackexchange.com/users/#1}} - -% Render author's medium (optional) -% Usage: \medium{<medium-nick>} -\newcommand*{\medium}[1]{\sociallink{\mediumSymbol}{https://www.medium.com/@#1}{medium.com/#1}} - -% Render author's bitbucket (optional) -% Usage: \bitbucket{<bitbucket-account-name>} -\newcommand*{\bitbucket}[1]{\sociallink{\bitbucketSymbol}{https://bitbucket.com/#1}{bitbucket.com/#1}} - -% Render author's email (optional) -% Usage: \email{<email adress>} -\newcommand*{\email}[1]{\sociallink{\mailSymbol}{mailto:#1}{#1}} - -% Render a website link (optional) -% Usage: \website{<website name>}{<website adress>} -\newcommand*{\website}[2]{\sociallink{\websiteSymbol}{#1}{#2}} - -% Render author's mobile phone (optional) -% Usage: \smartphone{<mobile phone number>} -\newcommand*\smartphone[1]{\socialtext{\mobileSymbol}{#1}} - -% Render author's tagline -\newcommand\resumetitle[1]{ - \ifundef{\@alternative}{ - \par{ - \bigskip\center{\Large \color{accentcolor}\textbf{#1}\color{Black}}\par - } - \bigskip - }{ - \color{accentcolor}\textbf{\large{#1}}\color{black} - } -} - -\newcommand\idphoto{ - \ifthenelse{\equal{\@photoshape}{square}}{ - % Draw square photo - \tikz\path[fill overzoom image={\@photo}]rectangle(\linewidth,\linewidth); - }{ - \ifthenelse{\equal{\@photoshape}{roundedsquare}}{ - % Draw square photo with rounded corners - \tikz\path[fill overzoom image={\@photo}][rounded corners=2mm]rectangle(\linewidth,\linewidth); - }{ - \ifthenelse{\equal{\@photoshape}{squircle}}{ - % Draw squircle photo - \tikz\path[fill overzoom image={\@photo}][rounded corners=8mm]rectangle(\linewidth,\linewidth); - }{ - % Draw circular photo - \tikz\path[fill overzoom image={\@photo}]circle[radius=0.5\linewidth]; - } - } - - } -} - -% Define social entries to print in header -\newcommand{\socialinfo}[1]{\def\@socialinfo{#1}} - -% Render CV header -% Needs \@firstname, \@lastname and \@tagline to be defined -\newcommand*{\makecvheader}{ - \ifundef{\@alternative}{ - \ifundef{\@photodiameter}{ - \begin{minipage}{\linewidth} - }{ - \begin{minipage}{\dimexpr\linewidth-\@photodiameter-2em} - } - \color{accentcolor}\user{\@firstname}{\@lastname}\color{black}\\ - \small{\@socialinfo} - \end{minipage} - \ifdef{\@photodiameter}{ - \begin{minipage}{\@photodiameter} - \idphoto - \end{minipage} - }{} - \resumetitle{\@tagline} - }{ - \ifundef{\@photodiameter}{ - \begin{minipage}{\linewidth} - }{ - \begin{minipage}{\dimexpr\linewidth-\@photodiameter-2em} - } - \user{\@firstname}{\@lastname}\\ - \resumetitle{\@tagline} - \smallskip\\ - \small{\@socialinfo} - \end{minipage} - \ifdef{\@photodiameter}{ - \begin{minipage}{\@photodiameter} - \idphoto - \end{minipage} - }{} - \bigskip - } -} - -% Define a footer for CV -% Usage: \makecvfooter{<left>}{<center>}{<right>} -\newcommand*{\makecvfooter}[3]{% - \fancyfoot{} - \fancyfoot[L]{#1} - \fancyfoot[C]{#2} - \fancyfoot[R]{#3} -} - -% Resume part title definition -\newcommand\sectionTitle[2]{\section{\texorpdfstring{\color{accentcolor}#2\enspace \textsc{#1}}{#1}}} - -% Define the 'keywords' environment -\newenvironment{keywords}{% - \renewcommand{\arraystretch}{1.1} - - \begin{tabular}{>{}r>{}p{13cm}} -}{% - \end{tabular} -} - -% Render a scholarshipentry in the scolarship environment -% Usage: \scholarshipentry{<date>}{<description>} -\newcommand\keywordsentry[2]{ - \textbf{#1} & #2\\ -} - -% Define a new column type for the scholarship environment -\newcolumntype{Y}{>{\raggedleft}p{\leftcolumnlength}} - -% Define the 'scholarship' environment -\newenvironment{scholarship}{% - \begin{tabular}{Y p{\rightcolumnlength}} -}{% - \end{tabular} -} - -% Render a scholarshipentry in the scolarship environment -% Usage: \scholarshipentry{<date>}{<description>} -\newcommand\scholarshipentry[2]{ - #1 & #2 \\ -} - -% Define the 'skills' environment -\newenvironment{skills}{% - \begin{longtable}{R{\leftcolumnlength}p{\rightcolumnlength}} -}{% - \end{longtable} -} - -% Render a skill in the skills environment -% Usage: \skill{<skill>}{<level>} -\newcommand\skill[2]{ - \textbf{#1} & \foreach \x in {1,...,5}{{\color{accentcolor!80} \ifnumgreater{\x}{#2}{\faCircle[regular]}{\faCircle}}\enspace } \\ -} - -\newcolumntype{E}{>{\raggedright\arraybackslash}p{\rightcolumnlength}} - -% Define the 'experiences' environment -\newenvironment{experiences}{% - \begin{longtable}{R{\leftcolumnlength}|E} -}{% - \end{longtable} -} - -% Render an experience in the experiences environment -% Usage: -% \experience -% {<End date>} {<Title>}{<Enterprise>}{<Country>} -% {<Start date} { -% <Experience description (Could be a list)> -% } -% {<Technology list>} -\newcommand\experience[7]{ - \textbf{#1} & \textbf{#2, \textsc{#3}, #4} \\* - \textbf{#5} & \begin{minipage}[t]{\rightcolumnlength} - #6 - \end{minipage} \\* - & \footnotesize{\foreach \n in {#7}{\cvtag{\n}}} \\ - } - -% Render a consultant experience in the experiences environment -% Usage: -% \consultantexperience -% {<End date>} {<Consultant title>}{<Consulting Enterprise>}{<Country>} -% {<Start date} {<Client title>}{<Client business unit>} -% { -% <Experience description (Could be a list)> -% } -% {<Technology list>} -\newcommand\consultantexperience[9]{ - \textbf{#1} & \textbf{#2, \textsc{#3}, #4} \\* - \textbf{#5} & \emph{#6} pour \textsc{#7} \\* - & \begin{minipage}[t]{\rightcolumnlength} - #8 - \end{minipage} \\* - & \footnotesize{\foreach \n in {#9}{\cvtag{\n}}} \\ - } - -% Define the empty separator macro with different spacing according to document class option 'compact' -\if@isCompact - \newcommand\emptySeparator{\multicolumn{2}{c}{}\\[-0.6em]} -\else - \newcommand\emptySeparator{\multicolumn{2}{c}{}\\} -\fi - - - -% Define the 'projects' environment -\newenvironment{projects}{% - \begin{longtable}{l} -}{% - \end{longtable} -} - -% Define the 'project' entry in the 'projects' environment -% Usage: -% \project -% {<Project name>}{<dates>} -% {<link1> <link2>} -% {<Project description>} -% {<techno1>,<techno2>} -\newcommand\project[5]{ - \begin{minipage}[t]{\dimexpr(\linewidth) - 1.5em} - \textbf{\textsc{#1}} \hfill \textsc{#2}\smallskip\\ - #3\\ - #4\smallskip\\ - \footnotesize{\foreach \n in {#5}{\cvtag{\n}}}\\ - \end{minipage} - \\* -} - - -\newcommand*\twocolumnsection[2]{ - \begin{minipage}[t]{\dimexpr(\linewidth/2) - 3em} - #1 - \end{minipage} - \hfill - \begin{minipage}[t]{\dimexpr(\linewidth/2) - 3em} - #2 - \end{minipage} - } - -% Define the 'referencees' environment -\newenvironment{referees}{% -}{% - \hfill - \bigskip -} - -\newcommand*\referee[5]{ - \hspace{1em} - \begin{minipage}[t]{\dimexpr(\linewidth/3) - 3em} - \begin{tabular}{>{}l >{}l} - \multicolumn{2}{l}{\textbf{#1}}\\ - \multicolumn{2}{l}{\emph{#2}, \textsc{#3}}\\ - \quad \mailSymbol & \href{mailto:#4}{#4} \\ - \quad \faPhone & #5 \\ - \end{tabular} - \end{minipage}% - } - -\newcommand*\refereeMailOnly[4]{ - \hspace{1em} - \begin{minipage}[t]{\dimexpr(\linewidth/3) - 3em} - \begin{tabular}{>{}l >{}l} - \multicolumn{2}{l}{\textbf{#1}}\\ - \multicolumn{2}{l}{\emph{#2}, \textsc{#3}}\\ - \quad \mailSymbol & \href{mailto:#4}{#4} \\ - \end{tabular} - \end{minipage}% -} - +yaac-another-awesome-cv/yaac-another-awesome-cv.cls
\ No newline at end of file |