web-dev-qa-db-ja.com

数学に改行を入れる方法

次の文を表現したいと思います(source_locationもイタリックであり、正しくレンダリングされていません):

各エントリにはタプルのリストがあります:<source_locationR/Wtrip_counteroccurrence殺された(後で説明されます)>

これに対する私の現在の回避策は次のとおりです。

$ \left\langle
\textit{source\_location}, \textit{R/W}, \textit{trip\_counter},
\textit{occurrence}, \textit{killed} \text{(explained in the later)}
\right\rangle $

2列の紙を使用しています。この<..>は長すぎますが、数学であるため改行はありません。このような場合、自動(または手動)で改行を入れるにはどうすればよいですか?のようだ \left\langleおよび\right\rangleは単一の数学である必要があります。したがって、複数の数学に割り込むのは難しいです。

$<$および$>$は代替手段ですが、私はそれが好きではありません。

15
minjang

新しいコマンドを定義してみませんか:

\newcommand{\Tuple}[5]{$\langle$\textit{#1}, \textit{#2}, \textit{#3}, \textit{#4},
   \textit{#5} (explained in the latter)$\rangle$}

次に、\Tuple{sourcelocation}{R/W}{tripcounter}{occurrence}{killed}を使用します

5
Rob Hyndman

LaTeXでは、デフォルトでインライン計算で行を分割できますが、いくつかの制限があります。具体的には、あなたの場合、\left...\rightを使用すると、すべてが壊れない数学グループ内に配置されるため、最初のステップは、それらを単なる\langle...\rangleまたはおそらく\bigl\langle...\bigr\rangleに置き換えることです。

ただし、これでも改行を許可するには十分ではありません。通常、これはリレーションまたは演算子の後にのみ許可され、コンマなどの句読点は許可されません。 (とにかくこれが起こっていると思います。これを調べるのを止めていません。)したがって、各コンマの後に\linebreak[1]を書き込むことによって、許容される改行が発生する可能性のある場所を示します。

これを実行する頻度によっては、「タプル」をニースコマンドにラップするコマンドを作成することが望ましい場合があります。これをソースに書き込むには:

 $\mytuple {source\_location、R/W、trip\_counter、occurrence、
 killed\upshape(後で説明)} $ 

上記のすべてを考慮に入れた\mytupleの定義は次のとおりです。

\makeatletter 
\newcommand\mytuple [1] {%
\@ tempcnta = 0 
\bigl\langle 
\@for\@ ii:=#1\do {%
\@insertbreakingcomma 
\textit {\ @ ii} 
}%
\bigr\rangle 
 } 
\def\@insertbreakingcomma {%
\ifnum\@tempcnta = 0\else\,\\ linebreak [1]\fi 
\Advance\@tempcnta\@ ne 
} 
\makeatother 
21
Will Robertson

breqnと呼ばれるその問題に対処するパッケージ があるようです。これを試して、私たちに知らせてください(私はそれを使用していません)。

1

AMSmathのalign *環境を使用します。さらに、「\」を追加して行を分割することもできますか?数学環境でも機能するはずです。または、方程式を分離することもできます。

0
wishi