Wrzesień
10
2009

CV w LaTeX – tabele

Słowa kluczowe: , , , , | Kategorie: TeX i LaTeX
No Gravatar

Już prawie skończyłem résumé – pozostały jedynie tabele.

Plik cv.cls

Dane osobowe (takie jak adres, telefon, data urodzenia, adres email…) umieszczone są zazwyczaj w prostej tabeli, zawierającej dwie kolumny – opisy i wartości poszczególnych danych. Dla takich tabel utworzę nowe środowisko cvtabular, będące uszczegółownieniem środowiska tabular:

% Tabela opis-wartość:
\newenvironment{cvtabular}{
  \begin{tabular}{l p{13cm}}
}{
  \end{tabular}
}
\newcommand\cvtabularentry[2]{\textbf{#1} & #2 \\}

cv.cls – przed \endinput

Dla środowiska tabular zdefiniowany został dodatkowy parametr (l p{13cm}) – układ tabeli. Wartość ta oznacza, że pierwsza kolumna będzie wyrównana do lewej strony (l), podczas gdy druga będzie zawierać tekst zajmujący wiele linii (p), o szerokości 13 cm.

W tabeli poszczególne komórki oddzielone są znakami &. Natomiast kolejne wiersze tabeli należy rozgraniczyć znakami \\.

Dlaczego definiuję tak proste komendy i środowiska? Popatrzmy na różnicę pomiędzy zwykłą tabelą, a cvtabular:

% Zwykła tabela:
\begin{tabular}{l p{13cm}}
  \textbf{Imię i~nazwisko} &
  Grzegorz Brzęczyszczykiewicz \\
  \textbf{Telefon} &
  000~00~00~00 \\
\end{tabular}

% Tabela cvtabular:
\begin{cvtabular}
  \cvtabularentry{
    Imię i~nazwisko}{
    Grzegorz Brzęczyszczykiewicz}
  \cvtabularentry{
    Telefon}{
    000~00~00~00}
\end{cvtabular}

Zwykła tabela i odpowiadająca jej cvtabular

Jeżeli będę chciał wartości zapisać inną czcionką, to w pierwszym przypadku muszę to zrobić dla każdego wiersza po kolei. Korzystając z cvtabular muszę jedynie dostosować definicję komendy \cvtabularentry.

Ukończone szkoły i uczelnie, zatrudnienie, szkolenia mają jedną wspólną cechę – trwają od… do… Właśnie dla tego typu informacji umieszczanych w CV postanowiłem utworzyć odrębne środowisko cvperiods:

% Tabela od-do-opis:
\newenvironment{cvperiods}{
  \begin{tabular}{c@{ -- }c p{13cm}}
}{
  \end{tabular}
}
\newcommand\cvperiodsentry[3]{#1 & #2 & #3 \\}

cv.cls – przed \endinput

Jest to tabela podobna do cvtabular, jedak występują tu trzy kolumny. Dwie pierwsze zawierają wyśrodkowany tekst (c) i są oddzielone myślnikiem (@{ -- }) – posłużą do przechowywania czasu rozpoczęcia i zakończenia okresu zatrudnienia czy nauki.

Jednak polecenie \cvperiodsentry jest dość ogólne. Dlatego zdefiniuję kilka dodatkowych, które posłużą do konkretnych zastosowań:

% Wyspecjalizowane wpisy do tabeli od-do-opis:
% Doświadczenie zawodowe:
\newcommand\cvexperienceentry[6]{
  \cvperiodsentry{#1}{#2}{
    #3 -- #4,\newline
    \textbf{#5},\newline
    \emph{obowi\k{a}zki:} #6
  }
}
% Studia:
\newcommand\cvstudiesentry[8]{
  \cvperiodsentry{#1}{#2}{
    \textbf{#3},\newline
    Wydzia\l{} #4,\newline
    kierunek: #5,\newline
    specjalno\'{s}\'{c}: #6,\newline
    temat pracy magisterskiej: \emph{#7}\newline
    #8
  }
}
% Szkoła:
\newcommand\cvschoolentry[5]{
  \cvperiodsentry{#1}{#2}{
    \textbf{#3},\newline
    profil #4\newline #5
  }
}
% Szkolenie:
\newcommand\cvtrainingentry[4]{
  \cvperiodsentry{#1}{#2}{
    \textbf{#3},\newline
    organizator: #4
  }
}

cv.cls – przed \endinput

Pokrótce opiszę ich działanie:

\cvexperienceentry

Wyświetla okres zatrudnienia dla parametrów: od, do, nazwa firmy, miejscowość, stanowisko, obowiązki. Wydruk powinien wyglądać następująco:

OD – DO NAZWA FIRMY – MIEJSCOWOŚĆ,

stanowisko,

obowiązki: OBOWIĄZKI
\cvstudiesentry

Dodaje wpis dotyczący studiów, opisanych parametrami: od, do, uczelnia, wydział, kierunek, specjalność, temat pracy magisterskiej, uwagi:

OD – DO UCZELNIA,

Wydział WYDZIAŁ,

kierunek: KIERUNEK,

specjalność: SPECJALNOŚĆ,

temat pracy magisterskiej: TEMAT PR. MGR

UWAGI
\cvschoolentry

Stosunkowo prosty wiersz tabeli zawierający informacje o edukacji w szkole: od, do, szkoła, profil, uwagi:

OD – DO SZKOŁA,

profil PROFIL
UWAGI
\cvtrainingentry

Dopisuje do tabeli szkolenie, przyjmując parametry: od, do, nazwa szkolenia, organizator:

OD – DO NAZWA SZKOLENIA,

organizator: ORGANIZATOR

Na samym końcu ustalę rozmiar odstępu pomiędzy poszczególnymi kolumnami tabel – w przeciwnym wypadku byłby on równy 0:

% Odstęp między kolumnami tabel:
\setlength\tabcolsep{0.2cm}

cv.cls – przed \endinput

Plik cv.tex

Nadeszła pora na wypełnienie ostatnich pustych działów résumé. Najpierw dane osobowe:

\section{Dane osobowe}
\begin{cvtabular}
  \cvtabularentry{Imię i~nazwisko}{
    Grzegorz Brzęczyszczykiewicz}
  \cvtabularentry{Adres}{
    ul.~Krótka~1024\newline 93-000~Łódź}
  \cvtabularentry{Email}{
    grzegorz@‍brzeczyszczykiewicz.pl}
\end{cvtabular}

cv.tex – dział Dane osobowe

Następnie dodaję doświadczenie zawodowe:

\section{Doświadczenie zawodowe}
\begin{cvperiods}
  \cvexperienceentry{VII~2003}{XII~2008}{
    Geeks~Inc.}{Łódź}{
    programista~PHP}{
    tworzenie i~konserwacja stron internetowych}
\end{cvperiods}

cv.tex – dział Doświadczenie zawodowe

Wykształcenie zawiera zarówno studia (\cvstudiesentry), jak i szkoły (\cvschoolentry):

\section{Wykształcenie}
\begin{cvperiods}
  \cvstudiesentry{X~1998}{VI~2003}{
    Politechnika Łódzka}{
    Elektrotechniki, Elektroniki, Informatyki i~Automatyki}{
    Informatyka}{Sieci}{
    Tworzenie sklepów internetowych}{
    ukończone z~tytułem magistra-inżyniera}
  \cvschoolentry{IX~1994}{VI~1998}{
    I~Liceum Ogólnokształcące w~Łodzi}{
    matematyczno-informatyczny}{
    osiągnięcia w~olimpiadach matematycznych}
\end{cvperiods}

cv.tex – dział Wykształcenie

Na sam koniec zostawiłem szkolenia:

\section{Szkolenia}
\begin{cvperiods}
  \cvtrainingentry{I~2005}{IV~2005}{
    Programowanie obiektowe w~PHP}{Geeks~Inc.}
\end{cvperiods}

cv.tex – dział Szkolenia

Podsumowanie

Tak oto zakończyłem omawianie tworzenia nowej klasy dokumentów – CV jest gotowe. Teraz wystarczy wpisać własne dane i można składać podanie o pracę.

Napisz Komentarz

*