Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Drzewo genealogiczne w LaTeX-u

Na stronie głównej dobrychprogramów pojawiła się dziś informacja o nowej wersji stabilnej programu Drzewo Genealogiczne II. Zainspirowało mnie to do krótkiej notatki, wpisującej się w konwencję tego blogu.

W tym wpisie przedstawię w jaki sposób dodać proste drzewo genealogiczne do dokumentu napisanego w LaTeX-u. Jako przykład posłuży klan Pawlaków i Kargulów ze znanej komediowej trylogii Sylwestra Chęcińskiego.

Każdy dokument w LaTeX-u zaczynamy tradycyjnie od podania rodzaju dokumentu i kodownia znaków.

\documentclass{article} \usepackage[cp1250]{inputenc}

Jeśli zależy nam na obsłudze języka polskiego dodajemy następujące linie:

\usepackage[T1]{fontenc} \usepackage[polish]{babel}

W dalszej części preambuły dołączamy pakiety niezbędne do wykonania drzewa genealogicznego.

\usepackage{pstricks, pstcol, pst-node, pst-tree}

Następnie dodajemy wpisy odpowiedzialne za formatowanie drzewa:

\renewcommand\psedge{\nccurve} \psset{nodesep=1pt, angleA=90, angleB=-90}

Do drzewa dodawać będziemy imiona osób rodzaju żeńskiego (oznacznone tutaj jako Female) zapisane pochyłą czcionką \emph i znajdujące się na jasnoszarych (linecolor=lightgray) gałęziach oraz osoby rodzaju męskiego (Male) znajdujące się na czarnych (linecolor=black) gałęziach. Jest to najbardziej skomplikowana część tego opisu, ale można ją przyjąć bez wnikania w szczegóły.

\newcommand{\Female}[2][]{{\psset{linecolor=lightgray}\TR[#1]{\emph{#2}}}} \newcommand{\Male}[2][]{{\psset{linecolor=black}\TR[#1]{#2}}}

Następnie dodajemy imiona i/lub nazwiska do drzewa w podany sposób:

\begin{document} \pstree[treemode=U]{\Male{\bfseries Ania}}{% \pstree{\Male{Witia}}{% \pstree{\Male{Kazimierz}}{\Male{Kacper}\Female{Leonia}} \pstree{\Female{Mania}}{}} \pstree{\Female{Jadwiga}}{% \pstree{\Male{Władysław}}{} \pstree{\Female{Aniela}}{}}} \end{document}

Po skompilowaniu otrzymujemy następujące drzewo

Dokument zawierający opis i drzewo genealogiczne może wyglądać tak (plik PDF), a plik źródłowy można pobrać stąd.

Ps Opis fabuły filmu skopiowano z Wikipedii.

Uwaga: Aby skompilować dokument wykonujemy kolejno latex -> dvips -> ps2pdf. Dokument korzystający z pstricks nie da się skompilować bezpośrednio przy użyciu pdflatex.
 

Komentarze

0 nowych
XeonBloomfield   5 #1 23.03.2011 08:13

Proste i ładny efekt.

Gratuluje ciekawego wpisu.

  #2 23.03.2011 10:34

Raczej w LaTeX-ie nie w LaTeX-u.

Wasacz   6 #3 23.03.2011 10:41

Świetny wpis! Dzięki :)

GL1zdA   11 #4 23.03.2011 11:35

@sigma77
Raczej nie...

entat   5 #5 23.03.2011 12:06

@sigma77

W LaTeX-ie to możesz siedzieć pisząc w LaTeX`u:)

  #6 28.03.2011 10:50

To jakiś zabytek? Kodowanie `cp1250'? Windows 95? Od bardzo dawna jedynym sensownym jest utf-8.

iluzion   5 #7 29.03.2011 20:46

@mmm777

Gdyby edytory pod Windows domyślnie używały UTF-8... Niestety zwykle tak nie jest. Np. Texmaker ma po instalacji ustawione kodowanie "System", czyli w tym wypadku cp1250. Nic nie stoi na przeszkodzie, aby to użyć innego. Dla pliku wynikowego to bez znaczenia.