我有这个代码:
\documentclass{article}
\usepackage{breqn}
\usepackage{blindtext}
\eqinterlinepenalty=0
\intereqpenalty=0
\begin{document}
\blindtext[3]
\begin{itemize}
\item Line of item, line of item, line of item, line of item, line of item, line of item
\begin{dmath*}
1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
\end{dmath*}
\end{itemize}
\end{document}
输出:
我得到了一个不在项目中心的等式。
有没有什么解决方案可以强制使用 dmath 将 item 下的方程式置于中心?
要求:等式会跨页断裂
答案1
itemize 环境会更改左边距,因此我在第一个项目符号中将等式偏移了相同的量。在第二个项目符号中,我将缩进量进一步增加\itemsep
,即项目符号和项目文本之间的间距。这两个解决方案之一应该会给您满意的答案。在第三个项目符号中,我显示了这些长度有多长,以让您相信它们的值。
\documentclass{article}
\usepackage{breqn}
\begin{document}
\begin{itemize}
\item Line of item, line of item, line of item, line of item, line of item, line of item
\begin{dmath*}
\rule{\leftmargin}{0in} 1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
\end{dmath*}
\item Line of item, line of item, line of item, line of item, line of item, line of item
\begin{dmath*}
\rule{\leftmargin+\itemsep}{0in} 1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
\end{dmath*}
\item x\rule{\itemsep}{0in}x\rule{\leftmargin}{0in}x
\end{itemize}
\end{document}
补充:
正如 barbara beeton 指出的那样,对齐中似乎存在轻微差异,我一开始没有注意到。我已确认,当行接近全文本宽度时,就会出现此差异。此外,这似乎与\rule
我作为原始解决方案的一部分添加的无关,而是与 dmath 本身有关!请参见下文,其中未添加任何规则。
在第一种情况下,在 itemize 之外,等式格式很好。在第二种情况下,在 itemize 内部,格式也很好。在第三种情况下,在 itemize 内部,添加一些额外字符会产生不对齐,Barbara 指出。但最关键的是第四种情况。在 itemize 之外,当等式接近全行宽度时,会出现同样的不对齐。最后一种情况显然与 itemize 无关,也与\rule
s 无关。这本身就是一个问题dmath
。
\documentclass{article}
\usepackage{breqn}
\begin{document}
\begin{dmath*}
xxx1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
\end{dmath*}
\begin{itemize}
\item Line of item, line of item, line of item, line of item, line of item, line of item
\begin{dmath*}
xxx1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
\end{dmath*}
\item Line of item, line of item, line of item, line of item, line of item, line of item
\begin{dmath*}
xxx1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
\end{dmath*}
\end{itemize}
\begin{dmath*}
xxxxxxxxxxxxxxxxx1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
= 1 - 1 + 1 - 1 + 1 - 1
\end{dmath*}
\end{document}
答案2
一种方法是将显示内容放在小页面中:
\documentclass{article}
\usepackage{breqn}
\begin{document}
\begin{itemize}
\item Line of item, line of item, line of item, line of item, line of
item, line of item, line of item, with minipage:\par
\begin{minipage}{1.0\linewidth}
\begin{dmath*}
1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 +
1 - 1 + 1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 = 1 - 1 + 1 - 1 + 1 - 1
\end{dmath*}
\end{minipage}
\item Line of item, line of item, line of item, line of item, line of
item, line of item, line of item, no minipage:
\begin{dmath*}
1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 +
1 - 1 + 1 - 1 = 1 - 1 + 1 - 1 + 1 - 1 = 1 - 1 + 1 - 1 + 1 - 1
\end{dmath*}
\item Another item.
\end{itemize}
\end{document}
这种方法的优点是您不需要知道使用了哪些缩进变量。但是,公式不会跨页(即使使用\allowdisplaybreaks
),公式周围的垂直间距也不是完全标准的。