Megpróbálok összehangolni egy hosszú egyenleteket, amelyek maguk is align környezetek, mivel többségük több vonalon terjed.

Jelenleg csak align környezetek szekvenciája van, minden egyenlet belsejében az egyes egyenletek darabjainak összehangolása érdekében. Csatolok egy képernyőképet az eredményről:

Unaligned

Amit szeretne kapni, az inkább valami

Igazítva

amely ugyanaz az egyenletkészlet, miután átment egy napló másolási irodáján, és sokkal jobban néz ki.

Itt van egy MWE. Szeretném, ha mindhárom egyenlet igazodna az egyenlőségjelhez.

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

Megjegyzések

  • Üdvözöljük a TeX.sx oldalon! Mint új, képfeltöltési jogosultsággal nem rendelkező felhasználó egyszerűen a szokásos módon tartalmazza a képet, és távolítsa el az ! -t belőle, hogy linkké váljon. Ezt követően egy moderátor vagy más szerkesztési jogosultsággal rendelkező felhasználó visszahelyezheti a ! fájlt, hogy újra képpé alakítsa.
  • Sokkal könnyebb lenne, ha megadná a kódot egy teljesen fordítható MWE szempontból, amely szemlélteti a problémát, ideértve a \documentclass -t és a megfelelő csomagokat, hogy azok, akik megpróbálják segítsen, ne kelljen újra létrehozni.
  • Talán Hogyan lehet összehangolni a közönséges szövegen; mint a mátrixok törésében, az egyenlethalmazok, a táblázatok hasznosak lehetnek.
  • Szerintem ‘ jobb, ha a split egyes hosszú egyenletek helyett align. a dokumentum szerint a split egyetlen hosszú egyenletre, a align több egyenletre vonatkozik. A számozásnak hatással kell lennie.

Válasz

tényleges példa nélkül, itt értelmezem, mit akar.

a példakód kimenete

és itt van a bemenet:

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

a leghosszabb bal oldali elem beillesztésre kerül az elején, mint \phantom, és az

szegmenseket” láthatatlanná “teszi azáltal, hogy balra csapja őket a\mathllapsegítségével amathtoolscsomagból.

Az eredeti választ (helyesen) megjegyezték, hogy a szegmenseket csak akkor lehet megfelelően összehangolni, ha a bal oldal azonos hosszúságú. Ez a módosítás leküzdi ezt a problémát.

Megjegyzések

  • hoppá! elfelejtettem pár jelet. megjelenik a frissített verzió.
  • csak akkor működik, ha a bal oldal azonos hosszúságú?
  • @ user1834164 – – te ‘ d korrigáljuk a bal oldali elemek hosszát. de megmenthető. hozzátéve, hogy …
  • miért van szükségünk fantomra {i + j + k} .. Nem értettem ..
  • @PraphullaKoushik – a \phantom szükséges, hogy az egyenletcsoport bal oldali szélessége beletartozzon az egész csoport szélességébe, hogy a csoport középre kerüljön.

Válasz

Használhatja a split környezetet is a környezetet, ampersand (&) használatával, ahol az igazítást szeretné végrehajtani. Itt van egy 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} 

Figyelje meg, hogy az utolsó egyenlet nincs split környezetben, de mégis igazodik a többivel, mivel még mindig a align környezetben van.

A kimenet így néz ki:

Felosztott környezet kimenete összehangolt környezetben

Vegye figyelembe az üres csoportokat ({}) az és jelek előtt. Ezek nélkül az egyenlőségjelek és a karakter között ne legyen kerning utána, mert az igazítás feldarabolja a négyzetet. Míg az üres csoportok nem csinálnak semmit, matematikai módban az előttük lévő szimbólumok úgy adják hozzá a rendszermagot, mintha az üres csoportok hétköznapi karakterek lennének. Ez lehetővé teszi a TeX számára, hogy kiválassza a legmegfelelőbb távolságot. Ha az és / vagy jeleket az egyenlőségjelek elé helyeznék, az igazodó környezet az egyenlőségjelek köré csavarodna, ahogy kellene, ilyen gond nélkül, de a felosztási egyenlet összeadási jele kényelmetlenül messze fekszik, és valamilyen manuális módosítást igényel. saját.

