> 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/no/flere-emner/26-how-to-write-a-latex-class-file-and-design-your-own-cv-part-2.md).

# Hvordan skrive en LaTeX-klassefil og designe din egen CV (del 2)

[Del 1](/latex/no/flere-emner/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md) | Del 2

**Forfatter: Cody Herring (juni 2013)**

Dette er en fortsettelse av [Hvordan skrive en LaTeX-klassefil og utforme din egen CV (Del 1)](/latex/no/flere-emner/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md), og går gjennom flere alternativer for å lage en CV, og bruke klassefiler til det.

I forrige innlegg hadde vi opprettet to filer: `cv.tex` og `my_cv.cls`. Innholdsfilen, `cv.tex`, inneholdt følgende:

```latex
\documentclass{my_cv}
\begin{document}
\section{Education}
\datedsubsection{University of Nowhere}{2004-2008}
\section{Work}
\datedsubsection{ABC Limited}{2008-Now}
\end{document}
```

`my_cv.cls` inneholdt noen standardformateringer, samt noen kommandoer å bruke:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 custom CV class]
\LoadClass{article}
\RequirePackage{titlesec}
\titleformat{\section}       % Tilpass \section-kommandoen
{\Large\scshape\raggedright} % Gjør \section-overskriftene store (\Large),
                             % små versaler (\scshape) og venstrejusterte (\raggedright)
  {}{0em}            % Kan brukes til å gi et prefiks til alle seksjoner, som 'Seksjon ...'
  {}                 % Kan brukes til å sette inn kode før overskriften
  [\titlerule]       % Setter inn en horisontal linje etter overskriften
  \titleformat{\subsection}
  {\large\scshape\raggedright}
  {}{0em}
  {}
\newcommand{\datedsection}[2]{%
  \section[#1]{#1 \hfill #2}%
}
\newcommand{\datedsubsection}[2]{%
  \subsection[#1]{#1 \hfill #2}%
}
```

Dette gir følgende dokument:

![Figure 1.png](/files/acd31cda540222dea73ffcd4bf5777a7cda82f58)

Den `#1` og `#2` viser til det første og andre argumentet eller parameteret som sendes inn til kommandoen. På den første linjen i en `\newcommand`, betegner delen i hakeparenteser, f.eks. `[2]` viser til antall parametere som sendes inn til funksjonen. Funksjonen kan deretter kalle disse parameterne ved å bruke `#1`, `#2`, og så videre, avhengig av hvor mange parametere som kreves av funksjonen. Funksjoner med flere parametere vises senere i artikkelen.

Vi fortsetter med å legge til en navn- og kontaktseksjon, samt å fortsette med erfaring og andre seksjoner.

### Navn og kontaktinformasjon

I en CV står navnet vanligvis øverst, med kontaktinformasjon slik at man kan kontaktes om jobbmuligheter. Dette skal oppnås ved å legge til nye funksjoner i klassefilen vår. Navnet kan legges til med en enkel funksjon:

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

Dette gir et sentrert navn med stor skrift der det brukes. Dette kan kalles slik:

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

Nå til kontaktinformasjon. Legg følgende til i klassefilen:

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

Deretter kalles funksjonen fra dokumentet:

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

Alt dette vises pent, med navn og kontaktinformasjon slik:

![Figure 2.png](/files/2a26999e975de8743a81f8de150a110473a61037)

Dette viser kontaktinformasjonen pent formatert med en midtstilt prikk mellom hvert element. Dette kan justeres for lengre adresser ved behov ved å legge til en andre funksjon:

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

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

Dette ser litt rart ut med den korte informasjonen, men hvis en adresse er spesielt lang, er det mer fleksibelt å bruke. Det beste med dette er at TeX-dokumentet krever minimale endringer:

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

Dette er hovedpoenget med å bruke klassefiler. Å tillate minimale endringer i dokumentets innhold, og å styre presentasjonen (hvordan innholdet vises) eksternt.

### Utvide erfaringsseksjonen

En CV bør ha mer enn bare en liste over jobber. Noe beskrivelse av hva som ble gjort i jobbene bør legges til under hvert punkt. Tre kulepunkter per jobb er en god balanse mellom detalj og beskrivelse. Dette kan enkelt justeres ved å legge til eller fjerne noder. Legg følgende til i klassefilen:

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

Legg følgende til i `.tex` filen:

```latex
\workitems
{Utviklet et nytt produkt}
{Forbedret produktiviteten med 20\%}
{Reduserte kostnadene med \$10 000}
```

Nå ser erfaringsseksjonen litt mer fyldig ut:

![Figure 4.png](/files/7105fb10e2cbb34df8de28d8082777d0ce2c3215)

Å legge til en ferdighetsseksjon runder av CV-en. Dette ble gjort uten en klassefunksjon, siden det ikke kortet ned LaTeX-koden særlig mye:

```latex
\section{Skills}

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

Dette gir følgende:

![Figure 5.png](/files/0af7bc07ed28275d8c5a82bf4d72644c4c561cdc)

### Konklusjon

Denne todelte artikkelen burde ha gitt deg en svært enkel CV-mal, klar til å utvides og få lagt til nye seksjoner.

Hele klassefilen er som følger:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 custom CV class]
\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}%
}
```

Den `.tex` filen er som følger:

```latex
\documentclass{my_cv}
\begin{document}
\name{John Smith}
\contact{123 Broadway}{London}{UK 12345}{john@smith.com}{(000)-111-1111}
\section{Education}
\datedsubsection{University of Nowhere}{2004-2008}
\section{Work}
\datedsubsection{ABC Limited}{2008-Now}
\workitems
{Utviklet et nytt produkt}
{Forbedret produktiviteten med 20\%}
{Reduserte kostnadene med \$10 000}

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

\end{document}
```

Dette gir følgende dokument:

![Figure 6.png](/files/21b5167bbfa55493a2a3841d31db52133a812b4d)

Denne veiledningen burde gi et godt utgangspunkt for en CV, med rom for utvidelser.

[Del 1](/latex/no/flere-emner/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md) | Del 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/no/flere-emner/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.
