長い方程式のセットを整列させようとしています。それ自体がalign環境。

現在、私は一連のalign環境を持っており、各方程式の断片を揃えるために各方程式が内部にあります。結果のスクリーンショットを添付します:

整列されていません

代わりに取得したいのは、より似たものです

整列

これは、ジャーナルのコピー編集オフィスを通過した後の同じ方程式のセットであり、はるかに見栄えがします。

これがMWEです。 3つの方程式すべてを等号に揃えたいです。

\documentclass{article} \usepackage{amsmath} \begin{document} \begin{align} a & = b + c + d \nonumber \\ & \qquad + e + f + g \label{eq:1} \end{align} \begin{align} k & = l + m + n + m + n + m + n \nonumber \\ & \qquad + o + p + q \label{eq:2} \end{align} \begin{equation} r = s + t (u + v + w) \label{eq:3} \end{equation} \end{document} 

コメント

  • TeX.sxへようこそ!画像投稿権限のない新規ユーザーは、通常どおり画像を含め、前の!を削除するだけです。それをリンクに変えるために。モデレーターまたは編集権限を持つ別のユーザーは、!を再挿入して、画像に戻すことができます。
  • コードを提供すると、はるかに簡単になります。完全にコンパイル可能な MWE の観点から、\documentclassと適切なパッケージを含む問題を説明します。 ‘再作成する必要はありません。
  • おそらく通常のテキスト全体に配置する方法。行列の分割、方程式のセット、テーブルが役立つ場合があります。
  • ‘を使用する方が良いと思いますivid = ” alignではなく単一の長い方程式の場合は233f7ddbe8 “>

。ドキュメントによると、splitは単一の長い方程式用であり、alignは複数の方程式用です。番号付けに影響を与える必要があります。

回答

実際の例はありませんが、ここでは、

サンプルコードの出力

入力は次のとおりです:

\documentclass{article} \usepackage{mathtools} \begin{document} This example shows \verb|aligned| equations within an \verb|align| environment. \begin{align} \phantom{i + j + k} &\begin{aligned} \mathllap{a} &= b + c + d\\ &\qquad + e + f + g + x + y + z \end{aligned}\\ &\begin{aligned} \mathllap{i + j + k} &= l + m + n\\ &\qquad + o + p + q \end{aligned} \end{align} \end{document} 

最初に最も長い左側の要素が\phantomとして挿入され、個々の左側の要素の長さがalignedセグメントは、mathtoolsパッケージの\mathllapを使用して左にラップすることにより、「非表示」になります。

元の回答は、左側が同じ長さの場合にのみセグメントを適切に位置合わせするように(正しく)記録されていました。この変更により、この問題が解決されます。

コメント

  • おっと!数アンペアを忘れました。更新されたバージョンが近づいています。
  • 左側が同じ長さの場合にのみ機能しますか?
  • @ user1834164- -あなた’左側の要素の長さについて正しい。しかし、それは回収することができます。それを追加…
  • なぜ\ phantom {i + j + k}が必要なのか..理解できませんでした..
  • @PraphullaKoushik-\phantomは、方程式のグループの左側の幅がグループ全体の幅に含まれ、グループが中央に配置されるようにするために必要です。

回答

iv id = “32f64cf4df”内でsplit環境を使用することもできます>

環境、調整を実行する場所でアンパサンド(&)を使用します。 MWEは次のとおりです。

\documentclass{article} \usepackage{amsmath} \begin{document} \begin{align} \begin{split}\label{eq:1} a ={}& b + c + d\\ & + e + f + g \end{split}\\ \begin{split}\label{eq:2} k ={}& l + m + n + m + n + m + n\\ & + o + p + q \end{split}\\ r ={}& s + t (u + v + w)\label{eq:3} \end{align} \end{document} 

最後の方程式はsplit環境内にありませんが、整列していることに注意してください。残りは、まだalign環境内にあるためです。

出力は次のようになります:

整列環境内の分割環境の出力

アンパサンドの前の空のグループ({})に注意してください。これらがないと、等号と文字の間にカーニングを適用しないでください。配置によってボックスが壊れます。空のグループはそれ自体では何もしませんが、数学モードでは、前のシンボルが空のグループが通常の文字であるかのようにカーニングを追加します。これにより、TeXは最も適切な間隔を選択できます。アンパサンドが等号の前に配置された場合、整列環境はそのような面倒なことなく等号の周りをカーニングしますが、分割方程式の加算符号は不快なほど後ろにあり、何らかの手動で調整する必要があります

