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

# Wie man eine LaTeX-Klassendatei schreibt und seinen eigenen Lebenslauf gestaltet (Teil 2)

[Teil 1](/latex/de/weitere-themen/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md) | Teil 2

**Autor: Cody Herring (Juni 2013)**

Dies ist eine Fortsetzung von [Wie man eine LaTeX-Klassendatei schreibt und seinen eigenen Lebenslauf gestaltet (Teil 1)](/latex/de/weitere-themen/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md), wobei weitere Optionen zum Erstellen eines Lebenslaufs behandelt werden und dabei Klassendateien verwendet werden.

Im letzten Beitrag hatten wir 2 Dateien erstellt: `cv.tex` und `my_cv.cls`. Die Inhaltsdatei, `cv.tex`, enthielt Folgendes:

```latex
\documentclass{my_cv}
\begin{document}
\section{Ausbildung}
\datedsubsection{University of Nowhere}{2004-2008}
\section{Berufserfahrung}
\datedsubsection{ABC Limited}{2008-Heute}
\end{document}
```

`my_cv.cls` enthielt einige Standardformatierungen sowie einige Befehle zur Verwendung:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 benutzerdefinierte CV-Klasse]
\LoadClass{article}
\RequirePackage{titlesec}
\titleformat{\section}       % Passe den \section-Befehl an
{\Large\scshape\raggedright} % Die \section-Überschriften groß (\Large),
                             % in Kapitälchen (\scshape) und linksbündig (\raggedright)
  {}{0em}            % Kann verwendet werden, um allen Abschnitten ein Präfix zu geben, wie 'Abschnitt ...'
  {}                 % Kann verwendet werden, um Code vor der Überschrift einzufügen
  [\titlerule]       % Fügt nach der Überschrift eine horizontale Linie ein
  \titleformat{\subsection}
  {\large\scshape\raggedright}
  {}{0em}
  {}
\newcommand{\datedsection}[2]{%
  \section[#1]{#1 \hfill #2}%
}
\newcommand{\datedsubsection}[2]{%
  \subsection[#1]{#1 \hfill #2}%
}
```

Dies erzeugt das folgende Dokument:

![Abbildung 1.png](/files/3b371c0ded2f9123efeb23ad259ddc5d03c602a5)

Die `#1` und `#2` beziehen sich auf das erste und zweite Argument bzw. den Parameter, die an den Befehl übergeben werden. In der ersten Zeile eines `\newcommand`, steht der Abschnitt in Klammern, z. B. `[2]` bezieht sich auf die Anzahl der Parameter, die an die Funktion übergeben werden. Die Funktion kann diese Parameter dann über `#1`, `#2`aufrufen, und so weiter, je nachdem, wie viele Parameter von der Funktion benötigt wurden. Funktionen mit mehr Parametern werden später im Artikel gezeigt.

Wir machen weiter, indem wir einen Namen und einen Kontaktabschnitt hinzufügen und außerdem mit dem Erfahrungs- und anderen Abschnitten fortfahren.

### Name und Kontaktinformationen

In einem Lebenslauf steht der Name typischerweise oben, mit Kontaktinformationen für Jobanfragen. Dies wird erreicht, indem wir unserer Klassendatei neue Funktionen hinzufügen. Der Name kann mit einer einfachen Funktion hinzugefügt werden:

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

Dies erzeugt einen zentrierten Namen in großer Schrift, wo immer er verwendet wird. Aufgerufen werden kann dies etwa so:

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

Nun zu den Kontaktinformationen. Fügen Sie Folgendes zur Klassendatei hinzu:

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

Dann rufen Sie die Funktion aus dem Dokument auf:

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

All dies wird schön dargestellt, mit dem Namen und den Kontaktinformationen etwa so:

![Abbildung 2.png](/files/73fa35a18c073814f53e129f173c69541c4602be)

Dies zeigt die Kontaktinformationen schön formatiert mit einem Aufzählungspunkt dazwischen an. Falls nötig, kann dies für längere Adressen angepasst werden, indem eine zweite Funktion hinzugefügt wird:

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

![Screenshot3.png](/files/947dce9c2e6a8ca1801005a6592f7546d470753b)

Dies sieht mit den kurzen Informationen etwas seltsam aus, aber wenn eine Adresse besonders lang ist, ist es flexibler. Das Beste daran ist, dass das TeX-Dokument nur minimale Änderungen erfordert:

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

Das ist der Hauptzweck von Klassendateien: minimale Änderungen am Inhalt des Dokuments zu ermöglichen und die Darstellung (wie der Inhalt angezeigt wird) extern zu steuern.

### Den Erfahrungsabschnitt erweitern

Ein Lebenslauf sollte mehr enthalten als nur eine Auflistung von Jobs. Unter jedem Eintrag sollte eine Beschreibung der dort geleisteten Arbeit stehen. Drei Aufzählungspunkte pro Job sind ein guter Kompromiss zwischen Detailtiefe und Beschreibung. Dies lässt sich leicht anpassen, indem Knoten hinzugefügt oder entfernt werden. Fügen Sie Folgendes zur Klassendatei hinzu:

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

Fügen Sie Folgendes zur `.tex` Datei legen:

```latex
\workitems
{Neues Produkt entwickelt}
{Produktivität um 20\% gesteigert}
{Kosten um \$10.000 gesenkt}
```

Jetzt wirkt der Erfahrungsabschnitt etwas vollständiger:

![Abbildung 4.png](/files/d73df59dc36287b83e00771eee64d8e699e9b41c)

Das Hinzufügen eines Kompetenzabschnitts rundet den Lebenslauf ab. Dies wurde ohne eine Klassenfunktion gemacht, da dadurch der LaTeX-Code nicht viel kürzer wurde:

```latex
\section{Kompetenzen}

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

Dies ergibt Folgendes:

![Abbildung 5.png](/files/3a66dcb014db7a5fa1ec121f158ab83169498f7e)

### Fazit

Dieser zweiteilige Artikel sollte Ihnen eine sehr grundlegende Lebenslaufvorlage hinterlassen haben, die bereit ist, erweitert und um neue Abschnitte ergänzt zu werden.

Die gesamte Klassendatei lautet wie folgt:

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

Die `.tex` Datei lautet wie folgt:

```latex
\documentclass{my_cv}
\begin{document}
\name{John Smith}
\contact{123 Broadway}{London}{UK 12345}{john@smith.com}{(000)-111-1111}
\section{Ausbildung}
\datedsubsection{University of Nowhere}{2004-2008}
\section{Berufserfahrung}
\datedsubsection{ABC Limited}{2008-Heute}
\workitems
{Neues Produkt entwickelt}
{Produktivität um 20\% gesteigert}
{Kosten um \$10.000 gesenkt}

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

\end{document}
```

Dies ergibt das folgende Dokument:

![Abbildung 6.png](/files/bc9c510af293e5e80e169d9508ed3bda3c3e4e9f)

Dieses Tutorial sollte einen großartigen Ausgangspunkt für einen Lebenslauf bieten, mit Raum für Erweiterungen.

[Teil 1](/latex/de/weitere-themen/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md) | Teil 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/de/weitere-themen/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.
