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

# Πώς να γράψετε ένα αρχείο κλάσης LaTeX και να σχεδιάσετε το δικό σας βιογραφικό (Μέρος 2)

[Μέρος 1](/latex/el/perissotera-themata/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md) | Μέρος 2

**Συγγραφέας: Cody Herring (Ιούνιος 2013)**

Αυτό είναι η συνέχεια του [Πώς να γράψετε ένα αρχείο κλάσης LaTeX και να σχεδιάσετε το δικό σας βιογραφικό (Μέρος 1)](/latex/el/perissotera-themata/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md), εξετάζοντας περισσότερες επιλογές για τη δημιουργία ενός βιογραφικού και χρησιμοποιώντας αρχεία κλάσης γι' αυτό.

Στην προηγούμενη ανάρτηση, δημιουργήθηκαν 2 αρχεία: `cv.tex` και `my_cv.cls`. Το αρχείο περιεχομένων, `cv.tex`, περιείχε τα εξής:

```latex
\documentclass{my_cv}
\begin{document}
\section{Εκπαίδευση}
\datedsubsection{University of Nowhere}{2004-2008}
\section{Εργασία}
\datedsubsection{ABC Limited}{2008-Τώρα}
\end{document}
```

`my_cv.cls` περιείχε κάποιες προεπιλογές μορφοποίησης, καθώς και ορισμένες εντολές για χρήση:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 προσαρμοσμένη κλάση βιογραφικού]
\LoadClass{article}
\RequirePackage{titlesec}
\titleformat{\section}       % Προσαρμόστε την εντολή \section
{\Large\scshape\raggedright} % Κάνει τις επικεφαλίδες \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}%
}
```

Αυτό δημιουργεί το ακόλουθο έγγραφο:

![Εικόνα 1.png](/files/cdec4f612f792cf631aa5a5d9f13bb48437e7848)

Η `#1` και `#2` αναφέρεται στο πρώτο και δεύτερο όρισμα ή παράμετρο που περνιέται στην εντολή. Στην πρώτη γραμμή ενός `\newcommand`, η ενότητα σε παρενθέσεις π.χ. `[2]` αναφέρεται στον αριθμό των παραμέτρων που περνιούνται στη συνάρτηση. Η συνάρτηση μπορεί στη συνέχεια να καλεί αυτές τις παραμέτρους χρησιμοποιώντας `#1`, `#2`, και ούτω καθεξής, ανάλογα με το πόσες παράμετροι απαιτούνταν από τη συνάρτηση. Συναρτήσεις με περισσότερες παραμέτρους θα παρουσιαστούν αργότερα στο άρθρο.

Θα συνεχίσουμε προσθέτοντας μια ενότητα ονόματος και επικοινωνίας, καθώς και συνεχίζοντας με την εμπειρία και τις άλλες ενότητες.

### Όνομα και στοιχεία επικοινωνίας

Σε ένα βιογραφικό, το όνομα βρίσκεται συνήθως στην κορυφή, με τα στοιχεία επικοινωνίας για τις προσλήψεις. Αυτό θα επιτευχθεί προσθέτοντας νέες συναρτήσεις στο αρχείο κλάσης μας. Το όνομα μπορεί να προστεθεί χρησιμοποιώντας μια απλή συνάρτηση:

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

Αυτό παράγει ένα κεντραρισμένο όνομα με μεγάλα γράμματα όπου κι αν χρησιμοποιείται. Μπορεί να κληθεί ως εξής:

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

Τώρα, για τα στοιχεία επικοινωνίας. Προσθέστε τα ακόλουθα στο αρχείο κλάσης:

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

Στη συνέχεια καλέστε τη συνάρτηση από το έγγραφο:

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

Όλα αυτά εμφανίζονται όμορφα, με το όνομα και τα στοιχεία επικοινωνίας ως εξής:

![Εικόνα 2.png](/files/878d4f3f60b4211767756cd864260854ce8203d9)

Αυτό εμφανίζει τα στοιχεία επικοινωνίας με ωραία μορφοποίηση, με μια παύλα στη μέση. Αυτό μπορεί να προσαρμοστεί για μεγαλύτερες διευθύνσεις αν χρειάζεται, προσθέτοντας μια δεύτερη συνάρτηση:

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

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

