如何将LyX中的长公式分成两行(或更多行)?我知道如何在一个“数学框”中编写几行方程,但我正在寻找一种解决方法,即使在括号中间也能打破线条。
我正在使用LyX 1.6.4,目前,当公式太大时,它没有做任何事情(它只是不打印它的最后一段,这是“超出”页面。)< / p>
这在LyX中是否可行?
答案 0 :(得分:5)
是的,但你必须手工完成。
退房:
Lyx有一个“插入 - &gt;数学 - > AMS多线环境”控件,或者您可以使用Insert Latex控件直接输入Latex来使用上面推荐的解决方案。
显示公式中的自动换行符列为one of the top open research problems in Tex。
答案 1 :(得分:4)
如果在LyX“LaTeX Preamble”(加上以下代码)中包含\ 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*}
如果您希望覆盖默认(未编号)LyX方程式环境,则还要添加以下内容:
\DeclareRobustCommand\[{\begin{equation*}}
\DeclareRobustCommand\]{\end{equation*}}
答案 2 :(得分:3)
您可能想尝试breqn
包。它为大型配方提供自动换行功能。这样就不需要手动修复分隔符或选择断点。当然,这不是实际的LyX功能,但它完全符合您的要求。
答案 3 :(得分:1)
插入->数学-> AMS多行环境
编写方程式,然后在要拆分的位置单击“ Ctrl + Enter” 然后右键单击方程式,然后选择数字整个方程式
答案 4 :(得分:0)
最近我不得不处理同样的问题。我的简单解决方案(不知道是否最好)是使用ctrl + enter进行多行,对于括号问题,您可以使用括号,括号和括号后面的按钮,这将打开一个窗口,其中包含这些和许多其他选项,更重要的是,可以同时选择不同的选项,(比如这个)。特别是,你可以选择“none”,每行只有“(”或“)”, (喜欢 + /此) 希望它有所帮助。
答案 5 :(得分:0)
我的方式&#34;在lyx&#34;中打破长的公式线是按需使用breqn。该方法在这篇文章中进行了演示。
在LyX&#34; LaTeX Preamble&#34;把以下
\usepackage{amsmath}
\usepackage{etoolbox}
\usepackage{breqn}
\newcommand{\breqnoverloadothers}
{%
\renewenvironment{equation}{\ignorespaces\begin{dmath}}{\end{dmath}\ignorespacesafterend}%
\renewenvironment{equation*}{\ignorespaces\begin{dmath*}}{\end{dmath*}\ignorespacesafterend}%
\renewenvironment{multline}{\ignorespaces\begin{dmath}}{\end{dmath}\ignorespacesafterend}%
\renewenvironment{multline*}{\ignorespaces\begin{dmath*}}{\end{dmath*}\ignorespacesafterend}%
}
\newcommand\breqnundefineothers
{%
\renewenvironment{equation}{}{}%
\renewenvironment{equation*}{}{}%
\renewenvironment{multline}{}{}%
\renewenvironment{multline*}{}{}%
}
\AtBeginEnvironment{dmath}{\breqnundefineothers}
\AtBeginEnvironment{dmath*}{\breqnundefineothers}
\AtBeginEnvironment{dgroup}{\def\breqnundefineothers{}\breqnoverloadothers}
\AtBeginEnvironment{dgroup*}{\def\breqnundefineothers{}\breqnoverloadothers}
在Lyx中,对于要应用breqn的长方程,只需1)使用上面已经过载的任何数学环境排版方程式,即方程/方程* / multline / multline *,和2)环绕使用dmath环境或dgroup环境的等式,如:
\begin{dmath}
hit ctrl+shift+M to insert a long equation here, and number the equation
\end{dmath}
或
\begin{dgroup}
hit ctrl+shift+M to insert a long equation here, and number the equation
hit ctrl+shift+M again to insert another long equation here, and number the equation
\end{dgroup}
现在您可以导出为PDF并查看长方程式处理&#34;自动&#34;由breqn。未包含在dmath或dgroup中的方程式不会受到影响。
生成了屏幕截图,但我没有上传它们的10点声誉。
答案 6 :(得分:0)
我知道这有点老了,但有人可能仍然需要这个信息,就像我不久前一样。 我最近遇到了类似的问题,在中间打破了一个数字线。 (lyx 2.04及更高版本)。 我使用了lyx eqn数组。 把等式,所有这些都放到eqn数组的右边框中(有两个) 在您要打破方程式时,请按CTRL + Enter。 这会将您的等式分成两行。 如果您有一个带编号的方程式数组,请将上一行切换为: 按Alt + M Shift + N删除公式编号,在两行上只留下一个公式。