Seite 1 von 1

newcommand in tabbing Umgebung (chronolog. Stammbaum)

Verfasst: Mo 18. Sep 2017, 16:28
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!

Verfasst: Mo 18. Sep 2017, 17:19
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.

Verfasst: Mo 18. Sep 2017, 17:38
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.