使用 Tikz 包在 Beamer 中突出显示方程的背景

使用 Tikz 包在 Beamer 中突出显示方程的背景

在此处输入图片描述您好,我想使用包 tikZ 简单地突出显示公式的一部分,但是我这样做时遇到一些困难。

\documentclass{beamer}
\usepackage{framed,multirow}
\usepackage{bm}
\usepackage{dsfont} 
\usepackage{amssymb}
\usepackage{subfig}
\usepackage{amsmath}
\usepackage{latexsym}
\usepackage{graphicx, changepage, mathtools, array}
\usepackage{color,xcolor, colortbl}
\usepackage[figuresright]{rotating}
\usepackage[beamer,customcolors]{hf-tikz}
\usepackage{xparse}
\usepackage{xcolor}

\begin{document}

\begin{frame}
\begin{eqnarray}
E[\textbf{Y}] &=& m\bm{\pi} \label{eq: ExpDM}   \\
Var[\bm{Y}] &=& m\tikzmarkin{right delim frac 2}\{1+\rho^2(m-1)\}\tikzmarkend{right delim frac 2}\{diag(\bm{\pi})-\bm{\pi}\bm{\pi}'\} \label{eq: VarDM}
\end{eqnarray}
\end{frame}
\end{document}

特别是我没有看到任何突出显示的内容

答案1

通过使用tcolorbox包:

在此处输入图片描述

  • 不完全清楚你的问题是什么。
  • 显示的图像与提供的文档示例没有任何共同之处。
  • 在下面的 MWE 中,复制了上面的图片,删除了所有重复的和与问题无关的包。您应该注意,将beamer一些包加载为amsmathgraphicxxcolor
\documentclass{beamer}
\usepackage{tcolorbox}
\tcbuselibrary{skins, theorems}
\tcbset{fonttitle=\footnotesize}

\begin{document}
\begin{frame}[fragile] 
\frametitle{Code of the emphasised equation}

    \begin{itemize}
\item   Esempio:
    \[
\tcboxmath[colback=teal!25!white,
           colframe=teal]{ x + y = 10}
    \]
\item   Codice:

\begin{verbatim}
    \[\tikzmarkin<2->{a} x+
      \tikzmarkin<1>{b}y\tikzmarkend{b}
      =\tikzmark{a}\]
\end{verbatim}

    \end{itemize}
\end{frame}
\end{document}

编辑: 上述 MWE 中强调的方程式与用 MWE 编写的方程式有不同的代码。包含该方程式的框架中的逐字内容为:

\documentclass{beamer}
\usepackage{tcolorbox}
\tcbuselibrary{skins, theorems}
\tcbset{fonttitle=\footnotesize}

\begin{document}
\begin{frame}[fragile] % fragile is needed due to use verbatim in frame
\frametitle{Reproduction of the showed frame image}

    \begin{itemize}
\item   Esempio:
\[
\tcboxmath[colback=teal!25!white,
           colframe=teal]{x + y = 10}
\]
\item   Codice:

\begin{verbatim}
\[
\tcboxmath[colback=teal!25!white,
           colframe=teal]{ x + y = 10}
\]
\end{verbatim}

    \end{itemize}
\end{frame}
\end{document}

在此处输入图片描述

附录(1):

在这种情况下,当您只想强调方程的一部分时,请尝试以下解决方案:

\documentclass[svgnames]{beamer}
\usepackage[most]{tcolorbox}

\tcbset{boxrule=0.6pt,
        boxsep=4pt, 
        left=0pt,right=0pt,top=0pt,bottom=0pt,
        colframe=teal,colback=teal!25!white,
        highlight math style={enhanced},
        }

\begin{document}
\begin{frame}[fragile] 
\frametitle{Use \texttt{tcolorbox} inside math expressions}

    \begin{itemize}
\item   Esempio:
    \[
\tcbhighmath{x + y} = 10
    \]
\item   Codice:

        \alert{In preamble}:
\begin{verbatim}
\tcbset{boxrule=0.6pt,
        boxsep=4pt,
        left=0pt,right=0pt,top=0pt,bottom=0pt,
        colframe=teal,colback=teal!25!white,
        highlight math style={enhanced},
        }
\end{verbatim}

    \alert{In frame body}:
\begin{verbatim}
    \[
\tcbhighmath{x + y} = 10
    \]
\end{verbatim}

    \end{itemize}
\end{frame}
\end{document}

在此处输入图片描述

附录(2): 使用tikzmark库:

\documentclass[svgnames]{beamer}
\usepackage{tikz}
\usetikzlibrary{fit, 
                tikzmark}

\begin{document}
\begin{frame}[fragile]
\frametitle{Use \texttt{tikzmarknode} inside math expressions}

    \begin{itemize}
\item   Esempio:
    \[
\tikzmarknode{A}{x + y} = 10
%
\begin{tikzpicture}[overlay, remember picture,
    F/.style = {draw=red, rounded corners, fill=red!30,
                inner xsep=1pt, fit=#1,
                fill opacity=0.25, text opacity=1}
                    ]
\node [F=(A)] {};
\end{tikzpicture}
    \]
\item   Codice:

\footnotesize
\begin{verbatim}
    \[
\tikzmarknode{A}{x + y} = 10
%
\begin{tikzpicture}[overlay, remember picture,
    F/.style = {draw=red, rounded corners, fill=red!30,
                inner xsep=1pt, fit=#1,
                fill opacity=0.25, text opacity=1}
                    ]
\node [F=(A)] {};
\end{tikzpicture}
    \]
\end{verbatim}
    \end{itemize}
\end{frame}
\end{document}   

在此处输入图片描述

相关内容