Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

10 Feb '15, 15:58

esdd's gravatar image

esdd
17.8k304257

Im konkreten Fall wäre es tatsächlich das einfachste, den Spaltentyp für die erste Spalte zu wechseln, wie @saputello das schon vorgeschlagen hat. Aber in der ersten Spalte könnte ja auch mehr Text stehen, der tatsächlich umbrochen werden müsste. Die Zellen von `p`-Spalten werden als `\parbox` mit der Option `t` gesetzt. Steht ganz am Anfang einer solchen Box ein `\onslide`, dann wird der eigentliche Inhalt erst in der zweiten Zeile ausgegeben. Den genauen Grund für dieses Verhalten kenne ich nicht, aber es lässt sich verhindern, wenn man sich vor dem `\onslide` schon im horizontalen Modus befindet. Das kann man durch ein vorangestelltes `\leavevmode` oder `\hspace{0pt}` oder `\mbox{}` erreichen. \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{array} \begin{document} \begin{frame} Anfang \fbox{\parbox[t]{5cm}{\onslide<2->{Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. }}} Ende \vfill Anfang \fbox{\parbox[t]{5cm}{\leavevmode\onslide<2->{Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. }}} Ende \end{frame} \end{document} ![alt text][1] Wenn man das in der Tabelle umsetzen will, würde ich das Paket `array` und die erste Spalte als `>{\leavevmode}p{5mm}` >{\leavevmode}p{5mm} definieren. Das signifikante Leerzeichen am Ende der Tabellenzeile lässt sich verhindern, wenn Du das Argument von `\onslide` schon vor dem Umbruch der Tabellenzeile beendest: \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{array} \begin{document} \begin{frame} \begin{tabular}{>{\leavevmode}p{5mm}>{\leavevmode}p{5cm}|p{5cm}} 1. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \onslide<2->{2. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$}\\ \onslide<3->{3. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$}\\ \onslide<4->{4. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$}\\ \end{tabular} \end{frame} \end{document} ![alt text][2] Wenn die `\onslide` Befehle direkt aneinander anschließen, kannst Du auch auf die geschweiften Klammern verzichten: \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{array} \begin{document} \begin{frame} \begin{tabular}{>{\leavevmode}p{5mm}p{5cm}|p{5cm}} 1. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \onslide<2->2. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \onslide<3->3. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \onslide<4->4. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \end{tabular} \end{frame} \end{document} Und wenn die Tabelle zeilenweise aufgedeckt werden soll, kannst Du die erste Spalte auch als `>{\leavevmode\onslide<+->}p{5mm}` als >{\leavevmode\onslide<+->}p{5mm} definieren und Dir damit Schreibarbeit sparen: \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{array} \begin{document} \begin{frame} \begin{tabular}{>{\leavevmode\onslide<+->}p{5mm}p{5cm}|p{5cm}} 1. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ 2. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ 3. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ 4. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \end{tabular} \end{frame} \end{document} [1]: http://texwelt.de/wissen/upfiles/tw_opb1.png [2]: http://texwelt.de/wissen/upfiles/tw_opb2.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

10 Feb '15, 15:55

esdd's gravatar image

esdd
17.8k304257

Im konkreten Fall wäre es tatsächlich das einfachste, den Spaltentyp für die erste Spalte zu wechseln, wie @saputello das schon vorgeschlagen hat. Aber in der ersten Spalte könnte ja auch mehr Text stehen, der tatsächlich umbrochen werden müsste. Die Zellen von `p`-Spalten werden als `\parbox` mit der Option `t` gesetzt. Steht ganz am Anfang einer solchen Box ein `\onslide`, dann wird der eigentliche Inhalt erst in der zweiten Zeile ausgegeben. Den genauen Grund für dieses Verhalten kenne ich nicht, aber es lässt sich verhindern, wenn man sich vor dem `\onslide` schon im horizontalen Modus befindet. Das kann man durch ein vorangestelltes `\leavevmode` oder `\hspace{0pt}` oder `\mbox{}` erreichen. \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{array} \begin{document} \begin{frame} Anfang \fbox{\parbox[t]{5cm}{\onslide<2->{Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. }}} Ende \vfill Anfang \fbox{\parbox[t]{5cm}{\leavevmode\onslide<2->{Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. }}} Ende \end{frame} \end{document} ![alt text][1] Wenn man das in der Tabelle umsetzen will, würde ich das Paket `array` und die erste Spalte als `>{\leavevmode}p{5mm}` definieren. Das signifikante Leerzeichen am Ende der Tabellenzeile lässt sich verhindern, wenn Du das Argument von `\onslide` schon vor dem Umbruch der Tabellenzeile beendest: \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{array} \begin{document} \begin{frame} \begin{tabular}{>{\leavevmode}p{5mm}>{\leavevmode}p{5cm}|p{5cm}} 1. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \onslide<2->{2. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$}\\ \onslide<3->{3. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$}\\ \onslide<4->{4. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$}\\ \end{tabular} \end{frame} \end{document} ![alt text][2] Wenn die `\onslide` Befehle direkt aneinander anschließen, kannst Du auch auf die geschweiften Klammern verzichten: \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{array} \begin{document} \begin{frame} \begin{tabular}{>{\leavevmode}p{5mm}p{5cm}|p{5cm}} 1. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \onslide<2->2. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \onslide<3->3. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \onslide<4->4. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \end{tabular} \end{frame} \end{document} Und wenn die Tabelle zeilenweise aufgedeckt werden soll, kannst Du auch die erste Spalte auch als `>{\leavevmode\onslide<+->}p{5mm}` definieren und Dir damit Schreibarbeit sparen: \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{array} \begin{document} \begin{frame} \begin{tabular}{>{\leavevmode\onslide<+->}p{5mm}p{5cm}|p{5cm}} 1. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ 2. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ 3. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ 4. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\ \end{tabular} \end{frame} \end{document} [1]: http://texwelt.de/wissen/upfiles/tw_opb1.png [2]: http://texwelt.de/wissen/upfiles/tw_opb2.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

10 Feb '15, 15:53

esdd's gravatar image

esdd
17.8k304257