我是 LaTeX 的新手,目前正在进行我的第一个 Beamer 演示。我尝试使用 TikZ 在证明中添加已经证明的公式作为评论,因为我看到了类似的东西这里。我目前的状态是这样的:
\documentclass[beamer,compress,t]{beamer}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
\usetikzlibrary{shapes.callouts}
\begin{document}
\begin{frame}
\frametitle{Title}
\[\norm{a-b} \tikz[remember picture] \node (a) {$\leq$}; \norm{a} + \norm{b} \]
\begin{tikzpicture}[remember picture,overlay]
\path<2> (a.south) ++(0,1) node[anchor=north,rectangle callout,fill=blue!50,opacity=1, callout absolute pointer={(a.mid)}] {From $\Delta$};
\end{tikzpicture}
\pause \pause
\[\norm{\lambda x} = \lambda \norm{x} \]
\end{frame}
\end{document}
结果是:
这个效果还不错,但我希望标志\leq
不要向上移动,而框位于标志下方。但是,这似乎不是一个锚点选项。我尝试查找这个,但 TikZ 帮助现在看起来有点吓人。
答案1
如果我理解正确的话,你想要这样的东西吗?
您可以通过在命令\leq
中标识基线来防止移动。只需在相对定位中使用负号,即可将标注放在下方,例如。您可以根据需要调整锚点和距离。代码如下。\tikz
tikzpicture
++(0,-0.5)
\documentclass[beamer,compress,t]{beamer}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
\usetikzlibrary{shapes.callouts}
\begin{document}
\begin{frame}
\frametitle{Title}
\[\norm{a-b} \tikz[remember picture,baseline=(a.base)] \node (a) {$\leq$}; \norm{a} + \norm{b} \]
\begin{tikzpicture}[remember picture,overlay]
\path<2> (a.south) ++(0,-0.5) node[anchor=north,rectangle callout,fill=blue!50,opacity=1, callout absolute pointer={(a.south)}] {From $\Delta$};
\end{tikzpicture}
\pause \pause
\[\norm{\lambda x} = \lambda \norm{x} \]
\end{frame}
\end{document}
答案2
对于问题的第二部分,诀窍是先坚持覆盖。对于第一部分,请查看节点的锚点和基线参数。
\documentclass[beamer,compress,t]{beamer}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
\usetikzlibrary{shapes.callouts}
\begin{document}
\begin{frame}
\frametitle{Title}
\begin{tikzpicture}[remember picture,overlay]
\path<2> (a.south) ++(0,1.2) node[anchor=north,rectangle callout,fill=blue!50,opacity=1, callout absolute pointer={(a.mid)}] {From $\Delta$};
\end{tikzpicture}
\[\norm{a-b} \tikz[remember picture,anchor=base,baseline] \node (a) {$\leq$}; \norm{a} + \norm{b} \]
\pause \pause
\[\norm{\lambda x} = \lambda \norm{x} \]
\end{frame}
\end{document}