我如何才能自动调整方程式以使其显示在整个页面中?(缩放到方程式,这存在吗?)

我如何才能自动调整方程式以使其显示在整个页面中?(缩放到方程式,这存在吗?)

如果我有这样的文件:

\documentclass[landscape, 12pt]{report}

\usepackage[landscape]{geometry}

\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{amsmath, amssymb, graphics, setspace}
\newcommand{\mathsym}[1]{{}}
\newcommand{\unicode}[1]{{}}
\newcounter{mathematicapage}

\begin{document}    \begin{equation}\label{Equation:Naive_Bayes_Classifier}
    P\left(H_h|E_1,E_2,\ldots ,E_e,\ldots    E_{\mathbb{E}}\right)=\frac{P\left(H_h\right) P\left(E_1|H_h\right)    P\left(E_2|H_h,E_1\right) \text{$\ldots $P}
    \left(E_e|H_h,E_1,E_2,\ldots ,E_{e-1},E_{e+1} \ldots, E_{\mathbb{E}}\right) \text{$\ldots    $P}
    \left(E_{\mathbb{E}}|H_h,E_1,E_2,\ldots ,E_{\mathbb{E}-1}\right)}{ P\left(E_1,E_2,\ldots,E_e, \ldots    ,E_{\mathbb{E}}\right)}
\end{equation}
\end{document}

我怎样才能自动调整这个方程式,使它出现在整个页面上,使用所有水平空间?(没有坏框或小于页面宽度?)

如果在方程式中使用某种比例,明确给出方程式应该变得多大,这也能解决我的问题。

答案1

要“缩放”方程以适合盒子,您可以使用\resizebox包中的graphicx。下面是代码的精简示例,它可以完成您要查找的操作。

\documentclass[landscape, 12pt]{report}
\usepackage{graphicx}
\pagestyle{empty}

\begin{document}
\noindent Here is some text
\begin{equation}
\resizebox{.9 \textwidth}{!} 
{
    $ a + b $
}
\end{equation}
and here is some more.
\end{document}

此处.9确定您要占用的宽度,在本例中我选择 90%,但您可以根据自己的喜好进行调整。!第二个参数将保留纵横比。

给予应得的赞扬,一个非常相似的问题是在 Stack Exchange 上回答最近关于萎缩等式。在两种情况下,这\resizebox都足够了,尽管不建议这样做。就我个人而言,我会考虑拆分等式。数学字体大小不一致可能会成为排版的噩梦。

例子

此处的参数\resizebox设置为1.0 \textwidth(用 编译pdflatex):

示例 1

在此示例中,它设置为0.2 \textwidth

示例 2

答案2

包可以自动收缩包resizegather环境方程以适应线宽。gatheramsmath

以下示例使用以下公式进行比较\textstyle使用rdhs 的回答调整过大的方程的大小(太大了 148.64104pt):

\documentclass[landscape, 12pt]{report}
\usepackage[landscape]{geometry}
\usepackage{amsmath,amssymb}

\usepackage{resizegather}

\begin{document}
\begin{gather}
  \label{eq-tfrac}
    P\left(H_h|E_1,E_2,\ldots ,E_e,\ldots    E_{\mathbb{E}}\right)=\tfrac{P\left(H_h\right) P\left(E_1|H_h\right)    P\left(E_2|H_h,E_1\right) \text{$\ldots $P}
    \left(E_e|H_h,E_1,E_2,\ldots ,E_{e-1},E_{e+1} \ldots, E_{\mathbb{E}}\right) \text{$\ldots    $P}
    \left(E_{\mathbb{E}}|H_h,E_1,E_2,\ldots ,E_{\mathbb{E}-1}\right)}{ P\left(E_1,E_2,\ldots,E_e, \ldots    ,E_{\mathbb{E}}\right)}
  \\\label{eq-resized}
    P\left(H_h|E_1,E_2,\ldots ,E_e,\ldots    E_{\mathbb{E}}\right)=\frac{P\left(H_h\right) P\left(E_1|H_h\right)    P\left(E_2|H_h,E_1\right) \text{$\ldots $P}
    \left(E_e|H_h,E_1,E_2,\ldots ,E_{e-1},E_{e+1} \ldots, E_{\mathbb{E}}\right) \text{$\ldots    $P}
    \left(E_{\mathbb{E}}|H_h,E_1,E_2,\ldots ,E_{\mathbb{E}-1}\right)}{ P\left(E_1,E_2,\ldots,E_e, \ldots    ,E_{\mathbb{E}}\right)}
