Skip to content

Un template per cv scritto in latex

Ho iniziato dal tema latex di twentyseconds perché penso che un cv in latex sembri più professionale (è possibile fare cose come questa):

a-bad-justification

Mi piace il layout a due colonne ma non la colonna di sinistra creata all'esterno del documento (fatto che imporrebbe di scrivere il testo nella colonna di sinistra specificando esattamente le dimensioni del frame contenente il testo, rendendo di fatto inutile l'utilizzo di latex). Per replicare questa configurazione a due colonne ho pensato di usare questa soluzione basata sul pacchetto tcolorbox.

Ho iniziato creando questa configurazione latex di base:

latex
% twentyonesecondcv.cls
\ProvidesClass{twentyonesecondcv}[2017/01/08 CV class]
\documentclass{article}
\usepackage{blindtext}
\usepackage{xcolor}
\usepackage{geometry}
\usepackage[most]{tcolorbox}
\geometry{margin=0pt}

\definecolor{gray}{HTML}{4D4D4D}
\definecolor{sidecolor}{HTML}{E7E7E7}
\definecolor{mainblue}{HTML}{0E5484}
\definecolor{maingray}{HTML}{B9B9B9}
\newtcolorbox{bgbox}[1][]{nobeforeafter,leftright skip=0pt,boxrule=0pt,enhanced jigsaw,sharp corners,#1}

\newcommand{\sidesection}[1]{
    \noindent
    \begin{bgbox}[height=\paperheight,colback=sidecolor,width=0.33\textwidth]
    #1
    \end{bgbox}%
}
\newcommand{\mainsection}[1]{%
    \noindent
    \begin{bgbox}[height=\paperheight,colback=white,width=0.67\textwidth]
    #1
    \end{bgbox}%
}
latex
% tex document
\documentclass[letterpaper]{twentyonesecondcv} % a4paper for A4

\begin{document}
\noindent
\sidesection{col 1, pag 1:: \lipsum[1-3]}
\mainsection{col 2, pag 1:: \textit{\lipsum[1-5]}}
\newpage

\noindent
\sidesection{col 1, pag2:: \lipsum[3-5]}
\mainsection{col 2, pag2:: \textit{\lipsum[3-7]}}
\end{document}

Si può notare che l'esempio è già su due pagine: va bene mantenere il cv semplice e facile da leggere, ma cosa fare con una lista di esperienze lavorative da mostrare più lunga di una pagina?

Latex è vantaggioso da usare perché permette di pensare al solo contenuto testuale, senza sprecare tempo con l'impaginazione. Il mio più grande problema era riempire l'eventuale spazio vuoto fra l'ultimo paragrafo ed il fondo della colonna: comandi come \vfill non funzionano all'interno di newtcolorbox perché il frame non ha un'altezza fissa.

Fortunatamente (dovrebbe essere dalla versione 3.70 di newtcolorbox) è possibile modificare questo comportamento; per questo serviranno le opzioni

  • height=<value>
  • text fill

Come già detto, il frame non può usare \vfill perché inizialmente non ha un'altezza fissa. Per imporre l'altezza del contenitore del testo uguale all'altezza dell'intera pagina serve height=\heigthpage.

L'ultima precauzione è evitare comandi che impongano valori fissi come quello tikzpicture usato all'interno del comando personalizzato \makeheaderprofile.

Per qualche ragione invece i comandi personalizzati usati per creare le sezioni delle abilità (\skills e \skillstext) funzionano bene.

Finalmente qui il risultato ed il repository github!

Ho pubblicato il template latex di esempio qui su overleaf.

realizzato-con-latex

Licenziatario pubblico del progetto LaTeX

repository github

Dona

Apprezzi il mio sito? Pagami un caffè
Referenze disponibili su richiesta. Autorizzo il trattamento dei miei dati personali in conformità al D. Lgs. n. 196/2003, art. 13, allo scopo di farmi proposte lavorative.