5
1

In einer beamer-Präsentation sollen die Zeilenumformungen einer Matrix schrittweise eingeblendet werden. Bei der unten gezeigten Variante wird jedoch die schließende Klammer der Matrix erst eine Folie zu spät eingeblendet. Wie kann das verhindert werden?

Open in Online-Editor
\documentclass{beamer}
\usepackage{amsmath}
\usepackage{gauss}

\begin{document}

\begin{frame}{Zeilenoperation auf einer Matrix}

\begin{align*}
& \onslide<2->{\begin{gmatrix}[p]
1 & 5 & 3 & 2 \\ -1 & 6 & 8 & -4
\onslide<3->{\rowops \add{0}{1}}
\end{gmatrix}} \\[1ex]
& \onslide<4->{\begin{gmatrix}[p]
1 & 5 & 3 & 2 \\ 0 & 11 & 11 & -2
\onslide<5->{\rowops \mult{1}{:11}}
\end{gmatrix}}
\end{align*}
\end{frame}

\end{document}

gefragt 22 Okt '15, 17:01

Cletus's gravatar image

Cletus
995226
Akzeptiert: 71%


Das Problem ist, dass \onslide auch auf den anderen Folien, den Inhalt unsichtbar setzt. Leider ist die schließende Klammer bei gmatrix Teil dieses unsichtbaren Inhalts, wenn \rowops oder \colops verwendet werden, weil die Klammer dann nicht erst von \end{gmatrix}, sondern bereits von diesen Anweisungen ausgegeben werden muss.

Die Lösung ist in diesem Fall recht einfach: Man verwendet nicht \onslide, sondern \only für die Spalten- und Zeilenoperationen. Diese werden dann tatsächlich nur auf den angegebenen slides ausgegeben und auf den anderen auch nicht als unsichtbares Material gesetzt. Da damit auf den entsprechenden Seiten gar keine \rowops vorhanden sind, wird die Klammer wieder von \end{gmatrix} ausgegeben und ist damit sichtbar.

Open in Online-Editor
\documentclass{beamer}
\usepackage{amsmath}
\usepackage{gauss}

\begin{document}

\begin{frame}{Zeilenoperation auf einer Matrix}

\begin{align*}
& \onslide<2->{%
    \begin{gmatrix}[p]%
    1 & 5 & 3 & 2 \\ -1 & 6 & 8 & -4
    \only<3->{\rowops\add{0}{1}}%<-- Änderung
    \end{gmatrix}%
  }%
\\[1ex]
& \onslide<4->{%
    \begin{gmatrix}[p]
    1 & 5 & 3 & 2 \\ 0 & 11 & 11 & -2
    \only<5->{\rowops \mult{1}{:11}}%<-- Änderung
    \end{gmatrix}%
  }
\end{align*}
\end{frame}

\end{document}

Als Beispiel Seite 4, da sie die meiste Aussagekraft für das Beispiel hat:

Beispielausgabe Seite 4

Wenn der Hintergrund weiß ist, kann man sich mit etwas bedingter Farbe behelfen:

Open in Online-Editor
\documentclass{beamer}
\usepackage{amsmath}
\usepackage{gauss}

\begin{document}

\begin{frame}{Zeilenoperation auf einer Matrix}

\begin{align*}
& \onslide<2->{%
    \begin{gmatrix}[p]%
    1 & 5 & 3 & 2 \\ -1 & 6 & 8 & -4
    \rowops\only<-2>{\color{white}}\add{0}{1}%<-- Änderung
    \end{gmatrix}%
  }%
\\[1ex]
& \onslide<4->{%
    \begin{gmatrix}[p]
    1 & 5 & 3 & 2 \\ 0 & 11 & 11 & -2
    \rowops\only<-4>{\color{white}}\mult{1}{:11}%<-- Änderung
    \only<5>{}%<-- Damit auch noch eine 5. Seite produziert wird.
    \end{gmatrix}%
  }
\end{align*}
\end{frame}

\end{document}

Für Seiten mit nicht weißem Hintergrund scheint auch folgendes zu funktionieren:

Open in Online-Editor
\documentclass{beamer}
\usepackage{amsmath}
\usepackage{gauss}

\begin{document}

\begin{frame}{Zeilenoperation auf einer Matrix}

\begin{align*}
& \onslide<2->{%
    \begin{gmatrix}[p]%
    1 & 5 & 3 & 2 \\ -1 & 6 & 8 & -4
    \rowops\only<-2>\phantom{\add{0}{1}}%<-- Änderung
    \end{gmatrix}%
  }%
\\[1ex]
& \onslide<4->{%
    \begin{gmatrix}[p]
    1 & 5 & 3 & 2 \\ 0 & 11 & 11 & -2
    \rowops\only<-4>\phantom{\mult{1}{:11}}%<-- Änderung
    \only<5>{}%<-- Damit auch noch eine 5. Seite produziert wird.
    \end{gmatrix}%
  }
\end{align*}
\end{frame}

\end{document}

Auch dabei treten weder horizontale noch vertikale Sprünge auf. Ob das allerdings für alle Operationen funktioniert, kann ich nicht garantieren. Der Trick hierbei ist, dass \only<…> sich nur auf die Anweisung \phantom und nicht auf deren Argument, also die Zeilenoperationen bezieht. Also werden die Zeilenoperationen nur auf den Seiten 2 bzw. 4 phantomisiert.

Permanenter link

beantwortet 23 Okt '15, 02:26

saputello's gravatar image

saputello
18.4k22352

bearbeitet 24 Okt '15, 07:06

Das funktioniert, führt aber zu unschönen horizontalen Sprüngen, sobald eine neue Zeilenoperation eingeblendet wird. Für meinen Fall konnte ich das durch Ersetzung von \begin{align*}...\end{align*} durch $\begin{aligned}...\end{aligned}$ lösen, da hierdurch die Zentrierung der gesamten Formel entfällt.

(23 Okt '15, 11:58) Cletus

@Cletus: Siehe die beiden Alternativen für weißen und nicht weißen Hintergrund, bei denen keine Sprünge auftreten.

(24 Okt '15, 07:07) saputello
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×94
×4
×2

Frage gestellt: 22 Okt '15, 17:01

Frage wurde angeschaut: 1,396 Mal

Zuletzt aktualisiert: 24 Okt '15, 07:07