我在 Beamer 演示文稿中的一个方程式中有一个数组。我尝试使用缩小它,resizebox
但它给出了错误:
\begin{equation}
\label{eq:recursive}
\resizebox{\linewidth}{!}{
R_{k+1}(a,b) =
\left\{ \begin{array}{rl}
1 & \mbox{if } a=b \\
0 & \mbox{if } I(a)=\phi \mbox{ or } I(b)=\phi \\
\frac{C}{|I(a)||I(b)|}\sum_{i=1}^{|I(a)|}\sum_{j=1}^{|I(b)|} R_k(I_i(a),I_j(b)) & \mbox{otherwise } \\
\end{array}\right.
}
\end{equation}
有什么建议么?
答案1
如果你真的需要编号,你可以这样做
\documentclass{beamer}
\usepackage{mathtools}
\begin{document}
\begin{frame}
\frametitle{Big formula}
\begin{equation}
\label{eq:recursive}
\resizebox{.9\textwidth}{!}{$\displaystyle % restart math mode!
R_{k+1}(a,b) =
\begin{dcases}
1 & \text{if $a=b$} \\
0 & \text{if $I(a)=\phi$ or $I(b)=\phi$} \\
\frac{C}{|I(a)|\,|I(b)|}
\sum_{i=1}^{|I(a)|}
\sum_{j=1}^{|I(b)|} R_k(I_i(a),I_j(b)) & \text{otherwise}
\end{dcases}
$} % end math mode and close the box to be resized
\end{equation}
\end{frame}
\end{document}
请注意,我使用了dcases
,mathtools
它获得了一些水平空间,因为限制排版在求和符号的上方和下方。或者,您可以输入
\documentclass{beamer}
\begin{document}
\begin{frame}
\frametitle{Big formula}
\begin{equation}
\label{eq:recursive}
\resizebox{.9\textwidth}{!}{$\displaystyle % restart math mode
R_{k+1}(a,b) =
\begin{cases}
1 & \text{if $a=b$} \\
0 & \text{if $I(a)=\phi$ or $I(b)=\phi$} \\
\frac{C}{|I(a)|\,|I(b)|}
\sum\limits_{i=1}^{|I(a)|}
\sum\limits_{j=1}^{|I(b)|} R_k(I_i(a),I_j(b)) & \text{otherwise}
\end{cases}
$} % end math mode and close the box to be resized
\end{equation}
\end{frame}
\end{document}
这将使用较小的求和符号。
笔记。
cases
(或)环境dcases
比使用更方便array
。对于条件,最好使用
\text
并切换到其中的数学模式,而不是使用\mbox
带有空格的笨拙的命令。
答案2
您未处于命令参数内的数学模式\resizebox
。您可以使用美元符号和 重新进入(显示)数学模式\displaystyle
。
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\begin{document}
\begin{equation}
\label{eq:recursive}
\resizebox{\linewidth}{!}{$\displaystyle a = b$}
\end{equation}
\end{document}
请注意,equation
这里的环境部分是多余的;如果不需要编号,可以省略。