是否有任何宏可以自动缩放数学方程式以适应线宽?

是否有任何宏可以自动缩放数学方程式以适应线宽?

有时我会遇到很长的数学方程式,长度超过了线宽,所以我想知道是否有一些宏可以放大方程式以避免它被渲染到线外?(我正在使用\twocolumn样式)。过长的方程式太丑了。

就像代码一样

\documentclass{article}
\begin{document}
\twocolumn
\setlength{\columnseprule}{0.4pt}
\[\frac{veryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongword}{a}\]
\newpage
\[\frac{veryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongword}{a}\]
\end{document}

在此处输入图片描述

两个较长的部分会相互重叠。我希望将过长的方程放大以适应线宽。

答案1

如果主要问题在于表达式中的分子(或分母)项太长\frac,请尝试使用包\splitfrac提供的宏mathtools。注意:\splitfrac如果需要,指令可以嵌套。

这种方法不提供自动换行,而您似乎想要这样做。但只有作者(当然不是软件)才能判断哪里可以换行。而且,可以肯定的是,故意拆分长分子比通过指令将整个等式强行塞入列中产生的印刷效果要好得多(\resizebox见下文)。

在此处输入图片描述

\documentclass[twocolumn]{article}
\setlength{\columnseprule}{0.4pt}
\usepackage{graphicx}  % for "\resizebox" macro
\usepackage{mathtools} % for "\splitfrac" macro
\begin{document}
\[
\frac{\splitfrac{veryveryveryveryveryveryveryvery}{veryveryveryveryveryveryverylongword}}{a}
\]
vs.
\[
\resizebox{0.95\columnwidth}{!}{$\displaystyle
\frac{veryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongword}{a}$}
\]
\end{document}

相关内容