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, 23:01

Cletus's gravatar image

Cletus
1.6k45666
Akzeptiert-Rate: 75%


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, 08:26

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 24 Okt '15, 13: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, 17: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, 13:07) saputello
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×138
×5
×2

gestellte Frage: 22 Okt '15, 23:01

Frage wurde gesehen: 7,455 Mal

zuletzt geändert: 24 Okt '15, 13:07