newcommand in tabbing Umgebung (chronolog. Stammbaum)

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Mike00

newcommand in tabbing Umgebung (chronolog. Stammbaum)

Beitrag von Mike00 »

Hallo,

ich möchte einen chronologischen Stammbaum erstellen wobei jede Generation um eine weitere Tabulator Position eingerückt ist. Für jede Person verwende ich genealogische Symbole sowie die Jahreszahlen für Geburt, Heirat und Tod. Die Personen einer Familie werden noch zusätzlich mit waagrechten und senkrechten Strichen verbunden.
Nun muss es doch mit \newcommand möglich sein sich für jede Person nötige Befehlsstruktur in einem extra Befehl zu definieren. Der Befehl hat also mehrere Argumente die ich übergebe: Tabulatoren, genealogische Symbole und Jahreszahlen. Ich krieg das einfach nicht gebacken mit den neun Befehl, vorallem mit der unterschiedlichen Anzahl der Tabulatoren.


\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[all]{genealogytree}

\begin{document}
	
	\section{Chronologischer tabellarischer Stammbaum}
	\subsection{Die Fichtinger Familie}
	
	\begin{tabbing}
	\hspace{2em} \= \hspace{2em} \= \hspace{2em} \= \hspace{2em} \= \hspace{2em} \= \hspace{2em} \= \hspace{2em} \hspace{2em} \hspace{2em} \= \hspace{2em} \= \hspace{2em}  \hspace{2em}\hspace{2em} \= \hspace{2em} \= \hspace{2em} \hspace{2em} \hspace{2em} \= \hspace{2em} \= \kill	
	
Hans FICHTINGER \\
\> \vline \rule{4mm}{0.15mm} {Adam FICHTINGER (\gtrsymBorn ca. 1620 - \gtrsymDied1662)} \\
\> \vline \rule{4mm}{0.15mm} \gtrsymMarried(1644) Rosina SCHILLER (\gtrsymBorn ca. 1628 - \gtrsymDied 1688) \\
\> \> \vline \rule{4mm}{0.15mm} Gotthard FICHTINGER (\gtrsymBorn1644 - \gtrsymDied1720) \\
\> \> \vline \rule{4mm}{0.15mm} Maria FICHTINGER (\gtrsymBorn1647 - \gtrsymDied 1694) \\
\> \> \vline \rule{4mm}{0.15mm} Martin FICHTINGER (\gtrsymBorn1656 - \gtrsymDied1726) \\
\> \> \vline \rule{4mm}{0.15mm} \gtrsymMarried(16xx) Elisabeth UNB. (\gtrsymBorn16xx - \gtrsymDied17xx) \\
\> \> \> \vline \rule{4mm}{0.15mm} Maria FICHTINGER (\gtrsymBorn1683 - \gtrsymDied1720) \\

\end{tabbing}

\end{document}
Ich bin für jede Hilfe dankbar!

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Nun, die Sachen mit den Tabulatoren und Strichen könntest du so machen:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[all]{genealogytree}
\usepackage{expl3}
\ExplSyntaxOn
\newcommand\gen[2]
 {
  \int_step_inline:nnnn{2}{1}{#1}{\>} 
  \int_compare:nF { 0 = #1 }
  { \vline \rule{4mm}{0.15mm}\c_space_tl }
  #2
 }


\ExplSyntaxOff

\begin{document}

   \section{Chronologischer tabellarischer Stammbaum}
   \subsection{Die Fichtinger Familie}

   \begin{tabbing}
   \hspace{2em} \= \hspace{2em} \= \hspace{2em} \= \hspace{2em} \= \hspace{2em} \= \hspace{2em} \= \hspace{2em} \hspace{2em} \hspace{2em} \= \hspace{2em} \= \hspace{2em}  \hspace{2em}\hspace{2em} \= \hspace{2em} \= \hspace{2em} \hspace{2em} \hspace{2em} \= \hspace{2em} \= \kill

Hans FICHTINGER \\
\> \vline \rule{4mm}{0.15mm} {Adam FICHTINGER (\gtrsymBorn ca. 1620 - \gtrsymDied1662)} \\
\> \vline \rule{4mm}{0.15mm} \gtrsymMarried(1644) Rosina SCHILLER (\gtrsymBorn ca. 1628 - \gtrsymDied 1688) \\
\> \> \vline \rule{4mm}{0.15mm} Gotthard FICHTINGER (\gtrsymBorn1644 - \gtrsymDied1720) \\
\> \> \vline \rule{4mm}{0.15mm} Maria FICHTINGER (\gtrsymBorn1647 - \gtrsymDied 1694) \\
\> \> \vline \rule{4mm}{0.15mm} Martin FICHTINGER (\gtrsymBorn1656 - \gtrsymDied1726) \\
\> \> \vline \rule{4mm}{0.15mm} \gtrsymMarried(16xx) Elisabeth UNB. (\gtrsymBorn16xx - \gtrsymDied17xx) \\
\> \> \> \vline \rule{4mm}{0.15mm} Maria FICHTINGER (\gtrsymBorn1683 - \gtrsymDied1720) \\
\gen{4}{Maria FICHTINGER (\gtrsymBorn1683 - \gtrsymDied1720)}\\
\gen{5}{Maria FICHTINGER (\gtrsymBorn1683 - \gtrsymDied1720)}\\
\gen{0}{Max Fichtinger}
\end{tabbing}

\end{document}

Die anderen Argumente schaffst du bestimmt selbst.

Mike00

Beitrag von Mike00 »

Hallo,

ich habe einmal ein Minimalbsp. dazu erstellt wie ich mir dies vorstelle:
\documentclass{article}
\newcommand*\hsp{\hspace*{2em}}

\begin{document}

\begin{tabbing}

\hsp \=\hsp \=\hsp \=\hsp \=\hsp \=\hsp \=\hsp \= \kill
\newcommand\Linien{\> \vline \rule{4mm}{0.15mm}}
\newcommand{\TABeins}{\Linien}
\newcommand{\TABzwei}{\> \Linien}
\TABeins Position 1 \\
\TABzwei Position 2
\\
\\
1a \> 2a \> 3a \\
1b \> 2b \> 3b 
\end{tabbing}

\end{document}
Bei TABzwei ein Fehler: "undefined control sequence"

u-fischer: ich bin erst seit ein paar Wochen an dem Latex Thema dabei; Dein Vorschlag ist für mich etwas kryptisch, muss ich mir noch etwas hineinknien; ich meine ich brauche ein bisschen Zeit um dies zu verstehen, geschweige Deine Ausführungen weiter zu stricken. Vorerst herzlichen Dank.

Antworten