コメント

  • このソリューションの良いところは、または\mathllap
  • わあ!実際、’は分割を必要とせず、&=={}&でうまくいきます!
  • これを実行しようとすると、エラーが発生します”追加の配置タブが\ crに変更されました。”スプリット内で複数のアンパサンドを使用しようとすると、このエラーが発生します。何かアイデアはありますか?
  • @ Blaisorblade-分割の理由は、各グループに方程式番号を適切に適用するためです。はい、\notagを使用できますが、方程式番号をグループの中央に配置する必要がある場合は、’目的の出力が得られません。
  • この手法を試しましたが、PDFに変換すると機能しましたが、mk4ht htlatex test.tex "xhtml,mathml"ワークフローを使用してHTMLに変換すると誤動作しました。 ‘ htmlコンバーターのバグだと思います。

回答

バーバラの答えの拡張として、方程式の右辺のみをalignedサブ環境にラップすることができます。これにより、個別の等号を揃えることができます。左辺または右辺のサイズに依存しない方程式。

\documentclass{article} \usepackage{amsmath} \begin{document} This example shows \verb|aligned| equations within an \verb|align| environment. \begin{align} a &= \begin{aligned}[t] &b + c + d +\\ &c + e + f + g + h + i \end{aligned}\\ k &= \begin{aligned}[t] &l + m + n\\ &+ o + p + q \end{aligned} \end{align} \end{document} 

2番目の方程式の2行目のプラス記号は、正確には一致しません。 it “sa mathbinシンボル。 TeXの知識が豊富な人が、それを修正する最善の方法についてコメントできるかもしれません。

コメント

  • ありがとう、それも機能します。私が見る違いは、方程式番号が各方程式の一番上の行にあるのに対し、方程式全体が’整列’にある場合です。環境では、方程式の番号は垂直方向の中央に配置されます。それを制御する方法はありますか?
  • @ eldering-最後の行の最初のプラス記号の後に一致する間隔を取得するには、その前に空のグループ{}

回答

これがalignです。 -方程式のバージョンのみ:

ここに画像の説明を入力

\documentclass{article} \usepackage{amsmath}% http://ctan.org/pkg/amsmath \newcommand{\myvec}[1]{\hat{\mathbf{#1}}}% Vector notation \begin{document} \begin{align} f_{\textit{P},\textit{P}}\left(\myvec{n};\myvec{m}\right) &= \frac{\omega^2}{4\pi\rho\alpha^4} \textit{AF}\left(k_\alpha\left(\myvec{n}-\myvec{m}\right)\right) \nonumber \\ &\mathrel{\phantom{=}} \times\left\{\left(\lambda+\mu\right)^2\eta_N+\left(\lambda+\mu\right)\mu\eta_N\left(\cos 2\phi+\cos 2\theta\right)\right. \nonumber \\ &\mathrel{\phantom{=}} \left.\kern-\nulldelimiterspace +\;\mu^2\eta_N\cos 2\phi\cos 2\theta+\mu^2\eta_T\sin 2\phi\sin 2\theta\cos\varphi\vphantom{\left(\lambda\right)^2}\right\}, \\ f_{\textit{P},\textit{SH}}\left(\myvec{n};\myvec{m},\myvec{q}\right) &= \frac{\omega^2}{4\pi\rho\alpha\beta^3} \textit{AF}\left(k_\alpha\myvec{n}-k_\beta\myvec{m}\right) \nonumber \\ &\mathrel{\phantom{=}} \times\left(-\mu^2\eta_T\right)\sin 2\phi\cos\theta\sin\varphi, \\ f_{\textit{P},\textit{SV}}\left(\myvec{n};\myvec{m},\myvec{q}\right) &= \frac{\omega^2}{4\pi\rho\alpha\beta^3} \textit{AF}\left(k_\alpha\myvec{n}-k_\beta\myvec{m}\right) \nonumber \\ &\mathrel{\phantom{=}} \times\left\{\left(\lambda+\mu\right)\mu\eta_N\sin 2\theta+\mu^2\eta_N\cos 2\phi\sin 2\theta\right. \nonumber \\ &\mathrel{\phantom{=}} \left.\kern-\nulldelimiterspace -\;\mu^2\eta_T\sin 2\phi\cos 2\theta\cos\varphi\right\}, \end{align} \end{document} ​ 

