我正在使用 进行演示,并beamer
尝试使用 进行underbrace{}{}
演示。我使用代码\textcolor{}{}
\only<>
\documentclass{beamer}
\usepackage{bm}
% Just some newcommands.
\newcommand{\msum}[2][]{\sum \limits_{#2}^{#1}}
\newcommand{\norm}[1]{\left|\left|{#1}\right|\right|}
\newcommand{\nqb}[1]{{#1}^{\perp}}
\newcommand{\nqj}[1]{\check{#1}}
\newcommand{\textblack}[1]{\textcolor{black}{#1}}
\newcommand{\textb}[1]{\textcolor{blue}{#1}}
\newcommand{\textg}[1]{\textcolor{green}{#1}}
\newcommand{\textr}[1]{\textcolor{red}{#1}}
\newcommand{\textw}[1]{\textcolor{white}{#1}}
\begin{document}
\begin{frame}
\only<1>
{
\[
\nqj{\psi}_j:=\textw{\underbrace{\textblack{\psi_j}}_{\bm{g}}
\textblack{-}
\underbrace{\textblack{\msum[j-1]{k=1}(\psi_j,\nqb{\psi}_k)\nqb{\psi}_k}}_{\bm{h}}},
\quad\nqb{\psi}_j:=\dfrac{\nqj{\psi}_j}{\norm{\nqj{\psi}_j}}
\]
}
\only<2->
{
\[
\nqj{\psi}_j:=\textblack{\underbrace{\textblack{\psi_j}}_{\bm{g}}
\textblack{-}
\underbrace{\textblack{\msum[j-1]{k=1}(\psi_j,\nqb{\psi}_k)\nqb{\psi}_k}}_{\bm{h}}},
\quad\nqb{\psi}_j:=\dfrac{\nqj{\psi}_j}{\norm{\nqj{\psi}_j}}
\]
}
\end{frame}
\end{document}
其中我只更改了部分文本的颜色。尽管如此,查看生成的两张幻灯片,内容还是发生了一些变化。我该如何避免这种情况?或者是否有更好的方法让\underbrace
s 出现?
解决方案如下:使用 \only<#> 更改文本颜色会导致间距问题我相信,这行不通。
答案1
这不是颜色的问题。使用相同颜色,垂直偏移也很明显。但现在\vfill
稳定了方程。(没有图片,但可以很容易地验证)。
\documentclass{beamer}
\usepackage{bm}
\usepackage{color}
% Just some newcommands.
\newcommand{\msum}[2][]{\sum \limits_{#2}^{#1}}
\newcommand{\norm}[1]{\left|\left|{#1}\right|\right|}
\newcommand{\nqb}[1]{{#1}^{\perp}}
\newcommand{\nqj}[1]{\check{#1}}
\newcommand{\textblack}[1]{\textcolor{black}{#1}}
\newcommand{\textb}[1]{\textcolor{blue}{#1}}
\newcommand{\textg}[1]{\textcolor{green}{#1}}
\newcommand{\textr}[1]{\textcolor{red}{#1}}
\newcommand{\textw}[1]{\textcolor{white}{#1}}
\begin{document}
\begin{frame}
\only<1>
{
\[
\nqj{\psi}_j:=\textw{\underbrace{\textblack{\psi_j}}_{\bm{g}}
\textblack{-}
\underbrace{\textblack{\msum[j-1]{k=1}(\psi_j,\nqb{\psi}_k)\nqb{\psi}_k}}_{\bm{h}}},
\quad\nqb{\psi}_j:=\dfrac{\nqj{\psi}_j}{\norm{\nqj{\psi}_j}}
\]
\vfill }
\only<2->
{
\[
\nqj{\psi}_j:=\textblack{\underbrace{\textblack{\psi_j}}_{\bm{g}}
\textblack{-}
\underbrace{\textblack{\msum[j-1]{k=1}(\psi_j,\nqb{\psi}_k)\nqb{\psi}_k}}_{\bm{h}}},
\quad\nqb{\psi}_j:=\dfrac{\nqj{\psi}_j}{\norm{\nqj{\psi}_j}}
\]
\vfill }
\end{frame}
\end{document}
答案2
您可以使用\color
而不是\textcolor
。 主要优点是 具有\color
叠加感知功能,这意味着您无需重复文本即可获得相同的结果:您可以使用{\color<1>{white} text...}
仅在第一个叠加层上将文本着色为白色。
并且作为一个很好的副作用(可能是一些魔法),内容不再在覆盖之间移动。
\documentclass{beamer}
\usepackage{bm}
% Just some newcommands.
\newcommand{\msum}[2][]{\sum \limits_{#2}^{#1}}
\newcommand{\norm}[1]{\left|\left|{#1}\right|\right|}
\newcommand{\nqb}[1]{{#1}^{\perp}}
\newcommand{\nqj}[1]{\check{#1}}
\newcommand{\textblack}[1]{\textcolor{black}{#1}}
\newcommand{\textb}[1]{\textcolor{blue}{#1}}
\newcommand{\textg}[1]{\textcolor{green}{#1}}
\newcommand{\textr}[1]{\textcolor{red}{#1}}
\newcommand{\textw}[1]{\textcolor{white}{#1}}
\begin{document}
\begin{frame}
\[
\nqj{\psi}_j:={\color<1>{white}\color<2>{black}\underbrace{\textblack{\psi_j}}_{\bm{g}}
\textblack{-}
\underbrace{\textblack{\msum[j-1]{k=1}(\psi_j,\nqb{\psi}_k)\nqb{\psi}_k}}_{\bm{h}}},
\quad\nqb{\psi}_j:=\dfrac{\nqj{\psi}_j}{\norm{\nqj{\psi}_j}}
\]
\end{frame}