Ich erstelle mit der beamer
Klasse eine Präsentation. Angenommen, ich möchte Folgendes schreiben:
\begin{equation}
f(x)
\only<1>{= \cos(x)}
\only<2>{= 2\cos(x)}
\end{equation}
Ich habe ein Problem, weil die Gleichung auf Folie 2 länger ist und sich deshalb verschiebt. Wenn ich only
durch ersetze uncover
, entsteht auf Folie 2 ein Leerraum.
Ich habe das gleiche Problem mit der align
Umwelt
\begin{align}
f(x) &= \exp(x)\\
\only<2>{&= \cos(x)}
\only<3>{&= 2\cos(x)}
\end{align}
Wie kann ich einen Teil einer Gleichung durch etwas anderes ersetzen, ohne die Platzierung des anderen Teils der Gleichung zu ändern?
Bearbeiten
Ich werde genauer sein. Ich möchte einen effizienten Weg finden, die rechte Seite einer Gleichheit (für equation
oder align
) zu ersetzen, ohne zusätzliche Leerzeichen hinzuzufügen und so, dass das Gleichheitszeichen an derselben Stelle bleibt.
Zum Beispiel :
\begin{equation}
\cos(x) =
\somecommand<1>{\dfrac{\exp{ix}+\exp{-ix}}{2}}
\somecommand<2>{\sum_{n=0}^{\infty}\dfrac{(-1)^{n}}{2n+1}x^{2n+1}}
...
\somecommand<n>{some other equality with a given lenght}
\end{equation}
- Wenn dies der
\somecommand
Fall ist\only
, wird die gesamte Gleichheit von Folie 1 auf Folie 2 verschoben. - Wenn dies
\somecommand
der Fall ist\uncover
, entsteht auf Folie 2 ein Leerzeichen zwischen dem Gleichheitszeichen und der Taylor-Erweiterung. - Die Verwendung von
\hphantom
„mit“\alt
oder „ mit“\temporal
könnte eine Lösung sein, aber es scheint sehr kompliziert, es für mehr als zwei Folien zu verwenden.
Antwort1
Es gibt mehrere Möglichkeiten, dies zu tun. Hier ist eine, mit der Sie die fehlenden Werte in der kürzeren Gleichung \phantom{<stuff>}
auffüllen können:<stuff>
\documentclass{beamer}
\usepackage{amsmath}
\begin{document}
\begin{frame}
\frametitle{A frame}
\begin{equation}
f(x) =
\only<1>{\cos(x)\phantom{2}}
\only<2>{2\cos(x)}
\end{equation}
\end{frame}
\end{document}
Die Platzierung \phantom{<stuff>}
hängt davon ab, wie Sie den Inhalt untersuchen möchten. Sie können beispielsweise auch versuchen
f(x) = \alt<2>{2}{\phantom{2}}\cos(x)
Siehe auch \temporal
imbeamer
Dokumentation.
Bei größeren Konstruktionen ist das beste Angebot, das ich machen kann, das größte (horizontal und vertikal) Element im Gleichungssystem zu ermitteln, dieses in einem Makro zu speichern und ein weiteres Makro zur Platzanpassung zu verwenden:
\documentclass{beamer}
\usepackage{amsmath}
\newcommand{\inserteqstrut}[1]{%
\rlap{$\displaystyle#1$}%
\phantom{\biggesteq}}
\begin{document}
% Store biggest equation in set
\newcommand{\biggesteq}{\sum_{n=0}^{\infty}\dfrac{(-1)^{n}}{2n+1}x^{2n+1}}
\begin{frame}
\frametitle{A frame}
\begin{equation}
\cos(x) =
\only<1>{\inserteqstrut{\dfrac{\exp{ix}+\exp{-ix}}{2}}}
\only<2>{\inserteqstrut{\biggesteq}}
\only<3>{\inserteqstrut{\text{some equality}}}
\end{equation}
\end{frame}
\end{document}
Wenn Sie zwei separate Gleichungen haben, die das „größte“ ergeben, verwenden Sie eine Kombination aus \vphantom
(für das höchste/tiefste) und \hphantom
(für das breiteste/längste). Hier ist ein solches Beispiel:
\documentclass{beamer}
\usepackage{amsmath}
\newcommand{\inserteqstrut}[1]{%
\rlap{$\displaystyle#1$}%
\phantom{\biggesteq}}
\begin{document}
% Store biggest equation in set
\newcommand{\biggesteq}{%
\vphantom{\sum_{n=0}^{\infty}n}% tallest/deepest
\hphantom{\text{some other equality}}}% longest/widest
\begin{frame}
\frametitle{A frame}
\begin{equation}
\cos(x) =
\only<1>{\inserteqstrut{\tfrac{\exp{ix}+\exp{-ix}}{2}}}
\only<2>{\inserteqstrut{\sum_{n=0}^{\infty}n}}
\only<3>{\inserteqstrut{\text{some other equality}}}
\end{equation}
\end{frame}
\end{document}
Antwort2
Obwohl Werners Lösung eindeutig sauberer ist, finde ich, dass es manchmal eine schnelle und einfache Lösung ist, einfach etwas mehr Abstand in eines der alternativen Overlays einzufügen. Ich habe beispielsweise diesen Code verwendet:
\frame{
\frametitle{What: the Perron method}
We split coordinates $x = (x_+, x_-)$%
\uncover<2->{, change the initial time $t_0$ in the unstable part}
\uncover<3->{and let $t_0 \to \infty$}
\begin{alignat*}{2}
x_+(t) &\mapsto
\only<1 |handout:0>{e^{t\,A_+} \cdot x_+(0)\hspace{0.86cm}}
\only<2-3|handout:0>{e^{(t-\alert{t_0})\,A_+} \cdot x_+(\alert{t_0})}
\only<4- >{\qquad\alert{\ldots}\hspace{1.59cm}}
&& \only< -3|handout:0>{+}
\only<4- >{-\,}
\int_{\only<1 |handout:0>{0}
\only<2-3|handout:0>{\alert{\smash{t_0}}\!\!}
\only<4- >{t}}
^{\only<1-3|handout:0>{\smash{t}}
\only<4- >{\alert{\smash{\infty}}}\!\!\!\!}
e^{(t-\tau)\,A_+} \cdot r_+((x_+,x_-)(\tau)) \d\tau,\\
x_-(t) &\mapsto
e^{t\,A_-} \cdot x_-(0)
&&+\int_{0\,}^t e^{(t-\tau)\,A_-} \cdot r_-((x_+,x_-)(\tau)) \d\tau.
\end{alignat*}
\uncover<3->{%
We consider this rewritten map $T$ for bounded curves
$x \in B(\R;\R^n)$ only.
}
}
um Folie 7 von zu erstellendiese Beamer-Präsentation.
Antwort3
Ich habe mein Problem schließlich mit dieser Lösung gelöst (ich weiß, dass sie nicht mit meiner Frage übereinstimmt, weil ich equation
oder verwenden wollte align
).
\documentclass{beamer}
\usepackage{amsmath,amssymb}
\renewcommand*{\a}[1]{\hat a_{#1}^{\vphantom{\dagger}}}
\newcommand*{\ad}[1]{\hat a_{#1}^{\dagger}}
\renewcommand*{\c}[1]{\hat{c}_{#1}^{\vphantom{\dagger}}}
\newcommand*{\cd}[1]{\hat{c}_{#1}^{\dagger}}
\renewcommand*{\H}{\hat{H}}
\newcommand*{\T}{\hat{T}}
\newcommand*{\dsum}[1]{\displaystyle\sum_{#1}}
\newcommand*{\dsumd}[3]{\displaystyle\sum_{#1=#2}^{#3}}
\newcommand*{\dprod}[1]{\displaystyle\prod_{#1}}
\newcommand*{\dprodd}[3]{\displaystyle\prod_{#1=#2}^{#3}}
\newcommand*{\dbigotimesd}[3]{\displaystyle\bigotimes_{#1=#2}^{#3}}
\newcommand*{\dbigoplusd}[3]{\displaystyle\bigoplus_{#1=#2}^{#3}}
\newcommand*{\ket}[1]{\left|#1\right>}
\newcommand*{\ep}[1]{\left(#1\right)}
\renewcommand*{\vec}[1]{\mathbf{#1}}
\renewcommand*{\det}[1]{\mathrm{det}\ep{#1}}
\begin{document}
\begin{frame}
\begin{minipage}[h]{0.4\linewidth}
$
\T
\only<1>{= \dbigoplusd{\alpha}{1}{N}\hat{T}_{\alpha}}
\only<2-3>{= \dbigoplusd{\alpha}{1}{N}\hat{\vec{a}}^{\dagger}_{\alpha}T\hat{\vec{a}}^{\vphantom{\dagger}}_{\alpha}}
\only<4->{= \dbigoplusd{\alpha}{1}{N}\dsumd{i}{1}{n}\omega_{i\alpha}\cd{i\alpha}\c{i\alpha}}
$
\end{minipage}
\hfill
\begin{minipage}[h]{0.5\linewidth}
\uncover<3->{
\begin{align*}
\cd{i\alpha} &= \dsumd{j}{1}{n}U_{ji}^{\alpha}\ad{j\alpha} &
\omega_{i\alpha} &< \omega_{i+1\alpha}
\end{align*}
}
\end{minipage}
\uncover<5->{
$
\uncover<6->{\ket{\Psi_{G}}= }
\only<5->{\uncover<6->{\hat{P}_{G}^{m}}\ket{\Psi}}
\uncover<5->{=\uncover<6->{\hat{P}_{G}^{m}}\dbigotimesd{\alpha}{1}{N}\dprodd{i}{1}{mn/N}\alt<5-6>{\c{i\alpha}}{\dsumd{j}{1}{n}U_{ji}^{\alpha}\ad{j\alpha}}\ket{0}}
\only<10->{\equiv \dsum{\mathcal{C}}\det{U_{\mathcal{C}}}\ket{\mathcal{C}}}
$
}
\begin{center}
\uncover<8->{
$
\ket{\mathcal{C}} \equiv \dbigotimesd{\alpha}{1}{N}\dprodd{i}{1}{mn/N}\ad{i_{\alpha}\alpha}\ket{0}
$
}
\uncover<9->{
$
\dsumd{\alpha}{1}{N}\ad{i\alpha}\a{i\alpha}\ket{\mathcal{C}} = m
\qquad
\dsumd{i}{1}{n}\ad{i\alpha}\a{i\alpha}\ket{\mathcal{C}} = \dsumd{i}{1}{n}\ad{i\beta}\a{i\beta}\ket{\mathcal{C}}
$
}
\end{center}
\end{frame}
\end{document}
Ich hoffe, das kann jemand anderem helfen ...