Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen
Mike00
Beitrag
von Mike00 » Mo 18. Sep 2017, 16:28
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!
u_fischer
Forum-Meister
Beiträge: 4267 Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:
Beitrag
von u_fischer » Mo 18. Sep 2017, 17:19
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 » Mo 18. Sep 2017, 17:38
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.