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

# Kuinka kirjoittaa LaTeX-luokkatiedosto ja suunnitella oma CV:si (osa 2)

[Osa 1](/latex/fi/lisaa-aiheita/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md) | Osa 2

**Tekijä: Cody Herring (kesäkuu 2013)**

Tämä on jatkoa [Kuinka kirjoittaa LaTeX-luokkatiedosto ja suunnitella oma ansioluettelosi (osa 1)](/latex/fi/lisaa-aiheita/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md), käymme läpi lisää vaihtoehtoja CV:n luomiseen ja käytämme siihen luokkatiedostoja.

Edellisessä kirjoituksessa loimme 2 tiedostoa: `cv.tex` ja `my_cv.cls`. Sisältötiedosto, `cv.tex`, sisälsi seuraavat:

```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` sisälsi joitakin oletusmuotoiluja sekä joitakin käytettäviä komentoja:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 räätälöity CV-luokka]
\LoadClass{article}
\RequirePackage{titlesec}
\titleformat{\section}       % Mukauta \section-komentoa
{\Large\scshape\raggedright} % Tee \section-otsikoista suuret (\Large),
                             % pienaakkosilla (\scshape) ja vasemmalle tasatut (\raggedright)
  {}{0em}            % Voidaan käyttää etuliitteen antamiseen kaikille osioille, kuten 'Osio ...'
  {}                 % Voidaan käyttää koodin lisäämiseen ennen otsikkoa
  [\titlerule]       % Lisää vaakasuora viiva otsikon jälkeen
  \titleformat{\subsection}
  {\large\scshape\raggedright}
  {}{0em}
  {}
\newcommand{\datedsection}[2]{%
  \section[#1]{#1 \hfill #2}%
}
\newcommand{\datedsubsection}[2]{%
  \subsection[#1]{#1 \hfill #2}%
}
```

Tämä tuottaa seuraavan asiakirjan:

![Kuva 1.png](/files/8126af1833c177ce566e528e57b3ee7463f72367)

Se `#1` ja `#2` viittaavat komentoon välitettävään ensimmäiseen ja toiseen argumenttiin tai parametriin. Ensimmäisellä rivillä `\newcommand`, hakasulkeissa oleva osio, esim. `[2]` viittaa funktioon välitettävien parametrien määrään. Funktio voi sitten kutsua näitä parametreja käyttämällä `#1`, `#2`, ja niin edelleen riippuen siitä, kuinka monta parametria funktio tarvitsi. Enemmän parametreja sisältävät funktiot näytetään myöhemmin artikkelissa.

Jatkamme lisäämällä nimi- ja yhteystieto-osion sekä jatkamalla kokemuksen ja muiden osioiden kanssa.

### Nimi ja yhteystiedot

CV:ssä nimi on tyypillisesti ylhäällä, ja yhteystiedot työpaikkahakemuksia varten. Tämä toteutetaan lisäämällä luokkatiedostoomme uusia funktioita. Nimi voidaan lisätä yksinkertaisella funktiolla:

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

Tämä tuottaa keskitetyn, isokokoisen nimen aina kun sitä käytetään. Tätä voidaan kutsua esimerkiksi näin:

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

Seuraavaksi yhteystiedot. Lisää seuraava luokkatiedostoon:

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

Kutsu sitten funktiota dokumentista:

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

Kaikki tämä näyttää hyvältä, ja nimi ja yhteystiedot näkyvät näin:

![Kuva 2.png](/files/5b758dded4f5eb8556115c4dceea1bcfbc1a1547)

Tämä näyttää yhteystiedot siististi muotoiltuina, ja niiden välissä on luettelopiste. Tätä voidaan säätää pidempiä osoitteita varten tarvittaessa lisäämällä toinen funktio:

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

![Screenshot3.png](/files/48cc42b0a72d8f9d314cb227e748e08d4f95e27c)

Tämä näyttää hieman oudolta lyhyiden tietojen kanssa, mutta jos osoite on erityisen pitkä, sitä on joustavampi käyttää. Parasta tässä on, että TeX-dokumenttiin tarvitaan vain vähän muutoksia:

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

Tämä on luokkatiedostojen käytön pääajatus. Sen avulla dokumentin sisällön muutokset voidaan pitää vähäisinä ja esitystapaa (miten sisältö näytetään) ohjata ulkoisesti.

### Kokemus-osion laajentaminen

CV:ssä pitäisi olla enemmän kuin pelkkä lista työpaikoista. Kunkin kohdan alle pitäisi lisätä jonkinlainen kuvaus siitä, mitä töissä tehtiin. Kolme luettelokohtaa per työpaikka on hyvä tasapaino yksityiskohtien ja kuvauksen välillä. Tätä voidaan helposti säätää lisäämällä tai poistamalla solmuja. Lisää seuraava luokkatiedostoon:

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

Lisää seuraava `.tex` tiedostoon:

```latex
\workitems
{Kehitettiin uusi tuote}
{Tuottavuutta parannettiin 20\%}
{Kustannuksia vähennettiin \$10,000}
```

Nyt kokemus-osio näyttää hieman täyteläisemmältä:

![Kuva 4.png](/files/07379216b7e4f4ef221c8a02a3bf6b3da7403a09)

Taitoja käsittelevän osion lisääminen viimeistelee ansioluettelon. Tämä tehtiin ilman luokkafunktiota, koska se ei lyhentänyt LaTeX-koodia paljoakaan:

```latex
\section{Taidot}

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

Tämä tuottaa seuraavan:

![Kuva 5.png](/files/eaa222af1c3e7f48839c72947a7a376212f6d593)

### Yhteenveto

Tämän kaksiosaisen artikkelin pitäisi jättää sinulle hyvin perus CV-pohja, joka on valmis laajennettavaksi ja uusien osioiden lisäämiseen.

Koko luokkatiedosto on seuraava:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 räätälöity CV-luokka]
\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}%
}
```

Se `.tex` tiedosto on seuraava:

```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
{Kehitettiin uusi tuote}
{Tuottavuutta parannettiin 20\%}
{Kustannuksia vähennettiin \$10,000}

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

\end{document}
```

Tämä tuottaa seuraavan asiakirjan:

![Kuva 6.png](/files/51b2f3d5bb75cd9a183921c0a8e56e74ce186e7d)

Tämän ohjeen pitäisi antaa erinomainen lähtökohta CV:lle, ja siinä on tilaa laajentaa.

[Osa 1](/latex/fi/lisaa-aiheita/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md) | Osa 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/fi/lisaa-aiheita/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.