\end{gather}
\end{document}

结果

在同一行中包含方程编号

两个例子/变化:

\documentclass[landscape, 12pt]{report}
\usepackage[landscape]{geometry}
\usepackage{amsmath,amssymb}

\usepackage{graphicx}
\usepackage{tabularx}

\newcommand*{\Sample}{%
  P\left(H_h|E_1,E_2,\ldots ,E_e,\ldots
  E_{\mathbb{E}}\right)=\frac{P\left(H_h\right) P\left(E_1|H_h\right)
  P\left(E_2|H_h,E_1\right) \text{$\ldots $P}
  \left(E_e|H_h,E_1,E_2,\ldots ,E_{e-1},E_{e+1} \ldots,
  E_{\mathbb{E}}\right) \text{$\ldots    $P}
  \left(E_{\mathbb{E}}|H_h,E_1,E_2,\ldots ,
  E_{\mathbb{E}-1}\right)}{ P\left(E_1,E_2,\ldots,E_e, \ldots
  ,E_{\mathbb{E}}\right)}%
}

\begin{document}
\refstepcounter{equation}
\[
  \resizebox{\linewidth}{!}{$\displaystyle\Sample$\quad(\theequation)}
\]
%
\refstepcounter{equation}
\[
  \begin{tabularx}{\linewidth}{@{}X@{\quad}l@{}}
    \resizebox{\linewidth}{!}{$\displaystyle\Sample$}&(\theequation)
  \end{tabularx}
\]
\end{document}

结果

笔记:请记住,通常最好避免缩小过大的方程式。

答案3

分解巨大的分数确实很棘手,而且我认为没有自动化的解决方案。

首先,让我们看看您的公式是什么样的(纯格式的示例):

\input amssym.def
\def\P{{\rm P}}
\def\E{\Bbb E}
$$
  \P(H_h|E_1,E_2,\dots,E_e,\dots E_\E)
  = { \P(H_h) \P(E_1|H_h) \P(E_2|H_h,E_1) \dots
    \P(E_e|H_h,E_1,E_2,\dots,E_{e-1},E_{e+1}\dots,E_\E) \ldots
    \P(E_\E|H_h,E_1,E_2,\dots,E_\E-1)
    \over
    \P(E_1,E_2,\dots,E_e,\dots,E_\E) }
$$

在此处输入图片描述

噢,我们的纸用完了!

Knuth 在 TeXbook 中给出了一个如何拆分公式的示例(练习 19.9),在这里应用该解决方案并不十分简单,因为有很多方法可以进行拆分。让我们从两行拆分开始:

$$
  \P(H_h|E_1,E_2,\dots,E_e,\dots E_\E)
  = {\displaystyle{\P(H_h) \P(E_1|H_h) \P(E_2|H_h,E_1) \dots
    \P(E_e|H_h,E_1,E_2,\dots,E_{e-1},E_{e+1}\dots,E_\E) \ldots
    \atop
    \hfill\P(E_\E|H_h,E_1,E_2,\dots,E_\E-1) } \over
      \P(E_1,E_2,\dots,E_e,\dots,E_\E) }
$$

在此处输入图片描述

好吧,我们没有用完纸,但是我们留下了一个满满的盒子。

