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.

r   e   k   l   a   m   a

\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