我想将我的 tikzpicture 放在标有 X 的位置。我想用箭头将两个元素关联在一起并突出显示它们。谢谢。
\documentclass{beamer}
\usepackage[frenchb]{babel}
\usepackage[utf8]{inputenc}
\usetheme{CambridgeUS}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{arrows,shapes}
\begin{document}
\begin{frame}[fragile]
~
\begin{tikzpicture}[scale=0.5]
\begin{axis}[
xmin = 0, xmax = 5,
ymin = 0, ymax = 5,
axis lines=left]
\addplot coordinates { (2,2) (3,3) (4,4) };
\end{axis}
\end{tikzpicture}
\end{frame}
%%%%
\begin{frame}
\frametitle{Et comment ça fonctionne?}
\begin{enumerate}
\item Dilatation:= $\alpha \oplus \beta = \{a+b|a\in \alpha \wedge b\in \beta\}$
\item Érosion:= $\alpha \ominus \beta = \{a-b|a\in \alpha \wedge b\in \beta\}$
\end{enumerate}
\begin{itemize}
\item Addition de Minkowski:
$\alpha_{1} = \{(1,1),(2,2)\}$
$\alpha_{2} = \{(1,1),(2,2)\}$
$\alpha_{1} \oplus \alpha_{2} = \{(2,2),(3,3),(4,4)\}$
\end{itemize}
\end{frame}
\end{document}
答案1
我将使用它columns
来将图片与方程式和tikzmark
重叠箭头的库对齐。由于您已经加载了 PGF/TikZ,因此这不会涉及太多额外开销,否则对于计算节俭的人来说,这可能会被视为对简单箭头的过度杀伤。
如果您想要突出显示很多内容,我会查看专门的软件包(例如soul
)。否则,对于奇怪的内容,我会顺其自然,tikzmark
使用blend mode=multiply
突出显示范围和合适的不透明度将其添加到叠加层。 的不透明度1
让我觉得有点过分,所以我选择了一半,但您的公里数显然可能会根据口味而有所不同。
请注意,fragile
据我所知,这里是不必要的,而且您的几个包和库对于 MWE 来说都是不需要的,所以在这里被删除了。
\documentclass{beamer}
\usepackage[frenchb]{babel}
\usepackage[utf8]{inputenc}
\usetheme{CambridgeUS}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{tikzmark,calc,arrows.meta,bending}
\begin{document}
\begin{frame}
\frametitle{Et comment ça fonctionne?}
\begin{enumerate}
\item Dilatation:= $\alpha \tikzmark{a}\oplus\tikzmark{b} \beta = \{a+b|a\in \alpha \wedge b\in \beta\}$
\item Érosion:= $\alpha \ominus \beta = \{a-b|a\in \alpha \wedge b\in \beta\}$
\end{enumerate}
\begin{columns}
\begin{column}[T]{.5\textwidth}
\begin{itemize}
\item \tikzmark{e}Addition \tikzmark{c}de\tikzmark{d} Minkowski\tikzmark{f}:
$\alpha_{1} = \{(1,1),(2,2)\}$
$\alpha_{2} = \{(1,1),(2,2)\}$
$\alpha_{1} \oplus \alpha_{2} = \{(2,2),(3,3),(4,4)\}$
\end{itemize}
\end{column}
\begin{column}[T]{.5\textwidth}
\begin{tikzpicture}[scale=0.5]
\begin{axis}[
xmin = 0, xmax = 5,
ymin = 0, ymax = 5,
axis lines=left]
\addplot coordinates { (2,2) (3,3) (4,4) };
\end{axis}
\end{tikzpicture}
\end{column}
\end{columns}
\begin{tikzpicture}[overlay, remember picture]
\foreach \i in {a,b,c,d,e,f} \coordinate (\i) at ({pic cs:\i});
\foreach \i/\j in {a/b,c/d} \coordinate (\i\j) at ($(\i)!.5!(\j)$);
\begin{scope}[blend mode=multiply, opacity=.5]
\path [fill=cyan] ([yshift=.65ex]ab) circle (1.5ex);
\path [draw=cyan, line width=3ex, shorten >=-.5ex, shorten <=-.5ex] ([yshift=1ex]e) -- ([yshift=1ex]f);
\end{scope}
\draw [thick, -{Stealth[bend]}, shorten >=-2.5pt] ([yshift=-2.5pt]ab) .. controls +(1.25,-.5) and +(.75,.75) .. ([yshift=.75*\baselineskip]cd);
\end{tikzpicture}
\end{frame}
\end{document}