我希望能够“灰色”我的 Beamer 讲座的部分内容(基于一些到期时间谓词)。在这个论坛的一些非常有用的帮助下,我几乎已经做到了。我的解决方案是定义一个新的“到期”环境,并将文本(可能是数学方程式)放在此环境内的 TikZ 节点中。遗憾的是,该节点占用的高度比我想要的要多。在下面的幻灯片中,我理想情况下希望灰色框的高度为一行。这可以修复吗?
我的 MWE:
\documentclass{beamer}
\usepackage{environ} % for the 'expire' idea
\usepackage{tikz}
\NewEnviron{expire}{%
\begin{tikzpicture}
\node [fill=gray!40, inner sep=0pt, inner ysep=0pt]{% %gray!40
\begin{minipage}{\textwidth}
{\color{black}
\BODY
}
\end{minipage}
};
\end{tikzpicture}
}
\begin{document}
\begin{frame} \frametitle{Exponents}
\[ x^{a}x^{b} = x^{a+b} \]
\[ \frac{x^a}{x^b} = x^{a-b} \]
\begin{expire}
\[(x^{a})^{b} = x^{ab}\]
\end{expire}
\[ x^n + x^n = 2x^n {\color{red} \neq} x^{2n} \]
\end{frame}
\end{document}
答案1
正如 percusse 所说,你不需要minipage
。此外,我会使用gather*
:
\documentclass{beamer}
\usepackage{amsmath}
\usepackage{tikz}
\newcommand{\expire}[1]{%
\tikz{%
\node[fill=gray!40, inner xsep=0pt, outer sep=0pt,
gray!40, text=black, minimum width=\textwidth]{$#1$};}}
\begin{document}
\begin{frame}
\frametitle{Exponents}
\begin{gather*}
x^{a}x^{b} = x^{a+b}\\
\frac{x^a}{x^b} = x^{a-b}\\
\expire{(x^{a})^{b} = x^{ab}}\\[-4pt]% or any other dimension you prefer
x^n + x^n = 2x^n {\color{red} \neq} x^{2n}
\end{gather*}
\end{frame}
\end{document}
另一种解决方案可能是使用具有节点样式的 TikZmatrix of math nodes
放在您想要变为灰色的行之前(参见|[expire]|
此处):
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{matrix}
\tikzset{%
expire/.style={
fill=gray!40,
text=black,
}
}
\begin{document}
\begin{frame}
\frametitle{Exponents}
\begin{center}
\begin{tikzpicture}
\matrix[matrix of math nodes, nodes={inner xsep=0pt,
minimum width=\textwidth}] {
x^{a}x^{b} = x^{a+b}\\
\dfrac{x^a}{x^b} = x^{a-b}\\
|[expire]|(x^{a})^{b} = x^{ab}\\
x^n + x^n = 2x^n {\color{red} \neq} x^{2n}\\
};
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}
如果您同时想要文本和数学:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{matrix}
\tikzset{%
expire/.style={
fill=gray!40,
text=black,
}
}
\begin{document}
\begin{frame}
\frametitle{Exponents}
\begin{center}
\begin{tikzpicture}
\matrix[matrix of nodes, nodes={inner xsep=0pt,
minimum width=\textwidth}] {
Here something\\
|[expire]|not in math mode\\
$x^{a}x^{b} = x^{a+b}$\\
$\dfrac{x^a}{x^b} = x^{a-b}$\\
|[expire]|$(x^{a})^{b} = x^{ab}$\\
$x^n + x^n = 2x^n {\color{red} \neq} x^{2n}$\\
};
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}
答案2
简单tabular
而\rowcolor
\documentclass[table]{beamer}
\usepackage{amsmath}
\begin{document}
\begin{frame}
\frametitle{Exponents}
\[ \setlength\tabcolsep{1pt}
\renewcommand\arraystretch{1.3}
\begin{tabular}{>{\raggedleft$}p{0.475\linewidth}<{$} c >{$}p{0.475\linewidth}<{$}}
x^{a}x^{b} & = & x^{a+b}\\
\frac{x^a}{x^b} & = & x^{a-b}\\[1pt]
\rowcolor{cyan!40}
(x^{a})^{b} & = & x^{ab}\\
x^n + x^n & = & 2x^n {\color{red} \neq} x^{2n}
\end{tabular}
\]
\end{frame}
\end{document}
答案3
也许这个tcolorbox
包可以作为一个替代方案:
\documentclass{beamer}
\usepackage[most]{tcolorbox}
\newtcolorbox{expire}{colback=gray!40!white,boxrule=0mm,arc=0mm,top=0.25mm,bottom=0.25mm}
\begin{document}
\begin{frame} \frametitle{Exponents}
\[ x^{a}x^{b} = x^{a+b} \]
\[ \frac{x^a}{x^b} = x^{a-b} \]
\begin{expire}
\[(x^{a})^{b} = x^{ab}\]
\end{expire}
\[ x^n + x^n = 2x^n {\color{red} \neq} x^{2n} \]
\end{frame}
\end{document}