我想制作一张beamer
包含几个方程的幻灯片,并标记最后一个方程的各个部分。我使用叠加层来实现这一点,因此每次只添加一个方程,并且只标记最后一个方程。
我尝试过一种方法,每次编译文件时,标签的位置都会发生变化。具体来说,每次编译时,标签都会\vspace{0.05cm}
向上或\vspace{-0.05cm}
向下移动,具体取决于标签是在方程式上方还是下方。我希望这些标签停止自行移动。编译文件约 20 次,您会看到巨大的变化。
我有时也遇到方程式不完全对齐的问题。在下面的例子中,“Max”与方程式的其余部分不对齐。
\documentclass[professionalfonts, smaller]{beamer}
\usetheme{CambridgeUS}
\usepackage{tikz}
\usepackage{iwona}
\usepackage{amsmath}
\usepackage{mathtools}
\usetikzlibrary{arrows,shapes}
\DeclareMathOperator*{\Max}{Max}
\begin{document}
\tikzstyle{every picture}+=[remember picture]
\everymath{\displaystyle}
\begin{frame}
\frametitle{Slide Title}
\tikzstyle{na} = [baseline=-.5ex]
\vspace{1cm}
\hspace{0.0cm} Comment on x \tikz[na] \node[coordinate] (n1) {};
\hspace{1.25cm} \tikz[na] \node[coordinate] (n2) {}; Comment on p(x)
\vspace{0.0cm}
\begin{equation*}
\hspace{-4.5cm}
\tikz[overlay, remember picture, baseline]{
\node[anchor=base](t1){$\Max\limits_x$};
}
\tikz[overlay, remember picture, baseline]{
\node[anchor=base, right of=t1, node distance=30pt](t2){$L(x) =$};
}
\tikz[overlay, remember picture, baseline)]{
\node[anchor=base, right of=t2, node distance=35pt](t3){$p(x) +$};
}
\tikz[overlay, remember picture, baseline)]{
\node[anchor=base, right of=t3, node distance=29pt](t4){$\gamma d(x)$};
}
\end{equation*}
\vspace{0.4cm}
\hspace{0cm} Comment on L(x) \tikz[na]\node [coordinate] (n3) {}; \hspace{1.5cm} Comment on \tikz[na]\node [coordinate] (n4) {}; d(x)
\begin{tikzpicture}[overlay]
\path[->](n1) edge [bend left] (t1);
\path[->](n2) edge [bend right] (t3);
\path[->](n3) edge [bend right] (t2);
\path[->](n4) edge [bend right] (t4);
\end{tikzpicture}
\end{frame}
\end{document}
答案1
好的,我对文件进行了相当多的精简,但我认为这里有一些更接近你想要的内容:
\documentclass{beamer}
\usetheme{CambridgeUS}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes}
\DeclareMathOperator*{\Max}{Max}
\tikzstyle{every picture}+=[remember picture]
\newcommand\na[1]{\tikz[baseline=-.5ex]{\node[coordinate] (#1) {};}}
\newcommand\ta[2]{\tikz[baseline]{\node[anchor=base] (#1) {#2};}}
\everymath{\displaystyle}
\begin{document}
\begin{frame}
\frametitle{Slide Title}
Comment on x \na{n1}
\na{n2} Comment on $p(x)$
\begin{equation*}
\ta{t1}{$\Max\limits_x$} \ta{t2}{$L(x)$} = \ta{t3}{$p(x)$} + \ta{t4}{$\gamma d(x)$}
\end{equation*}
Comment on L(x) \na{n3}
Comment on \na{n4} $d(x)$
\begin{tikzpicture}[overlay]
\path[->](n1) edge [bend left] (t1);
\path[->](n2) edge [bend right] (t3);
\path[->](n3) edge [bend right] (t2);
\path[->](n4) edge [bend right] (t4);
\end{tikzpicture}
\end{frame}
\end{document}
- 我删除了所有
\hspace
和\vspace
命令。通常,有比硬编码更好的方法来实现所需的间距。 \begin{frame}
我对 tikz 节点进行了宏化,仅标记要连接的箭头节点。它使...内的代码\end{frame}
更具可读性。- 我删除了
only<1>{
...}
部分,因为您说您希望所有内容都显示在一张幻灯片/叠加层中。如果您想要更精美的展示,请再问一个问题。
希望有所帮助。