Zeilen in Tabellen ein- und ausblenden (ifthenelse)

Tabellen und Grafiken erstellen und anordnen


T.Schoener
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Di 13. Jan 2015, 20:07

Zeilen in Tabellen ein- und ausblenden (ifthenelse)

Beitrag von T.Schoener »

Hallo Gemeinde,

ich habe ein kleines Problem mit einer Tabelle die ich dynamisch gestalten möchte. Durch Auswahl verschiedener Eingabeparameter werden Zeilen dargestellt oder ausgeblendet.

Anbei ein kleines Beispiel:
\tablehead{\textbf{Type} & \textbf{Content Type}& \textbf{Item Description}\\}
\tabletail{}

\begin{supertabular}{|p{3cm}|p{4cm}|p{9cm}|}

\ifthenelse{\equal{\Eingabe1}{A}} { A & A & A\\} {} 
\ifthenelse{\equal{\Eingabe2}{B}} { B & B & B\\} {} 
\ifthenelse{\equal{\Eingabe3}{C}} { C & C & C\\} {} 

 & & \\   %<==== diese Zeile muss ich eingeben sonst bekomme ich eine Fehlermeldung

\end{supertabular}

\tablehead{}
\tabletail{}
Da eine Tabelle nur mit \\ beendet werden darf habe ich die letzte Zeile eingefügt. Damit erzeuge ich mir aber immer eine Leerzeile zum Schluss.

Die {} werden ja scheinbar nicht als "gar nichts" erkannt und überschreiben mir ein vorhergehendes \\.

Weiss jemand Rat?

Danke
Tobi

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Bitte erstelle immer vollständige Minimalbeispiele.

Du kannst den Zeilenumbruch auch immer erst vor der Ausgabe der Zeile durchführen lassen.
\documentclass{article}
\usepackage{supertabular}
\usepackage{ifthen}

\newcommand\EingabeI{A}
\newcommand\EingabeII{B}
\newcommand\EingabeIII{X}

\begin{document}
\begin{supertabular}{|p{3cm}|p{4cm}|p{2cm}|}
  Eins&Zwei&Drei
  \ifthenelse{\equal{\EingabeI}{A}}{\\A & A & A}{}%
  \ifthenelse{\equal{\EingabeII}{B}}{\\B & B & B}{}% 
  \ifthenelse{\equal{\EingabeIII}{C}}{\\C & C & C}{}% 
  \\
\end{supertabular}
\end{document}
Der Einfachheit halber habe ich mal angenommen, dass in der ersten Zeile, vor der ja dann kein Umbruch erfolgen darf. immer der gleiche Text steht. Falls das nicht so ist, muss Du noch sicherstellen, dass der Zeilenumbruch nur erfolgt, wenn es sich nicht um die erste Zeile in der Tabelle handelt.

Gruß
Elke

T.Schoener
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Di 13. Jan 2015, 20:07

Beitrag von T.Schoener »

Perfekt! Vielen Dank.. und Sorry für den nicht vollständigen Code.

Antworten