> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/it/altri-argomenti/26-how-to-write-a-latex-class-file-and-design-your-own-cv-part-2.md).

# Come scrivere un file di classe LaTeX e progettare il tuo CV (Parte 2)

[Parte 1](/latex/it/altri-argomenti/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md) | Parte 2

**Autore: Cody Herring (giugno 2013)**

Questa è la continuazione di [Come scrivere un file di classe LaTeX e progettare il tuo CV (Parte 1)](/latex/it/altri-argomenti/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md), passando in rassegna altre opzioni per creare un CV e usando file di classe per farlo.

Nel post precedente, abbiamo creato 2 file: `cv.tex` e `my_cv.cls`. Il file dei contenuti, `cv.tex`, conteneva quanto segue:

```latex
\documentclass{my_cv}
\begin{document}
\section{Istruzione}
\datedsubsection{Università del Nulla}{2004-2008}
\section{Lavoro}
\datedsubsection{ABC Limited}{2008-Oggi}
\end{document}
```

`my_cv.cls` conteneva alcune impostazioni di formattazione predefinite, oltre ad alcuni comandi da usare:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 classe CV personalizzata]
\LoadClass{article}
\RequirePackage{titlesec}
\titleformat{\section}       % Personalizza il comando \section
{\Large\scshape\raggedright} % Rendi le intestazioni di \section grandi (\Large),
                             % in maiuscoletto (\scshape) e allineate a sinistra (\raggedright)
  {}{0em}            % Può essere usato per dare un prefisso a tutte le sezioni, come 'Sezione ...'
  {}                 % Può essere usato per inserire codice prima del titolo
  [\titlerule]       % Inserisce una linea orizzontale dopo il titolo
  \titleformat{\subsection}
  {\large\scshape\raggedright}
  {}{0em}
  {}