Αυτό φαίνεται λίγο παράξενο με τις σύντομες πληροφορίες, αλλά αν μια διεύθυνση είναι ιδιαίτερα μεγάλη, είναι πιο ευέλικτο να χρησιμοποιηθεί. Το καλύτερο σε αυτό είναι ότι το έγγραφο TeX απαιτεί ελάχιστες αλλαγές:

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

Αυτό είναι το βασικό πλεονέκτημα της χρήσης αρχείων κλάσης. Επιτρέπουν ελάχιστες αλλαγές στο περιεχόμενο του εγγράφου και ελέγχουν εξωτερικά την παρουσίαση (τον τρόπο εμφάνισης του περιεχομένου).

### Επέκταση της ενότητας Εμπειρία

Ένα βιογραφικό δεν πρέπει να έχει μόνο μια λίστα με θέσεις εργασίας. Κάποια περιγραφή του τι έγινε στις δουλειές θα πρέπει να προστεθεί κάτω από κάθε στοιχείο. 3 κουκκίδες ανά θέση είναι μια καλή ισορροπία λεπτομέρειας και περιγραφής. Αυτό μπορεί εύκολα να προσαρμοστεί προσθέτοντας ή αφαιρώντας κόμβους. Προσθέστε τα ακόλουθα στο αρχείο κλάσης:

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

Προσθέστε τα ακόλουθα στο `.tex` αρχείο σας:

```latex
\workitems
{Ανέπτυξε νέο προϊόν}
{Βελτίωσε την παραγωγικότητα κατά 20\%}
{Μείωσε τα κόστη κατά \$10,000}
```

Τώρα η ενότητα εμπειρίας δείχνει λίγο πιο πλήρης:

![Εικόνα 4.png](/files/e47f57a48081114df98d69d542f5b5da73aa43a9)

Η προσθήκη μιας ενότητας δεξιοτήτων ολοκληρώνει το βιογραφικό. Αυτό έγινε χωρίς συνάρτηση κλάσης, καθώς δεν μείωσε πολύ τον κώδικα LaTeX:

```latex
\section{Δεξιότητες}

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

Αυτό έχει ως αποτέλεσμα τα εξής:

![Εικόνα 5.png](/files/ffe0cc1e910679d4f0cc50e1dc2a6a4ee8a6951a)

### Συμπέρασμα

Αυτό το άρθρο δύο μερών θα πρέπει να σας έχει αφήσει με ένα πολύ βασικό πρότυπο βιογραφικού, έτοιμο για επέκταση και προσθήκη νέων ενοτήτων.

Ολόκληρο το αρχείο κλάσης έχει ως εξής:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[6/6/2013 προσαρμοσμένη κλάση βιογραφικού]
\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}%
}
```

Η `.tex` το αρχείο έχει ως εξής:

```latex
\documentclass{my_cv}
\begin{document}
\name{John Smith}
\contact{123 Broadway}{London}{UK 12345}{john@smith.com}{(000)-111-1111}
\section{Εκπαίδευση}
\datedsubsection{University of Nowhere}{2004-2008}
\section{Εργασία}
\datedsubsection{ABC Limited}{2008-Τώρα}
\workitems
{Ανέπτυξε νέο προϊόν}
{Βελτίωσε την παραγωγικότητα κατά 20\%}
{Μείωσε τα κόστη κατά \$10,000}

\section{Δεξιότητες}
\begin{tabular}{l l l l}
C\# & T-SQL & Javascript & HTML \\
XML & JSON & SOAP & REST
\end{tabular}

\end{document}
```

Αυτό έχει ως αποτέλεσμα το ακόλουθο έγγραφο:

![Εικόνα 6.png](/files/45f79e424b2c585ab156bc329d5bd8b510c00e12)

Αυτό το σεμινάριο θα πρέπει να δώσει ένα εξαιρετικό σημείο εκκίνησης για ένα βιογραφικό, με περιθώριο για επέκταση.

[Μέρος 1](/latex/el/perissotera-themata/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md) | Μέρος 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/el/perissotera-themata/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.
