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

# Hur man skriver en LaTeX-klassfil och designar sitt eget CV (del 2)

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

**Författare: Cody Herring (juni 2013)**

Detta är en fortsättning på [Hur man skriver en LaTeX-klassfil och designar sitt eget CV (del 1)](/latex/sv/fler-amnen/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md), där vi går igenom fler alternativ för att skapa ett CV, och använder klassfiler för att göra det.

I det senaste inlägget skapade vi 2 filer: `cv.tex` och `my_cv.cls`. Innehållsfilen, `cv.tex`, innehöll följande:

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

`my_cv.cls` innehöll några standardinställningar för formatering, samt några kommandon att använda:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 custom CV class]
\LoadClass{article}
\RequirePackage{titlesec}
\titleformat{\section}       % Anpassa kommandot \section
{\Large\scshape\raggedright} % Gör \section-rubrikerna stora (\Large),
                             % små kapitäler (\scshape) och vänsterställda (\raggedright)
  {}{0em}            % Kan användas för att ge ett prefix till alla sektioner, som 'Sektion ...'
  {}                 % Kan användas för att infoga kod före rubriken
  [\titlerule]       % Infogar en horisontell linje efter rubriken
  \titleformat{\subsection}
  {\large\scshape\raggedright}
  {}{0em}
  {}
\newcommand{\datedsection}[2]{%
  \section[#1]{#1 \hfill #2}%
}
\newcommand{\datedsubsection}[2]{%
  \subsection[#1]{#1 \hfill #2}%
}
```

Detta genererar följande dokument:

![Figur 1.png](/files/9f0d3a326c109d2899a59c825d36512ee5737fa0)

Den `#1` och `#2` avser det första och andra argumentet eller parametern som skickas in i kommandot. På den första raden i en `\\newcommand`, avses avsnittet inom parentes, t.ex. `[2]` avser antalet parametrar som skickas in till funktionen. Funktionen kan sedan anropa dessa parametrar genom att använda `#1`, `#2`, och så vidare, beroende på hur många parametrar som krävdes av funktionen. Funktioner med fler parametrar kommer att visas senare i artikeln.

Vi fortsätter genom att lägga till ett namn- och kontaktavsnitt, samt fortsätta med erfarenhets- och andra avsnitt.

### Namn och kontaktinformation

I ett CV är namnet vanligtvis högst upp, med kontaktinformation för att söka jobb. Detta åstadkoms genom att lägga till nya funktioner i vår klassfil. Namnet kan läggas till med en enkel funktion:

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

Detta ger ett centrerat namn i stor stil där det används. Detta kan anropas så här:

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

Nu till kontaktinformationen. Lägg till följande i klassfilen:

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

Anropa sedan funktionen från dokumentet:

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

Allt detta visas snyggt, med namn och kontaktinformation så här:

![Figur 2.png](/files/e5043a19f1d135cf3b33e03a9acf5af8fe845dd2)

Detta visar kontaktinformation snyggt formaterad med ett punktavbrott emellan. Detta kan justeras för längre adresser vid behov genom att lägga till en andra funktion:

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

![Screenshot3.png](/files/2c8e8dd167f5f8c75de6c68c03e7a2ef3251cf1d)

Detta ser lite konstigt ut med den korta informationen, men om en adress är särskilt lång är det mer flexibelt att använda. Det bästa med detta är att TeX-dokumentet kräver minimala ändringar:

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

Detta är huvudpoängen med att använda klassfiler. Att möjliggöra minimala ändringar i dokumentets innehåll och styra presentationen (hur innehållet visas) externt.

### Utöka avsnittet om erfarenhet

Ett CV bör innehålla mer än bara en lista över jobb. En beskrivning av vad som gjordes i jobben bör läggas till under varje punkt. 3 punktlistor per jobb är en bra balans mellan detalj och beskrivning. Detta kan enkelt justeras genom att lägga till eller ta bort noder. Lägg till följande i klassfilen:

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

Lägg till följande i `.tex` fil:

```latex
\workitems
{Utvecklade en ny produkt}
{Förbättrade produktiviteten med 20\%}
{Minskade kostnaderna med \$10,000}
```

Nu ser erfarenhetsavsnittet lite fylligare ut:

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

Att lägga till ett färdighetsavsnitt rundar av meritförteckningen. Detta gjordes utan en klassfunktion, eftersom det inte förkortade LaTeX-koden särskilt mycket:

```latex
\section{Skills}

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

Detta resulterar i följande:

![Figur 5.png](/files/12158278752f61625ba514ae6cc0a033466a488f)

### Slutsats

Denna artikel i två delar bör ha gett dig en mycket grundläggande CV-mall, redo att utökas och få nya avsnitt tillagda.

Hela klassfilen är som följer:

```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 är som följer:

```latex
\documentclass{my_cv}
\begin{document}
\name{John Smith}
\contact{123 Broadway}{London}{UK 12345}{john@smith.com}{(000)-111-1111}
\section{Utbildning}
\datedsubsection{University of Nowhere}{2004-2008}
\section{Arbete}
\datedsubsection{ABC Limited}{2008-Now}
\workitems
{Utvecklade en ny produkt}
{Förbättrade produktiviteten med 20\%}
{Minskade kostnaderna med \$10,000}

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

\end{document}
```

Detta resulterar i följande dokument:

![Figur 6.png](/files/fc1a4273a17e90ab0ca81dbea132f8d5dbecd723)

Denna handledning bör ge en utmärkt utgångspunkt för ett CV, med utrymme för vidareutveckling.

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