一部調整には次のものが含まれます

  • \mathrelを使用して、非表示の=\phantom);
  • 欠落している\left.区切り文字を回避するいくつかの否定的な\nulldelimiter(それ以外の場合)演算子/オペランドの間に追加のスペースが導入されます);
  • 複数行の\left\{\right\}の高さ調整ペア。

共通のスレッドとして、HerbertVoß “ mathmodeドキュメント

回答

これは\intertextコマンドを使用して少量のテキストに対してこれを実現する方法。

\documentclass{article} \usepackage{amsmath} \begin{document} This example shows \verb|aligned| equations within an \verb|align| environment. \begin{align} \begin{aligned} a &= b + c + d\\ &\qquad + e + f + g \end{aligned}\\ \begin{aligned} k &= l + m + n + m + n + m + n\\ &\qquad + o + p + q \end{aligned} \end{align} This example shows text and equations within an \verb|align| environment. \begin{align} a &= b + c + d\\ &\qquad + e + f + g \intertext{A small amount of text can go here with $x=2$ inline math and $$\int_a^b f(x)\,dx=F(b)-F(a)$$ (even inline math). But not a lot of text. } k &= l + m + n + m + n + m + n\\ &\qquad + o + p + q \end{align} \end{document} 

コメント

  • 関連する部分は、私が’使用した\qquadに関するものですが、’ div id = “b135d8140d”>