Hozzászólások

  • A megoldásban az a jó, hogy nem kell vacakolni a vagy \mathllap.
  • Ejha!Valójában úgy tűnik, hogy nem is kell ‘ még a felosztás sem, a &= szöveget ={}& megcsinálja!
  • Amikor megpróbálom ezt megtenni, megkapom a ” hibát. Az Extra igazítás lap \ cr. ” Ezt a hibát akkor kapom, amikor egynél több és több jelet próbálok használni a felosztáson belül. Van valami ötlet?
  • @Blaisorblade – a felosztás oka az egyenletszámok megfelelő alkalmazása az egyes csoportokra. igen, \notag használható, de nem ‘ nem adja meg a kívánt kimenetet, ha az egyenletszámot a csoport közepére kell állítani. / li>
  • Kipróbáltam ezt a technikát, és a PDF-be történő konvertáláskor működött, de hibásan működött, amikor a mk4ht htlatex test.tex "xhtml,mathml" munkafolyamat segítségével HTML-be konvertáltam. Feltételezem, hogy ‘ hibát jelent a html átalakítóban.

Válasz

A barbara válaszának kiterjesztéseként csak az egyenletek jobb oldalát tekerheti aligned szuvenkörnyezetbe. Ez lehetővé teszi a különálló a bal vagy a jobb oldali oldal méretétől független egyenletek.

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

A második egyenlet második sorában található pluszjel nem pontosan egyezik, mert ez “sa mathbin szimbólum. Lehet, hogy valaki, aki több TeX-ismerettel rendelkezik, megjegyzést fűzhetne a legjobb megoldásához.

Megjegyzések

  • Köszönöm, ez is működik. Úgy látom, a különbség az, hogy az egyenletszámok az egyes egyenletek felső sorában vannak, míg ha az egész egyenlet a ‘ igazított ‘ környezetben az egyenletszámok függőlegesen középre kerülnek. Van-e mód ennek ellenőrzésére?
  • @eldering – hogy az utolsó sorban az első pluszjel után megkapjuk a megfelelő távolságot, előtte egy üres csoportot kell megadni, {}.

Válasz

Itt van egy align -csak az egyenletek verziója:

írja ide a kép leírását

\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} ​ 

Néhány a kiigazítások közé tartozik

  • A \mathrel használata a rejtett = körüli megfelelő távolságra (\phantom);
  • Néhány negatív \nulldelimiter kerning hiányzó \left. elválasztók körül (különben további távolságot vezetnének be az operátor / operandus között);
  • magasságállítás többsoros \left\{ és \right\} párok.

Közös szálként hasznos lehet átnézni Herbert Voß “ mathmode dokumentum .

Válasz

Ez egy Ennek módja kis mennyiségű szöveg esetén a \intertext paranccsal.

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

Megjegyzések

  • A releváns rész a \qquad -ről szól, amelyet ‘ használtam, de ez nem történik meg ‘ nem működnek elég jól.
  • (+1) Ah! 🙂 Egy ideig kerestem ilyet. Nagyon köszönöm. 🙂
  • Abban az esetben, ha a bekezdések felosztják az igazítandó egyenleteket, mi a legjobb megoldás?

Válasz

Ha a záróegyenletek igazítása helyett jobbra kívánja igazolni őket (hasonlóan a \multiline környezet kezeléséhez a záróegyenletekhez), akkor a következőket is használhatja: trükk, amelyet Ulrike Fischer e válaszából vettem át.

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

kihagyás + hfill

válasz

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

a következő kimenetet adja írja ide a kép leírását

Megjegyzések

  • Hogyan kezeli ez az eredeti bejegyzést oly módon, hogy a többi válasz már nem foglalkozott vele ‘?

Válasz

Ez a válasz akkor működik, ha a

csomag. Az alábbi példa két LaTeX makrót határoz meg:\mymidlineés\mylastline. Mindkét makróalign*környezetekben lényegében kibővül az első argumentumig. Az\mymidlinemakró központosítja, a\mylastlinemakró pedig jobbra igazítja. Ezáltal a második argumentumban szereplő dolgok szélességét kivonjuk a rendelkezésre álló “megjelenítési szélességből”.align*olyan környezeteknél, amelyeknek éppen az egyenlet (leghosszabb) bal oldala kell, hogy legyen. Az alábbi példa bemutatja, hogyan teheti ezt meg a leghatékonyabban egy\LHSmakróval.

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

Többsoros formázás az igazításon belül *

Ha a számozott verziója van align*, vegye figyelembe a az egyenletcímke és a címkeválasztó szélessége az \mymidline és \mylastline második argumentumban. Nem találtam egy előre meghatározott mértéket a címke szélességéhez. Néhány teszt után kiderült, hogy a \quad\quad(1) megfelelő helyőrző a címkéhez.

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

írja ide a kép leírását

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük