如果我有这样的文件:
\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
):
在此示例中,它设置为0.2 \textwidth
答案2
包可以自动收缩包resizegather
环境方程以适应线宽。gather
amsmath
以下示例使用以下公式进行比较\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}
或者您可以在环境\\
中使用来引入换行符:amsmath
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}
当然,如果等号和分数在同一行上看起来会更好看,但是你的边距太大了。
随着换行符的移动,等式变成:
\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}