PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabellenproblem



LuPi
07-02-2012, 13:38
Bei der folgenden Tabelle habe ich - wieder einmal - ein kleines Problem:
Nach der letzten Zeile wird noch eine Zelle gesetzt, die ich nun wirklich
nicht haben möchte. Ich habe jetzt zwar einiges getestet, es ist mir aber
leider nicht gelungen, selbige zu entfernen. Wo liegt mein Fehler?


\documentclass[table]{beamer}
\usepackage{tabularx}
\begin{document}
\begin{frame}{Gegenüberstellung der Varianten}
\vspace{\baselineskip}
{\renewcommand{\arraystretch}{1.35}%
\arrayrulecolor{green}%
\setlength{\arrayrulewidth}{1.5pt}%
\rowcolors[]{1}{cyan!33}{cyan!67}
\color{red}%
\begin{tabularx}{\linewidth}{lXX}
\hline
\rowcolor{red}%
\color{cyan!50}Kriterium & \textcolor{cyan!50}{Variante A} & \textcolor{cyan!50}{Variante B} \\
\hline\color{red}
Konzept & \scalebox{0.95}[1]{Flächenabdeckung} & Nachführung \visible<2->{\\
Anzahl Sender & viele & ein bis zwei }\visible<3->{\\
\scalebox{0.95}[1]{Entwicklungsaufwand/-dauer} & hoch & mittel }\visible<4->{\\
Lebenszykluskosten & hoch & mittel }\visible<5->{\\
simultane Ziele & mehrere & eins }\visible<6->{\\
Flexibilität & gering & hoch \\
\hline}
\end{tabularx}
}
\end{frame}
\end{document}

hakaze
07-02-2012, 15:13
When you wish to uncover a table line-by-line, you will run into all sorts of problems if there are vertical and horizontal lines in the table. The reason is that the first vertical line at the left end is drawn before the line is even read (and thus, in particular, before any \onslide command can be read). However, placing a \pause or \uncover at the end of the line before is also not helpful since it will then suppress the horizontal line below the last uncovered line.So wie ich das verstehe "sieht" beamer bei pause nicht die hline als zugehörig. und wenn man eine Klammerung mit visible oder onslide macht, nimmt der Algorithmus eine neue Zeile an.

Ist die letzte Linie denn so wichtig? Oder kannst du auch darauf verzichten?

Durch die eingefärbten Zeilen hast du ja schon eine gewisse optische Orientierung erreicht.

LuPi
07-02-2012, 15:26
Ist die letzte Linie denn so wichtig? Oder kannst du auch darauf verzichten?

Durch die eingefärbten Zeilen hast du ja schon eine gewisse optische Orientierung erreicht.

Naja, prinzipiell sicherlich schon. Auf der anderen Seite hätte ich den
Tabellenkopf gerne durch entsprechende Linien noch einmal hervorgehoben
(dafür eine dritte Farbe möchte ich vermeiden, es ist so schon bunt genug;
aber keine Angst, die Farben sind hier nur zum Spielen) und dann fehlt am
Tabellenfuß das Gegengewicht.

Eine Alternative könnte am Schluss so aussehen:


simultane Ziele & mehrere & eins }\visible<6->{\\
Flexibilität & gering & hoch}
\\\hline
\end{tabularx}


Das führt dazu, dass die untere Linie ständig sichtbar ist. Das ist mir aber
gar nicht so unrecht, denn dann hat der Betrachter schon eine Ahnung,
wieviel auf ihn zukommt. Mal schauen, vielleicht kann ich mich damit
anfreunden.

u_fischer
07-02-2012, 15:33
Alternativ könntest du zusätzliche Zeile auch einfach weiß färben:


\visible<6->{\\
Flexibilität & gering & hoch \\
\hline\rowcolor{white}}

LuPi
07-02-2012, 15:42
Prinzipiell eine gute Idee, aber wenn Du genau hinschaust, wirst Du
feststellen, dass das Weiße einen Teil der darüberliegenden \hline
überdeckt. Natürlich nur ein kleiner Schönheitsfehler, aber als LaTeXy
neigt man mit der Zeit doch zum Perfektionismus ... ;)

hakaze
08-02-2012, 07:18
Ich finde Ulrikes Lösung sehr clever. Wenn du die weiße Zeile noch aufüllst, fällt dieser Überlapp auf die hline auch nicht mehr auf:

\visible<6->{\\
Flexibilität & gering & hoch \\
\hline\rowcolor{white} & & }

LuPi
08-02-2012, 07:59
Jepp, fungschjonierd bestens. Solange ich nicht direkt darunter Text
(Fußnoten o. Ä.) platzieren möchte, ist dass eine gute Lösung.

Besten Dank Euch Beiden!

Anschlussfrage: Kann ich eigentlich die Höhe einer (leeren) Zeile reduzieren?