\newcommand{\datedsection}[2]{%
  \section[#1]{#1 \hfill #2}%
}
\newcommand{\datedsubsection}[2]{%
  \subsection[#1]{#1 \hfill #2}%
}
```

Questo genera il seguente documento:

![Figura 1.png](/files/a8bad54ce1e369c1464b7f713961b0660f4da140)

La `#1` e `#2` si riferiscono al primo e al secondo argomento o parametro che vengono passati al comando. Nella prima riga di un `\newcommand`, la sezione tra parentesi, ad es. `[2]` si riferisce al numero di parametri passati alla funzione. La funzione può quindi richiamare questi parametri usando `#1`, `#2`, e così via, a seconda di quanti parametri erano richiesti dalla funzione. Le funzioni con più parametri saranno mostrate più avanti nell'articolo.

Proseguiremo aggiungendo una sezione per nome e contatti, oltre a continuare con l'esperienza e le altre sezioni.

### Nome e informazioni di contatto

In un CV, il nome si trova tipicamente in alto, con le informazioni di contatto da usare per le candidature. Questo sarà realizzato aggiungendo nuove funzioni al nostro file di classe. Il nome può essere aggiunto usando una semplice funzione:

```latex
\newcommand{\name}[1]{%
  \centerline{\Huge{#1}}
}
```

Questo produce un nome centrato e in grande formato ovunque venga usato. Può essere richiamato così:

```latex
\name{John Smith}
```

Ora, per le informazioni di contatto. Aggiungi quanto segue al file di classe:

```latex
\newcommand\contact[5]{%
    \centerline{%
        \makebox[0pt][c]{%
            #1 {\large\textperiodcentered} #2 {\large\textperiodcentered} #3
            \ #4 \ \ #5%
        }%
    }%
}
```

Quindi richiama la funzione dal documento:

```latex
\contact{123 Broadway}{Londra}{Regno Unito 12345}{john@smith.com}{(000)-111-1111}
```

Tutto questo viene visualizzato bene, con il nome e le informazioni di contatto in questo modo:

![Figura 2.png](/files/35997c646c9be8575aa602ccb69b88bdbef8d783)

Questo visualizza le informazioni di contatto in modo ben formattato con una separazione a pallino in mezzo. Se necessario, questo può essere adattato per indirizzi più lunghi aggiungendo una seconda funzione:

```latex
\newcommand{\longcontact}[5]{%
    \noindent
    #1\hfill {\large\textperiodcentered}\hfill #2\hfill
    {\large\textperiodcentered}\hfill #3\\
    #4\hfill #5%
}
```

![Screenshot3.png](/files/db9b625cb34d6ca38cb0a8727d8fcb8cdb8da4d7)

Questo sembra un po' strano con le informazioni brevi, ma se un indirizzo è particolarmente lungo, è più flessibile da usare. La parte migliore è che il documento TeX richiede modifiche minime:

```latex
\longcontact{123 Broadway}{Londra}{Regno Unito 12345}{john@smith.com}{(000)-111-1111}
```

Questo è il punto principale dell'uso dei file di classe. Consentire modifiche minime al contenuto del documento e controllare esternamente la presentazione (come il contenuto viene mostrato).

### Espandere la sezione Esperienza

Un CV dovrebbe contenere più di un semplice elenco di lavori. Dovrebbe essere aggiunta una descrizione di ciò che è stato fatto nei lavori sotto ogni voce. 3 punti elenco per lavoro sono un buon equilibrio tra dettaglio e descrizione. Questo può essere facilmente regolato aggiungendo o rimuovendo elementi. Aggiungi quanto segue al file di classe:

```latex
\newcommand{\workitems}[3]{%
    \begin{itemize}
    \item #1
    \item #2
    \item #3
    \end{itemize}%
}
```

Aggiungi quanto segue a `.tex` file:

```latex
\workitems
{Sviluppato un nuovo prodotto}
{Migliorata la produttività del 20\%}
{Ridotti i costi di \$10,000}
```

Ora la sezione Esperienza appare un po' più completa:

![Figura 4.png](/files/254d76f5b8964dde6e52d21d9c542159aff019e4)

L'aggiunta di una sezione competenze completa il curriculum. Questo è stato fatto senza una funzione di classe, poiché non ha ridotto molto il codice LaTeX:

```latex
\section{Competenze}

\begin{tabular}{l l l l}
C\# & T-SQL & Javascript & HTML \\
XML & JSON & SOAP & REST
\end{tabular}
```

Questo dà come risultato quanto segue:

![Figura 5.png](/files/330c257e5d324618bd415ac3cf11e1e631d419ad)

### Conclusione

Questo articolo in due parti dovrebbe averti lasciato con un modello di CV molto basilare, pronto per essere ampliato e arricchito con nuove sezioni.

L'intero file di classe è il seguente:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 classe CV personalizzata]
\LoadClass{article}
\RequirePackage{titlesec}

\titleformat{\section}
  {\Large\scshape\raggedright}
  {}{0em}
  {}
  [\titlerule]

  \titleformat{\subsection}
  {\large\scshape\raggedright}
  {}{0em}
  {}

\newcommand{\datedsection}[2]{%
  \section[#1]{#1 \hfill #2}%
}
\newcommand{\datedsubsection}[2]{%
  \subsection[#1]{#1 \hfill #2}%
}

\newcommand{\name}[1]{%
  \centerline{\Huge{#1}}%
}

\newcommand\contact[5]{%
    \centerline{%
        \makebox[0pt][c]{%
            #1 {\large\textperiodcentered} #2 {\large\textperiodcentered} #3
            \ #4 \ \ #5%
        }%
    }%
}

\newcommand{\longcontact}[5]{%
    \noindent
    #1\hfill {\large\textperiodcentered}\hfill #2\hfill
    {\large\textperiodcentered}\hfill #3\\
    #4\hfill #5%
}

\newcommand{\workitems}[3]{%
    \begin{itemize}
    \item #1
    \item #2
    \item #3
    \end{itemize}%
}
```

La `.tex` il file è il seguente:

```latex
\documentclass{my_cv}
\begin{document}
\name{John Smith}
\contact{123 Broadway}{Londra}{Regno Unito 12345}{john@smith.com}{(000)-111-1111}
\section{Istruzione}
\datedsubsection{Università del Nulla}{2004-2008}
\section{Lavoro}
\datedsubsection{ABC Limited}{2008-Oggi}
\workitems
{Sviluppato un nuovo prodotto}
{Migliorata la produttività del 20\%}
{Ridotti i costi di \$10,000}

\section{Competenze}
\begin{tabular}{l l l l}
C\# & T-SQL & Javascript & HTML \\
XML & JSON & SOAP & REST
\end{tabular}

\end{document}
```

Questo dà come risultato il seguente documento:

![Figura 6.png](/files/8326425a5e2f30b9d32936022a833e5ec09f9a2d)

Questo tutorial dovrebbe fornirti un ottimo punto di partenza per un CV, con margine di espansione.

[Parte 1](/latex/it/altri-argomenti/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md) | Parte 2


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/it/altri-argomenti/26-how-to-write-a-latex-class-file-and-design-your-own-cv-part-2.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