也许我们可以引入一个不那么自然的休息方式:

$$
  \P(H_h|E_1,E_2,\dots,E_e,\dots E_\E)
  = { \displaystyle{ \P(H_h) \P(E_1|H_h) \P(E_2|H_h,E_1) \dots
    \P(E_e|H_h,E_1,E_2,
    \hfill
    \atop
    \qquad \dots,E_{e-1},E_{e+1}\dots,E_\E) \ldots
    \P(E_\E|H_h,E_1,E_2,\dots,E_\E-1) }
    \over
    \P(E_1,E_2,\dots,E_e,\dots,E_\E) }
$$

在此处输入图片描述

现在,虽然需要付出一些成本,但空间要求已经有所改善。

你可以去真的在棋盘上将其分成三行:

$$
  \P(H_h|E_1,E_2,\dots,E_e,\dots E_\E)
  = { \displaystyle{
      \displaystyle{ \P(H_h) \P(E_1|H_h) \P(E_2|H_h,E_1) \dots \hfill
      \atop
      \qquad \P(E_e|H_h,E_1,E_2,\dots,E_{e-1},E_{e+1}\dots,E_\E) \ldots }
      \atop
      \hfill \P(E_\E|H_h,E_1,E_2,\dots,E_\E-1) }
    \over
    \P(E_1,E_2,\dots,E_e,\dots,E_\E) }
$$

在此处输入图片描述

但这可能有点太奇怪了。我不知道。

那么,自动化解决方案会如何选择呢?我想这会非常棘手。

答案4

您可以使用以下方法使分数更小\textstyle

\begin{equation}
  P(H_h|E_1,E_2,\ldots ,E_e,\ldots E_{\mathbb{E}})
  =\textstyle\frac{P(H_h) P(E_1|H_h)
  P(E_2|H_h,E_1) \text{$\ldots $P}
  (E_e|H_h,E_1,E_2,\ldots ,E_{e-1},E_{e+1} \ldots,E_{\mathbb{E}})\text{$\ldots$P}
  (E_{\mathbb{E}}|H_h,E_1,E_2,\ldots ,E_{\mathbb{E}-1})}
  { P(E_1,E_2,\ldots,E_e, \ldots ,E_{\mathbb{E}})}
\end{equation}

或者您可以在环境\\中使用来引入换行符:amsmathmultline

\begin{multline}
  P(H_h|E_1,E_2,\ldots ,E_e,\ldots E_{\mathbb{E}})=\\
  \frac{P(H_h) P(E_1|H_h)
  P(E_2|H_h,E_1) \text{$\ldots $P}
  (E_e|H_h,E_1,E_2,\ldots ,E_{e-1},E_{e+1} \ldots,E_{\mathbb{E}})\text{$\ldots$P}
  (E_{\mathbb{E}}|H_h,E_1,E_2,\ldots ,E_{\mathbb{E}-1})}
  { P(E_1,E_2,\ldots,E_e, \ldots ,E_{\mathbb{E}})}
\end{multline}

当然,如果等号和分数在同一行上看起来会更好看,但是你的边距太大了。

随着换行符的移动,等式变成:

\begin{multline}
  P(H_h|E_1,E_2,\ldots ,E_e,\ldots E_{\mathbb{E}})\\
  =\frac{P(H_h) P(E_1|H_h)
  P(E_2|H_h,E_1) \text{$\ldots $P}
  (E_e|H_h,E_1,E_2,\ldots ,E_{e-1},E_{e+1} \ldots,E_{\mathbb{E}})\text{$\ldots$P}
  (E_{\mathbb{E}}|H_h,E_1,E_2,\ldots ,E_{\mathbb{E}-1})}
  { P(E_1,E_2,\ldots,E_e, \ldots ,E_{\mathbb{E}})}
\end{multline}

然后您可以使用geometry包选项更改页边距:

\usepackage[margin=1in,landscape]{geometry}

相关内容