缩放方程以适合精确的页面宽度

时间:2010-06-24 00:58:56

标签: latex

我有一个方程,对于一条线来说只有一点点太宽。我真的想避免在下一行使用方程编号。你是如何实现这一目标的?目前我正在使用\small,但这太过分了。

请注意。我已尝试scaleboxfittowidth,但收到有关遗失\endgroup的错误消息。我还充分利用了\!。我希望有一个解决方案,允许我将正确的单线方程式缩放到页面的宽度。

这是一个例子(不是我的实际等式): Long equation

4 个答案:

答案 0 :(得分:54)

\begin{equation}
\resizebox{.9\hsize}{!}{$A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z$}
\end{equation}

\begin{equation}
\resizebox{.8\hsize}{!}{$A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z$}
\end{equation}

答案 1 :(得分:2)

graphicx package提供命令<img class="project-image col-lg-4 center-block img-responsive" src="/images/project_wine.jpg"></img> <p class="body-text col-lg-8">

\resizebox{width}{height}{object}

答案 2 :(得分:1)

我只是想只对超过\linewidth的行使用此方法,即:稍微挤压长行。 由于花了我几个小时才弄清楚这一点,因此我想在这里添加它。

  

我想强调指出,在LaTeX中缩放字体是致命的罪过!   在几乎每种情况下,都有更好的方法(例如multline包中的mathtools)。因此,请有意识地使用它。

在这种情况下,当我将其编译为电子书缩放的pdf时,除了序言和一些行略超出页面边框,我对代码库没有任何影响。

\usepackage{environ}         % provides \BODY
\usepackage{etoolbox}        % provides \ifdimcomp
\usepackage{graphicx}        % provides \resizebox

\newlength{\myl}
\let\origequation=\equation
\let\origendequation=\endequation

\RenewEnviron{equation}{
  \settowidth{\myl}{$\BODY$}                       % calculate width and save as \myl
  \origequation
  \ifdimcomp{\the\linewidth}{>}{\the\myl}
  {\ensuremath{\BODY}}                             % True
  {\resizebox{\linewidth}{!}{\ensuremath{\BODY}}}  % False
  \origendequation
}

之前 beforeafter

答案 3 :(得分:0)

只是斯蒂芬回答的补充:我使用类似的东西

\resizebox{\minof{\width}{\myeqwidth}}{!}{%
  a = b
}

连同 calc 包(提供 \minof)。似乎 \width 指的是盒子的原始宽度 (https://latexref.xyz/_005cresizebox.html),而 \myeqwidth 是乳胶长度,例如定义为 \textwidth - 2cm。因此,如果方程足够窄,则不会对其进行缩放。如果它太宽,则将其缩放为 \myeqwidth