十分に機能しません。

  • (+ 1)ああ! :)私はしばらくの間そのようなものを探していました。どうもありがとう。 🙂
  • 整列する方程式を分割する段落の場合、最善の解決策は何ですか?
  • 回答

    末尾の方程式を右揃えにする代わりに(\multiline環境が末尾の方程式を処理する方法と同様に)、次を使用できます。トリック、UlrikeFischerによるこの回答から取得しました。

    \documentclass{article} \usepackage{amsmath} \begin{document} \begin{align} a & = b + c + d + e + f + g + h \nonumber \\ & \hspace{7cm} + i + j + k \\ a & = b + c + d + e + f + g + h \nonumber \\ & \omit\hfill ${} + i + j + k$ \end{align} \end{document} 

    omit + hfill

    回答

    \begin{align} \ni Tdij (Ti,Tj,Sk,t) & = Tdij(Ti,Tj,Sk,t) \nonumber \\ & Tddir (Ti,Tj,Sk,t) \bigoplus \nonumber \\ & Tdrecom (Ti,Tj,Sk,t) \bigoplus \nonumber \\ & Tdiv (Ti,Tj,Sk,t) \label{eq:1} \end{align} 

    次の出力を提供しますここに画像の説明を入力

    コメント

    • 他の回答ではまだ対処されていない’方法で、これは元の投稿にどのように対処しますか?

    回答

    この回答は、

    パッケージ。以下の例では、2つのLaTeXマクロ\mymidline\mylastlineを定義しています。どちらのマクロも、基本的にalign*環境内で最初の引数に展開されます。\mymidlineマクロはそれを中央に配置し、\mylastlineマクロはそれを右揃えにします。これにより、2番目の引数の幅が使用可能な「表示幅」から差し引かれます。align*環境の場合、方程式の(最長の)左辺になります。以下の例は、マクロ\LHSを使用してこれを最も効率的に行う方法を示しています。

     \documentclass{article} \usepackage[DIV15]{typearea} \usepackage{amsmath,amsfonts} \usepackage{fleqn} \usepackage{ulem} \makeatletter \newdimen\@tzadima \newdimen\@tzadimb \newbox\@tzaboxa \def\mylinemeasures#1#2{% \@tzadima\displaywidth% \advance\@tzadima-\tagwidth@% \advance\@tzadima-\alignsep@% \setbox\@tzaboxa\hbox{$\displaystyle#1$}% \@tzadimb\wd\@tzaboxa% \advance\@tzadima-\@tzadimb% \setbox\@tzaboxa\hbox{$\displaystyle#2$}% \@tzadimb\wd\@tzaboxa% \advance\@tzadima-\@tzadimb% } \def\mymidline#1#2{% \mylinemeasures{#1}{#2}% \divide\@tzadima2% \hbox to \@tzadima{}#1\notag } \def\mylastline#1#2{% \mylinemeasures{#1}{#2}% \hbox to \@tzadima{}#1% } \makeatother \begin{document} \begin{align*} \gdef\LHS{(L\cdot R)^{(i)}[i+1:n,i+1:n]}\LHS &= \underbrace{L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n]}_{\text{untouched}}+\\ &\mymidline{+ L^{(i)}[i+1:n,i] \underbrace{R^{(i)}[i,i+1:n]}_{\text{untouched pivot row}}+}\LHS\\ &\mylastline{+ \underbrace{L^{(i)}[i+1:n,i+1:n]}_{=1_{n-i-1}}\cdot R^{(i)}[i+1:n,i+1:n]}\LHS\\ &= L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n] +\\ &\mymidline{+ \uwave{L^{(i)}[i+1:n,i]\cdot R^{(i-1)}[i,i+1:n]}+}\LHS\\ &\mylastline{+R^{(i-1)}[i+1:n,i+1:n]\uwave{\strut- L^{(i)}[i+1:n,i]\cdot R^{(i-1)}[i,i+1:n]}}\LHS\\ &=L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n] +\\ &\mymidline{+ \underbrace{L^{(i-1)}[i+1:n,i]}_{=0}\cdot R^{(i-1)}[i,i+1:n] +}\LHS\\ &\mylastline{+ \underbrace{L^{(i-1)}[i+1:n,i+1:n]}_{=1_{n-i}}\cdot R^{(i-1)}[i+1:n,i+1:n]}\LHS\\ &= A[i+1:n,i+1:n]. \end{align*} \end{document}  

    整列内での書式設定のようなマルチライン*

    番号付きバージョンalign*がある場合は、 \mymidline\mylastlineの2番目の引数の方程式ラベルとラベル区切り文字の幅。 ラベル幅の事前定義された測定値が見つかりませんでした。いくつかのテストの結果、\quad\quad(1)がラベルの適切なプレースホルダーであることが判明しました。

     \documentclass{article} \usepackage[DIV15]{typearea} \usepackage{amsmath,amsfonts} \usepackage{fleqn} \usepackage{ulem} \makeatletter \newdimen\@tzadima \newdimen\@tzadimb \newbox\@tzaboxa \def\mylinemeasures#1#2{% \@tzadima\displaywidth% \advance\@tzadima-\tagwidth@% \advance\@tzadima-\alignsep@% \setbox\@tzaboxa\hbox{$\displaystyle#1$}% \@tzadimb\wd\@tzaboxa% \advance\@tzadima-\@tzadimb% \setbox\@tzaboxa\hbox{$\displaystyle#2$}% \@tzadimb\wd\@tzaboxa% \advance\@tzadima-\@tzadimb% } \def\mymidline#1#2{% \mylinemeasures{#1}{#2}% \divide\@tzadima2% \hbox to \@tzadima{}#1\notag } \def\mylastline#1#2{% \mylinemeasures{#1}{#2}% \hbox to \@tzadima{}#1% } \makeatother \begin{document} \begin{align} \gdef\LHS{(L\cdot R)^{(i)}[i+1:n,i+1:n]}\LHS &= \underbrace{L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n]}_{\text{untouched}}+\notag\\ &\mymidline{+ L^{(i)}[i+1:n,i] \underbrace{R^{(i)}[i,i+1:n]}_{\text{untouched pivot row}}+}\LHS\\ &\mylastline{+ \underbrace{L^{(i)}[i+1:n,i+1:n]}_{=1_{n-i-1}}\cdot R^{(i)}[i+1:n,i+1:n]}{\LHS\quad\quad(1)}\\ &= L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n] +\notag\\ &\mymidline{+ \uwave{L^{(i)}[i+1:n,i]\cdot R^{(i-1)}[i,i+1:n]}+}{(L\cdot R)^{(i)}[i+1:n,i+1:n]}\\ &\mylastline{+R^{(i-1)}[i+1:n,i+1:n]\uwave{\strut- L^{(i)}[i+1:n,i]\cdot R^{(i-1)}[i,i+1:n]}}{\LHS\quad\quad(1)}\\ &=L^{(i-1)}[i+1:n,1:i-1]\cdot R^{(i-1)}[1:i-1,i+1:n] +\notag\\ &\mymidline{+ \underbrace{L^{(i-1)}[i+1:n,i]}_{=0}\cdot R^{(i-1)}[i,i+1:n] +}{(L\cdot R)^{(i)}[i+1:n,i+1:n]}\\ &\mylastline{+ \underbrace{L^{(i-1)}[i+1:n,i+1:n]}_{=1_{n-i}}\cdot R^{(i-1)}[i+1:n,i+1:n]}{\LHS\quad\quad(1)}\\ &= A[i+1:n,i+1:n]. \end{align} \end{document}  

    ここに画像の説明を入力

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です