有没有一种方法可以让长数学表达式在超出文档正文范围时(且仅当)自动中断?
例如,我希望以下内容可以分成两行如果(且仅当)它位于一列较窄的文本中(例如,如果<class>
是IEEEtran
),否则仍保留在一行中(例如,<class>
如果是article
),只要它适合单个(更宽)的列即可。
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\[
\hat{S}=\sum_{l\in\left\{ 1,\ldots L\right\} }\left[\bigl[1\!-\! f_{p}(l\!+\!1)\bigr]\;\overline{w}(l-1)\;\biggl[\,\prod_{i=0}^{l-1}\; f_{p}(i)\;\,\overline{\! N}(i)\biggr]\;\hat{H}_{S}(l-1)\right]
\]
\lipsum[2]
\end{document}
答案1
为了结合对问题的一些评论,这个答案使用了breqn
包并分别将\[
和\]
命令重新定义为\begin{dmath}
和\end{dmath}
。
代码:
\documentclass[12pt]{book}
\usepackage{lipsum}
\usepackage[]{breqn}
\renewcommand\[{\begin{dmath}}
\renewcommand\]{\end{dmath}}
\begin{document}
\lipsum[1]
\[
\hat{S}=\sum_{l\in\left\{ 1,\ldots L\right\} }\left[\bigl[1\!-\! f_{p}(l\!+\!1)\bigr]\;\overline{w}(l-1)\;\biggl[\,\prod_{i=0}^{l-1}\; f_{p}(i)\;\,\overline{\! N}(i)\biggr]\;\hat{H}_{S}(l-1)\right]
\]
\lipsum[2]
\end{document}