如何将LyX中的长公式分成两行(或多行)?我知道如何在一个"数学框"中编写几行方程,但我正在寻找一种解决方法,即使在括号中间也能打破线条.
我正在使用LyX 1.6.4,目前,当公式太大时,它没有做任何事情(它只是不打印它的最后一段,这是"超出"页面).
这在LyX中可能吗?
是的,但你必须手工完成.
查看:
Lyx有一个"插入 - >数学 - > AMS多线环境"控件,或者您可以使用Insert Latex控件直接输入Latex来使用上面推荐的解决方案.
迈克尔唐斯用这个软件包做了一些非常特别的Tex编码,但它对于一般用途来说还不够强大 - 它与Amsmath大多不相容,例如,以难以理解的方式打破,并且在公式中产生一些明显不合理的换行符.
显示公式中的自动换行被列为Tex中最重要的开放研究问题之一.
如果您在 LyX“LaTeX 序言”中包含 \usepackage{breqn} (加上以下代码),那么标准“方程”环境(显示公式)将按照您的意愿自动中断。
% Add support for automatic equation breaking
\gdef\wrap@breqn@environ#1#2{
\expandafter\let\csname breqn@oldbegin@#1\expandafter\endcsname\csname #1\endcsname
\expandafter\let\csname breqn@oldend@#1\expandafter\endcsname\csname end#1\endcsname
\expandafter\gdef\csname breqn@begin@#1\endcsname{%
\expandafter\let\csname #1\expandafter\endcsname\csname breqn@oldbegin@#1\endcsname%
\begin{#2}%
}
\expandafter\gdef\csname breqn@end@#1\endcsname{%
\expandafter\let\csname end#1\expandafter\endcsname\csname breqn@oldend@#1\endcsname%
\end{#2}%
\expandafter\let\csname #1\expandafter\endcsname\csname breqn@begin@#1\endcsname%
\expandafter\let\csname end#1\expandafter\endcsname\csname breqn@end@#1\endcsname%
}
\expandafter\let\csname #1\expandafter\endcsname\csname breqn@begin@#1\endcsname
\expandafter\let\csname end#1\expandafter\endcsname\csname breqn@end@#1\endcsname
}
\wrap@breqn@environ{equation}{dmath}
\wrap@breqn@environ{equation*}{dmath*}
Run Code Online (Sandbox Code Playgroud)
如果您希望覆盖默认(未编号)LyX 方程环境,则还需添加以下内容:
\DeclareRobustCommand\[{\begin{equation*}}
\DeclareRobustCommand\]{\end{equation*}}
Run Code Online (Sandbox Code Playgroud)