web-dev-qa-db-ja.com

LyX-長い数式ラインを壊す

LyXの長い数式を2つ(またはそれ以上)の行に分割するにはどうすればよいですか?数式の複数の行を1つの「数学ボックス」に書き込む方法を知っていますが、括弧の途中でも改行する解決策を探しています。

私はLyX 1.6.4を使用していますが、現在、式が大きすぎると何も実行されません(ページの「その先」にある最後のセグメントは印刷されません)。

これはLyXで可能ですか?

21
Amir Rachum

はい、しかしあなたはそれを手作業で行わなければなりません。

チェックアウト:

  1. 長いLaTeX方程式に改行を入れるにはどうすればよいですか?
  2. ラテックスマルチライン方程式

Lyxには「挿入->数学-> AMSマルチライン環境」コントロールがあります。または、ラテックス挿入コントロールを使用して直接ラテックスを入力することで、上記の推奨ソリューションを使用できます。

Breqnに関する注意

Michael Downesは、このパッケージを使用して並外れたTexコーディングを行いましたが、一般的な使用には十分に堅牢ではありません。たとえば、Amsmathとほとんど互換性がなく、たとえば、理解しにくい方法で中断し、数式で明らかに不健全な改行を作成します。

表示式での自動改行は Texの未解決の研究課題の1つ としてリストされていました。

5
Charles Stewart

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*}

追加2016-12-08:

デフォルトの(番号付けされていない)LyX方程式環境をオーバーライドする場合は、以下も追加します。

\DeclareRobustCommand\[{\begin{equation*}}
\DeclareRobustCommand\]{\end{equation*}}
4
Compholio

breqn パッケージを試してみてください。大きな数式の自動改行を提供します。この方法では、区切り文字を手動で修正したり、ブレークポイントを選択したりする必要はありません。もちろん、これは実際のLyX機能ではありませんが、まさにあなたが望んでいることを行います。

3
Pieter

挿入->数学-> AMSマルチライン環境

方程式を記述し、分割する場所で「Ctrl + Enter」をクリックしてから、方程式を右クリックして、数式全体の番号を選択します

1
Guest

ごく最近、私は同じ問題に対処しなければなりませんでした。私の簡単な解決策(最善かどうかわからない)は、複数行にctrl + enterを使用することであり、括弧の問題については、括弧、角括弧、波括弧の直後にボタンを使用できます。オプション、そして重要なことに、同時に異なる選択肢を持つオプション(これなど)。特に、「なし」を選択し、各行に「(」または「)」のいずれかのみを含めることができます(+/thisなど)。 ) それが役に立てば幸い。

0
Pablo

これは少し古いことを知っていますが、私がそれほど前にそうしなかったように、誰かがまだこの情報を必要とするかもしれません。私は最近これと同様の問題を抱えており、中央の番号付きの行を壊しました。 (lyx 2.04以降)。 lyx eqn配列を使用しました。方程式をすべてeqn配列の右側のボックスに入力します(2つあります)方程式を解く場所で、Ctrl + Enterキーを押します。これにより、方程式が2行に分割されます。番号付きの数式配列がある場合は、Alt + M Shift + Nを使用して上の行を切り替え、数式番号を削除して、2行に1つの数式のみを残します。

0
Ejike

「lyxで長い数式行を壊す」私の方法は、オンデマンドでbreqnを使用することです。この方法はこの投稿で説明されています。

LyXの「LaTeX Preamble」に次のように入力します

\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)上でオーバーロードされている任意の数学環境を使用して方程式をタイプセットします。つまり、equation/equation */multline/multline *、および2) s)次のような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にエクスポートすると、長い方程式がbreqnによって「自動的に」処理されることがわかります。dmathまたはdgroupで囲まれていない方程式は影響を受けません。

スクリーンショットが生成されますが、それらをアップロードする10ポイントの評判はありません。

0
Peng Liu