長い方程式のセットを整列させようとしています。それ自体が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}
コメント
。ドキュメントによると、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”>
十分に機能しません。
回答
末尾の方程式を右揃えにする代わりに(\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}
回答
\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}
!
を削除するだけです。それをリンクに変えるために。モデレーターまたは編集権限を持つ別のユーザーは、!
を再挿入して、画像に戻すことができます。\documentclass
と適切なパッケージを含む問題を説明します。 ‘再作成する必要はありません。align
ではなく単一の長い方程式の場合は233f7ddbe8 “>