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

# Sådan skriver du en LaTeX-klassefil og designer dit eget CV (del 2)

[Del 1](/latex/da/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 fortsættelse af [Sådan skriver du en LaTeX-klassefil og designer dit eget CV (Del 1)](/latex/da/flere-emner/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md), hvor vi gennemgår flere muligheder for at oprette et CV og bruger klassefiler til at gøre det.

I det sidste indlæg oprettede vi 2 filer: `cv.tex` og `my_cv.cls`. Indholdsfilen, `cv.tex`, indeholdt 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` indeholdt nogle standardformateringer samt nogle kommandoer at bruge:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 custom CV class]
\LoadClass{article}
\RequirePackage{titlesec}
\titleformat{\section}       % Tilpas kommandoen \section
{\Large\scshape\raggedright} % Gør \section-overskrifterne store (\Large),
                             % med små versaler (\scshape) og venstrejusterede (\raggedright)
  {}{0em}            % Kan bruges til at give et præfiks til alle sektioner, som f.eks. 'Sektion ...'
  {}                 % Kan bruges til at indsætte kode før overskriften
  [\titlerule]       % Indsætter en vandret linje efter overskriften
  \titleformat{\subsection}
  {\large\scshape\raggedright}
  {}{0em}
  {}
\newcommand{\datedsection}[2]{%
  \section[#1]{#1 \hfill #2}%
}
\newcommand{\datedsubsection}[2]{%
  \subsection[#1]{#1 \hfill #2}%
}
```

Dette genererer følgende dokument:

![Figur 1.png](/files/aa425914143d44651d573dc9a08c542e072c51ba)

Den `#1` og `#2` henviser til det første og andet argument eller parameter, der sendes til kommandoen. På den første linje i en `\newcommand`, angiver sektionen i parenteser f.eks. `[2]` henviser til antallet af parametre, der sendes til funktionen. Funktionen kan derefter kalde disse parametre ved at bruge `#1`, `#2`, og så videre, afhængigt af hvor mange parametre funktionen krævede. Funktioner med flere parametre vises senere i artiklen.

Vi fortsætter ved at tilføje en navn- og kontaktsektion samt fortsætte med erfaringen og de andre sektioner.

### Navn og kontaktoplysninger

I et CV står navnet typisk øverst med kontaktoplysninger til jobsamtaler. Dette opnås ved at tilføje nye funktioner til vores klassefil. Navnet kan tilføjes med en simpel funktion:

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

Dette giver et centreret navn i stor skrift, hvor det end bruges. Dette kan kaldes sådan:

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

Nu til kontaktoplysninger. Tilføj følgende til klassefilen:

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

Kald derefter funktionen fra dokumentet:

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

Alt dette vises pænt med navn og kontaktoplysninger sådan her:

![Figur 2.png](/files/1c1c54b51a2cab9fb22e87373ee5e166889e0346)

Dette viser kontaktoplysninger pænt formateret med et punkttegn imellem. Dette kan justeres til længere adresser om nødvendigt ved at tilføje en anden funktion:

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

![Screenshot3.png](/files/99cf4b87650bb607ef89cca54292e54f60308269)

Det ser lidt mærkeligt ud med de korte oplysninger, men hvis en adresse er særligt lang, er det mere fleksibelt at bruge. Det bedste ved dette er, at TeX-dokumentet kræver minimale ændringer:

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

Det er hovedpointen ved at bruge klassefiler. At muliggøre minimale ændringer i dokumentets indhold og kontrollere præsentationen (hvordan indholdet vises) eksternt.

### Udvidelse af erfaringssektionen

Et CV bør have mere end blot en liste over jobs. Der bør tilføjes en beskrivelse af, hvad der blev lavet i jobbene, under hvert punkt. 3 punktopstillinger pr. job er en god balance mellem detalje og beskrivelse. Dette kan nemt justeres ved at tilføje eller fjerne punkter. Tilføj følgende til klassefilen:

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

Tilføj følgende til `.tex` fil:

```latex
\workitems
{Udviklede nyt produkt}
{Forbedrede produktiviteten med 20\%}
{Reducerede omkostningerne med \$10.000}
```

Nu ser erfaringssektionen lidt mere fyldig ud:

![Figur 4.png](/files/ce361b4ed3b5369d10c9081062485b08573e917f)

Ved at tilføje en færdighedssektion afrundes CV'et. Dette blev gjort uden en klassefunktion, da det ikke forkortede LaTeX-koden ret meget:

```latex
\section{Færdigheder}

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

Dette resulterer i følgende:

![Figur 5.png](/files/e2bbee1b4e46493bed0442408969ff822a2eebc4)

### Konklusion

Denne todelte artikel burde have efterladt dig med en meget grundlæggende CV-skabelon, klar til at blive udvidet med nye sektioner.

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
{Udviklede nyt produkt}
{Forbedrede produktiviteten med 20\%}
{Reducerede omkostningerne med \$10.000}

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

\end{document}
```

Dette resulterer i følgende dokument:

![Figur 6.png](/files/0879837ede00a682edd32262074508155e05b7d5)

Denne vejledning burde give et godt udgangspunkt for et CV med plads til udvidelse.

[Del 1](/latex/da/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/da/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.
