Seite 1 von 1

Makro für Tabellen benötigt

Verfasst: Do 5. Mai 2022, 14:53
von HeeroYuy
Hallo zusammen,

ich brauche etwas Hilfe. Ich sitze an einem Maschinenhandbuch mit weit über 10k Zeilen Code in unterschiedlichen Tex Files. Jetzt muss ich alles überprüfen aufgrund von Änderungen am Layout und es gibt viele Abschnitte, die sich immer wieder wiederholen und sich nur minimal ändern.

Hier z.B.:
\begin{longtable}{C{0.1\NetTableWidthTWO} M{0.9\NetTableWidthTWO}}
	\newline \includegraphics[height=1.5cm]{\warning} &
	\danger{Gefahr}\newline 
	\textbf{Unmittelbare Gefährdung....}\newline
	{\small INFOTEXT}
\end{longtable}
Sieht am Ende so aus:
Screenshot 2022-05-05 145047.png
Hier wird die Tabelle quasi dreimal wiederholt nur mit anderem Text. Wenn ich nun global am Layout was ändern muss, muss ich jede Tabelle durchgehen. Das ist echt mies bei so vielen Zeilen.

Kann ich in der Präambel ein Makro erstellen, was mir die obige Tabelle (o.ä. Tabellen) generiert und ich nur als Argument die Texte übergeben muss? Sowas wie
\macroTable{Gefahr}{Unmittelbare Gefährdung...}{INFOTEXT}
und \macroTable ist in der Präambel definiert und ich muss nur ein Mal dort was ändern, was im gesamten Dokument angepasst wird.

Re: Makro für Tabellen benötigt

Verfasst: Do 5. Mai 2022, 18:15
von KOMA
\newcommand in jeder beliebigen LaTeX-Einführung oder \NewDocumentCommand in der xparse-Anleitung. Ich würde das übrigens nicht als Tabelle, sondern als Liste machen, wenn ein Seitenumbruch im Text möglich sein soll. Das sollte einfach mit der labeling-Umgebung von KOMA-Script oder mit enumitem zu realisieren sein. Für Warnkästen käme aber auch tcolorbox in Frage.

Außer den genannten Dingen solltest Du in den Spielregeln nachlesen, wie im Fall von Crossposts zu verfahren ist. So wie Du es bisher machst, ist es nämlich unfair den Helfen und anderen Suchenden gegenüber.

Re: Makro für Tabellen benötigt

Verfasst: Do 5. Mai 2022, 19:35
von HeeroYuy
Danke für die Info.
Also würde ich einfach
\newcommand{\macroTable}[HEADER][SUBHEADER][INFOTEXT]{\begin{longtable}...\end{longtable}} 
deklarieren?

und im Dokument dann
\macroTable{GEFAHR}{Unmittelbare Gefährdung...}{Infotext blabla} 
schreiben?

und den Crosspost bei LaTeX.org hab ich gelöscht.