![如何设置和连接 Beamer 框架内的节点并突出显示它们](https://linux22.com/image/403112/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E5%92%8C%E8%BF%9E%E6%8E%A5%20Beamer%20%E6%A1%86%E6%9E%B6%E5%86%85%E7%9A%84%E8%8A%82%E7%82%B9%E5%B9%B6%E7%AA%81%E5%87%BA%E6%98%BE%E7%A4%BA%E5%AE%83%E4%BB%AC.png)
我想找到一种“简单”的方法来突出显示两段文本并将它们与路径和标签连接起来。
例如,我需要制作一个幻灯片来向我的学生演示如何解决线性系统。我想通过突出显示(使用颜色)和连接各种公式上的部分(使用路径和标签节点)来强调我需要使用的某些数学变换。
我还没有 MWE,因为我还在努力尝试混合 TikZ 和 Beamer。我确实知道如何使用 \alt{colored maths}{standard maths},我知道 aobs-tikz 包,但我不知道如何将它与纯文本和数学一起使用(我很难处理各种尺寸问题,例如基线间隙等)。
是否有可能有一个非侵入式代码,它会说“创建一个具有此名称的节点,包含这些数学运算,将其外观从此更改为此步骤”,然后在幻灯片的末尾创建一个带有覆盖设置的 tikzpicture,这样我就可以在正确的步骤上连接这个和这个名字......
希望能够清楚,提前感谢任何帮助。
编辑 :这是一个效果不太好的例子...请注意,公式在基线上没有很好地对齐,我无法链接它们。
\documentclass{beamer}
\usepackage{etex}
\usepackage[utf8]{luainputenc} % --> oui ! Ça fonctionne pour œ !
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\hypersetup{pdfencoding=utf8}
\usepackage{pgfplots,tikz}
\usetikzlibrary{arrows, arrows.meta, bending, calc, fadings, hobby, positioning, shadows, shadows.blur, shapes, shapes.misc, tikzmark}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}
\textbf{\Large Exemple}
\small Résoudre $\begin{cases}3x+2y-4=0 & L_1 \\ 2x-5y-7=0 & L_2\end{cases}$\pause
\begin{enumerate}[<+->]
\item On isole $y$ dans $L_1$ : \pause $2y=-3x+4$ \pause d'où $y=-\dfrac32x+2$\pause
\item Dans $L_2$, on remplace $y$ par l'expression précédente : \pause $2x- \tikz[baseline] { \node[fill=red!40, fill on=<9>] (A) {$\!5\left(-\dfrac32x+2\right)\!$} ; }-7=0$ \pause
d'où $2x+\tikz[baseline] { \node[fill=red!40, fill on=<9>] (B) {$\dfrac{15}2x-10$} ;}-7=0$ \pause
d'où $\dfrac42x+\dfrac{15}2x-17=0$
\end{enumerate}
\begin{tikzpicture}[overlay]
\draw[<->, red!40, very thick, draw on=<9>] (A) edge [bend left] (B) ;
\end{tikzpicture}
\end{frame}
\end{document}
答案1
像这样?我使用\tikzmarknode
s,它可以简化事情,因为它们可以检测到一个人处于数学模式,以及visible on=<.(1)>
,这是我从 samcarter 学到的一个技巧,它可以避免使用像 9 这样的硬编码数字。
\documentclass{beamer}
\usepackage{etex}
\usepackage[utf8]{luainputenc} % --> oui ! Ça fonctionne pour œ !
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\hypersetup{pdfencoding=utf8}
\usepackage{pgfplots,tikz}
\usetikzlibrary{arrows, arrows.meta, bending, calc, fadings, hobby, positioning, shadows, shadows.blur, shapes, shapes.misc, tikzmark}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}
\textbf{\Large Exemple}
\small Résoudre $\begin{cases}3x+2y-4=0 & L_1 \\ 2x-5y-7=0 & L_2\end{cases}$\pause
\begin{enumerate}[<+->]
\item On isole $y$ dans $L_1$ : \pause $2y=-3x+4$ \pause d'où $y=-\dfrac32x+2$\pause
\item Dans $L_2$, on remplace $y$ par l'expression précédente : \pause $2x- \tikzmarknode[fill=red!20,inner sep=1.5pt, fill on=<.(2)>]{A}{5\left(-\dfrac32x+2\right)}-7=0$ \pause
d'où $2x+\tikzmarknode[fill=red!20,inner sep=1.5pt, fill on=<.(1)>]{B}{\dfrac{15}2x-10}-7=0$\begin{tikzpicture}[overlay,remember picture]
\draw[<->, red!40,stealth-stealth, very thick,visible on=<.(1)>] (A.north east) to[bend left] (B.north west) ;
\end{tikzpicture}
\pause
d'où $\dfrac42x+\dfrac{15}2x-17=0$
\end{enumerate}
\end{frame}
\end{document}