将文档类别从“article”更改为“beamer”后,公式超出页面宽度

将文档类别从“article”更改为“beamer”后,公式超出页面宽度

article首先写,但我也需要pdfbeamer版本,但是我发现那些长方程式在“article”中显示正常,在“beamer”模式下会超出页面宽度。那么有没有一种方法可以自动避免这种情况?

MWE 如下:

\documentclass[12pt]{beamer} \usepackage{amsmath,amssymb,amsthm}

\begin{document}
  \begin{equation}\label{}
    \int_C {{\mathbf{F}}\left( {x,y} \right) \cdot d{\mathbf{r}}}  = \int_C {\left( {f\left( x \right){\mathbf{i}} + g\left( y \right){\mathbf{j}}} \right) \cdot \left( {dx{\mathbf{i}} + dy{\mathbf{j}}} \right)}  = \int_C {f\left( x \right)dx}  + \int_C {g\left( y \right)dy}
  \end{equation}
\end{document} 

给出

在此处输入图片描述

将 documentclass 从 更改articlebeamer

\documentclass[12pt]{beamer}
\usepackage{amsmath,amssymb,amsthm}

\begin{document}
  \begin{equation}\label{}
    \int_C {{\mathbf{F}}\left( {x,y} \right) \cdot d{\mathbf{r}}}  = \int_C {\left( {f\left( x \right){\mathbf{i}} + g\left( y \right){\mathbf{j}}} \right) \cdot \left( {dx{\mathbf{i}} + dy{\mathbf{j}}} \right)}  = \int_C {f\left( x \right)dx}  + \int_C {g\left( y \right)dy}
  \end{equation}
\end{document} 

给出

在此处输入图片描述

答案1

我建议您执行以下操作:

  • 插入换行指令 ( \\) 和一个额外的对齐点指示符 ( &)。这样,TeX 就可以知道在哪里换行以及在哪些点上对齐行。

实施这一改变后,我们可以得到:

在此处输入图片描述

我想敦促您考虑做出一些改变:

  • \notag在第一行末尾使用一条指令来抑制该行上的方程编号。

  • 删除所有\left\right指令。这样做将显著改善括号周围的间距。另外,它们无论如何也不会“做”任何事情,就改变尺寸括号:它们所包含的内容不高也不深,因此括号的大小保持为最小可能值。如果您确实需要更改括号的大小,请使用\bigl(\bigr),如以下代码中的一种情况所示。

  • 删除所有花括号,除了与指令相关的花括号\mathbf。在 TeX 的数学模式中,让所有这些花括号四处乱跑是并非无害:用花括号括起来的某些材料会将其类型转换为“math-ordinary”,从而消除了 TeX 对“math-open”、“math-close”等类型项目周围的间距进行微调的任何机会。

  • 将指令替换\cdot为(thinspace),并在“微分算子”之前\,插入-- 、和。\,d\mathbf{r}dxdj

在此处输入图片描述

\documentclass[12pt]{beamer}
\usepackage{amsmath,amssymb,amsthm}
\begin{document}

\begin{frame}
  \begin{align}
    \int_C \mathbf{F}( x,y ) \, d\mathbf{r}  
    &= \int_C \bigl( f( x )\,\mathbf{i} + g( y )\,\mathbf{j} \bigr) \, 
        ( dx\,\mathbf{i} + dy\,\mathbf{j} )  \notag\\
    &= \int_C f( x )\,dx  + \int_C g( y )\,dy 
        \label{eq:complex_int}
  \end{align}
\end{frame}

\end{document}

答案2

article和中的字体beamer大小不一样。如果你真的想在 bemare 中使用一行方程式,你需要使用较小的字体,例如scriptsize

\documentclass[12pt]{beamer}
\usepackage{amsmath,amssymb,amsthm}

\begin{document}
My important one-line equation is:
  \begin{equation}\label{eq:1}\scriptsize
    \int_C {{\mathbf{F}}\left( {x,y} \right) \cdot d{\mathbf{r}}}  = \int_C {\left( {f\left( x \right){\mathbf{i}} + g\left( y \right){\mathbf{j}}} \right) \cdot \left( {dx{\mathbf{i}} + dy{\mathbf{j}}} \right)}  = \int_C {f\left( x \right)dx}  + \int_C {g\left( y \right)dy}
  \end{equation}
From (\ref{eq:q}) follows: \dots
\end{document}

在此处输入图片描述

在我看来,结果并不像@Mico 的回答那么好。

相关内容