123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- \NeedsTeXFormat{LaTeX2e}
- \LoadClass{article}
- \ProvidesClass{arthur-cv-fr}[2019/06/28 Custom french CV class]
- %%%%%%%%%%%%%%%%%%%%%
- %% Load packages %%
- %%%%%%%%%%%%%%%%%%%%%
- \RequirePackage[quiet]{fontspec}
- \RequirePackage[sfdefault]{ClearSans} % Police
- \usepackage{fontawesome} % Icons
- \RequirePackage{ragged2e}
- \RequirePackage{parskip}
- \RequirePackage[hidelinks]{hyperref} % Hyperlink
- \RequirePackage[absolute,overlay]{textpos} % showboxes % Set text boxes
- \RequirePackage{titlesec} % Structure
- \RequirePackage{marvosym} % Icone
- \RequirePackage{tikz} % Graphic
- \RequirePackage{xcolor} % Colors
- \RequirePackage{multirow} % Join rows in tabular
- \RequirePackage{xargs} % Multiple optional args
- \RequirePackage{tcolorbox} % Colored box
- \RequirePackage{enumitem} % Customize item
- \RequirePackage{ifthen} % Conditions
- %%%%%%%%%%%%%%%%%%
- %% Set colors %%
- %%%%%%%%%%%%%%%%%%
- % TODO
- \definecolor{sidecolor}{HTML}{E7E7E7}
- %\definecolor{pblue}{HTML}{0395DE}
- \definecolor{yt}{HTML}{c71610}
- \definecolor{test}{HTML}{0077be}
- \definecolor{mainblue}{HTML}{0E5484}
- %\definecolor{maingray}{HTML}{B9B9B9}
- \definecolor{linkedin}{HTML}{0085AE}
- \colorlet{headercolor}{gray}
- %%%%%%%%%%%%%%%%%%%
- %% Information %%
- %%%%%%%%%%%%%%%%%%%
- % TODO : Clean new commands
- \newcommand{\cvlinkedin}[1]{\renewcommand{\cvlinkedin}{#1}}
- \newcommand{\cvgithub}[1]{\renewcommand{\cvgithub}{#1}}
- \newcommand{\cvmail}[1]{\renewcommand{\cvmail}{#1}}
- \newcommand{\cvnumberphone}[1]{\renewcommand{\cvnumberphone}{#1}}
- \newcommand{\cvaddress}[1]{\renewcommand{\cvaddress}{#1}}
- \newcommand{\cvsite}[1]{\renewcommand{\cvsite}{#1}}
- % \newcommand{\aboutme}[1]{\renewcommand{\aboutme}{#1}}
- \newcommand{\profilepic}[1]{\renewcommand{\profilepic}{#1}}
- \newcommand{\cvname}[1]{\renewcommand{\cvname}{#1}}
- \newcommand{\cvjobtitle}[1]{\renewcommand{\cvjobtitle}{#1}}
- \newcommand{\cvage}[1]{\renewcommand{\cvage}{#1}}
- %%%%%%%%%%%%%%%%%
- %% To debugg %%
- %%%%%%%%%%%%%%%%%
- %\pretolerance=1500
- %\setlength{\emergencystretch}{3em}
- %\overfullrule=1mm
- %%%%%%%%%%%%%%
- %% Header %%
- %%%%%%%%%%%%%%
- % Set unit
- \setlength{\TPHorizModule}{1cm}
- \setlength{\TPVertModule}{1cm}
- % Set image size
- \newcommand{\imsize}{\linewidth}
- \newlength\imagewidth
- \newlength\imagescale
- \renewcommand{\imsize}{0.618\linewidth}
- \pgfmathsetlength{\imagewidth}{3cm}%
- \pgfmathsetlength{\imagescale}{\imagewidth/600}%
- % TODO : Clean makeprofile command
- \newcommand{\makeprofile}{
-
- % Set left color band
- \begin{tikzpicture}[remember picture,overlay]
- \node [rectangle, anchor=north west, fill=sidecolor, minimum width=8cm, minimum height=27cm] at (0cm, -3.2cm) {};{};
- \end{tikzpicture}
- % Set header
- \begin{textblock}{20.5}(0.25, 0.25)
- \begin{minipage}[t]{0.38\textwidth}
- % Set info
- \vspace{2mm}
- \renewcommand{\arraystretch}{1.}
- \begin{tabular}{p{1.1cm} @{\hskip 0.3cm}p{6.2cm}}
- \ifthenelse{\equal{\cvnumberphone}{}}{}{
- {$
- \begin{array}{l}
- \hspace{4mm} \textnormal{\Large \faMobile}
- \end{array}
- $}
- & \cvnumberphone\\}
-
- \ifthenelse{\equal{\cvsite}{}}{}{
- {$
- \begin{array}{l}
- \hspace{2.8mm} \textnormal{\textcolor{test}{\large \faGlobe}}
- \end{array}
- $}
- & \href{http://\cvsite}{\cvsite} \\}
-
- \ifthenelse{\equal{\cvmail}{}}{}{
- {$
- \begin{array}{l}
- \hspace{2.5mm} \textnormal{\large \textcolor{yt}{\faEnvelopeO}}
- \end{array}
- $}
- & \href{mailto:\cvmail}{\cvmail} \\}
-
- \ifthenelse{\equal{\cvlinkedin}{}}{}{
- {$
- \begin{array}{l}
- \hspace{3mm} \textnormal{\large \textcolor{linkedin}{\faLinkedin}}
- \end{array}
- $} & \href{https://www.linkedin.com\cvlinkedin}{\cvlinkedin} \\
- }
- \ifthenelse{\equal{\cvgithub}{}}{}{
- {$
- \begin{array}{l}
- \hspace{3mm} \textnormal{\large \faGithub}
- \end{array}
- $} & \href{https://www.github.com/\cvgithub}{\cvgithub} \\
- }
- \ifthenelse{\equal{\cvaddress}{}}{}{
- {$
- \begin{array}{l}
- \hspace{3mm} \textnormal{\large \faMapMarker}
- \end{array}
- $} & \cvaddress \\
- }
- \ifthenelse{\equal{\cvage}{}}{}{
- {$
- \begin{array}{l}
- \hspace{3mm}
- \end{array}
- $} & \cvage \\
- }
-
- \end{tabular}
- \end{minipage}
- \begin{minipage}[t]{0.5\textwidth}
- % Set name and title
- \vspace{3mm}
- {\hspace{0mm}\huge\color{mainblue}\cvname}
-
- \vspace{7mm}
- {\hspace{0mm}\Large\color{black!80}\cvjobtitle}
- \end{minipage}%
- \end{textblock}
- \begin{tikzpicture}[remember picture,overlay]%[x=\imagescale,y=-\imagescale]
- %\clip (600/2, 567/2) rectangle ; %(567/2);
- %\clip (10, 10);
- %, anchor=north east, inner sep=0pt, outer sep=0pt
- \node[rectangle, anchor=north west] at (17.4cm, 0.2cm) {\includegraphics[width=\imagewidth]{\profilepic}};
- %\node[rectangle, draw=black, anchor=north west] at (17.2cm, -0.2cm) {};
- %\draw (17.2cm, 0.2cm) -- (20.6cm, 0.2cm) -- (20.6cm, -3.2cm) -- (17.2cm, -3.2cm);
- \draw[line width=0.5mm, mainblue] (17.45cm, 0.15cm) -- + (3.15cm, 0) -- + (3.15cm, -3.15cm) -- + (0,-3.15cm) -- cycle; %+ (0,0);
- \end{tikzpicture}
- }
- %%%%%%%%%%%%%%%%%%%%%%%
- %% Left side block %%
- %%%%%%%%%%%%%%%%%%%%%%%
- % TODO : Finish left side
- \tcbuselibrary{most}
- \tcbset{enhanced}
- \newcommand{\sectionleft}[1]{
- \par\vspace{3mm}
- {%
- \begin{tcolorbox}[colframe=mainblue, colback=blue!10!white, shadow={0.7mm}{-1mm}{0mm}{black!50!white}, sharpish corners, boxrule=0.8mm]% , show bounding box
- \centering\LARGE\textbf{#1}
- \end{tcolorbox}
- }
- \par\vspace{0mm}
- }
- \newcommand{\subsectionleft}[2]{
- \par
- {%
- \begin{sloppypar}
- \begin{itemize}[label=\textbullet, font=\Large, leftmargin=7mm]
- \item \large#1 #2%
- \end{itemize}
- \end{sloppypar}
- }%\par\vspace{1mm}
- }
- %%%%%%%%%%%%%%%%%%%%%%%%
- %% Right side block %%
- %%%%%%%%%%%%%%%%%%%%%%%%
- % Color of title section
- \def\@sectioncolor#1#2#3{%
- {%
- \color{mainblue} #1#2#3%
- }%
- }
- % Set section
- \renewcommand{\section}[1]{
- \par\vspace{2mm}
- \textbf{%
- \huge\color{headercolor}%
- \@sectioncolor #1%
- }
- \par\vspace{1mm}
- }
- % Set environnement
- \setlength{\tabcolsep}{2pt}
- \newenvironment{rightenv}{%
- \begin{sloppypar}\begin{tabular}{@{\extracolsep{\fill}}p{2.0cm} l}
- }{%
- \end{tabular}\end{sloppypar}
- }
- % Set item
- \newcommandx{\subsectionright}[6][2= ,4= ,5= ]{%
- #1 & \parbox[t]{10.1cm}{%
- \ifblank{#2}{}{#2 en }\textbf{\large\color{mainblue}#3}%
- \hfill%
- \ifblank{#4}{}{\footnotesize à \textit{#4}}\ifblank{#5}{}{\footnotesize, #5}\\%
- \ifblank{#6}{\vspace{0mm}}{\normalsize#6\vspace{\parsep}}%
- }\\%
- }
- %%%%%%%%%%%%%%%%%%%%
- %% Page setting %%
- %%%%%%%%%%%%%%%%%%%%
- % TODO : clean setting
- \RequirePackage[left=0.cm,top=0.cm,right=0.cm,bottom=0.cm,nohead,nofoot]{geometry}
- \RequirePackage{hyperref}
|