Ik probeer een set lange vergelijkingen uit te lijnen, die zelf align
-omgevingen, aangezien de meeste zich over meerdere lijnen verspreiden.
Momenteel heb ik alleen een reeks align
omgevingen, met elke vergelijking erin om de delen van elke vergelijking uit te lijnen. Ik voeg een screenshot toe van het resultaat:
Wat zou in plaats daarvan iets willen krijgen dat er meer uitziet als
wat dezelfde set vergelijkingen is nadat het door het kopieerbureau van een tijdschrift is gegaan en ziet er veel beter uit.
Hier is een MWE. Ik wil dat alle drie de vergelijkingen op het gelijkteken worden uitgelijnd.
\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}
Opmerkingen
Antwoord
zonder een echt voorbeeld, hier is hoe ik interpreteer wat u want.
en hier is de invoer:
\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}
het langste linker element wordt aan het begin ingevoegd als een \phantom
en de lengtes van de linker elementen van het individuele aligned
segmenten worden” onzichtbaar “gemaakt door ze naar links te lappen met \mathllap
van het mathtools
pakket.
het oorspronkelijke antwoord werd (correct) genoteerd om de segmenten alleen correct uit te lijnen als de linkerzijden dezelfde lengte hadden. deze wijziging lost dat probleem op.
Opmerkingen
- oeps! vergat een paar ampersands. bijgewerkte versie komt eraan.
- werkt alleen als de linkerkant even lang is?
- @ user1834164 – – jij ‘ corrigeer over de lengte van de linker elementen. maar het kan worden gered. toe te voegen …
- waarom hebben we \ phantom {i + j + k} nodig .. ik kon het niet begrijpen ..
- @PraphullaKoushik – de
\phantom
is nodig zodat de breedte van de linkerkant van de groep vergelijkingen wordt meegenomen in de breedte van de hele groep, zodat de groep gecentreerd wordt.
Antwoord
U kunt ook de split
-omgeving gebruiken binnen de align
omgeving, gebruikmakend van een ampersand (&
) waar je wilt dat de uitlijning plaatsvindt. Hier is een 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}
Merk op dat de laatste vergelijking zich niet binnen een split
-omgeving bevindt, maar nog steeds is uitgelijnd met de rest, aangezien het zich nog steeds in de align
omgeving bevindt.
De uitvoer ziet er als volgt uit:
Let op de lege groepen ({}
) voor de ampersands. Zonder deze zouden er Er mag geen tekenspatiëring worden toegepast tussen de gelijktekens en het teken achteraf, omdat de uitlijning het kader breekt. Terwijl de lege groepen zelf niets doen, voegen de symbolen ervoor in de wiskundige modus tekenspatiëring toe alsof de lege groepen gewone tekens zijn. Hierdoor kan TeX de meest geschikte tussenruimte kiezen. Als de ampersands vóór de gelijktekens zouden worden geplaatst, zou de uitlijnomgeving rond de gelijktekens staan zoals het zou moeten zonder dergelijk gedoe, maar dan zou het optelteken van de gesplitste vergelijking ongemakkelijk ver naar achteren liggen, waardoor een soort handmatige aanpassing van de eigen.
Opmerkingen
- Het leuke van deze oplossing is dat er geen reden is om met
\phantom
of\mathllap
. - Wauw!In feite lijkt het erop dat je ‘ zelfs de splitsingen niet nodig hebt, door
&=
te vervangen door={}&
doet het! - Als ik dat probeer, krijg ik de fout ” Extra uitlijningstab is gewijzigd in \ cr. ” Ik krijg deze foutmelding als ik probeer om meer dan één ampersand binnen split te gebruiken. Enig idee?
- @Blaisorblade – de reden voor de splitsingen is om de vergelijkingsnummers correct op elke groep toe te passen. ja,
\notag
zou kunnen worden gebruikt, maar het geeft niet ‘ de gewenste uitvoer als het vergelijkingsnummer gecentreerd moet zijn op de groep. - Ik heb deze techniek geprobeerd en het werkte bij het converteren naar PDF, maar werkte niet goed bij het converteren naar HTML met de
mk4ht htlatex test.tex "xhtml,mathml"
workflow. Ik neem aan dat het ‘ een bug is in de html-converter.
Answer
Als uitbreiding op het antwoord van barbara, zou je alleen de rechterkant van je vergelijkingen in aligned
subomgevingen kunnen plaatsen. Hiermee kun je de gelijkwaardige tekens van de afzonderlijke vergelijkingen onafhankelijk van de grootte van de linker- of rechterkant.
\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}
Het plusteken op de tweede regel van de tweede vergelijking komt niet exact overeen omdat het “sa mathbin
-symbool. Misschien kan iemand met meer TeX-kennis een opmerking maken over hoe dat het beste kan worden opgelost.
Opmerkingen
- Bedankt, dat werkt ook. Het verschil dat ik zie, is dat vergelijkingsnummers op de bovenste regel van elke vergelijking staan, terwijl wanneer de hele vergelijking in de ‘ uitgelijnde ‘ omgeving zijn de vergelijkingsnummers verticaal gecentreerd. Is er een manier om dat te controleren?
- @eldering – om de overeenkomende spatiëring na het eerste plusteken in de laatste regel te krijgen, laat deze voorafgaan door een lege groep,
{}
.
Antwoord
Hier is een align
-alleen versie van uw vergelijkingen:
\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}
Enkele van de aanpassingen zijn:
- Het gebruik van
\mathrel
voor de juiste afstand rond verborgen=
(opgenomen via\phantom
); - Enkele negatieve
\nulldelimiter
tekenspatiëring rond ontbrekende\left.
scheidingstekens (anders er zou extra afstand worden geïntroduceerd tussen operator / operand); - Hoogteaanpassing voor meerlijnige
\left\{
en\right\}
paren.
Als een rode draad kan het nuttig zijn om Herbert Voß “ mathmode
document .
Antwoord
Dit is een manier om dit voor kleine hoeveelheden tekst te bereiken door het \intertext
commando te gebruiken.
\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}
Reacties
- Het relevante deel gaat over
\qquad
, die ik ‘ heb gebruikt, maar dat doet ‘ werkt niet goed genoeg. - (+1) Ah! 🙂 Ik was al een tijdje op zoek naar zoiets. Erg bedankt. 🙂
- Wat is de beste oplossing in het geval dat alineas de uit te lijnen vergelijkingen splitsen?
Antwoord
Als u in plaats van de volgvergelijkingen uit te lijnen, ze rechts wilt uitvullen (vergelijkbaar met de manier waarop de \multiline
-omgeving volgvergelijkingen verwerkt), kunt u het volgende gebruiken truc, die ik heb opgepikt van dit antwoord door Ulrike Fischer.
\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}
Antwoord
\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}
zal de volgende output leveren
Reacties
- Hoe adresseert dit het originele bericht op zon manier dat ‘ t al is aangepakt door de andere antwoorden?
Antwoord
Dit antwoord werkt wanneer u de
pakket. Het onderstaande voorbeeld definieert twee LaTeX-macros\mymidline
en\mylastline
. Beide macros breiden zich in wezen uit naar hun eerste argument binnenalign*
-omgevingen. De\mymidline
macro centreert het en de\mylastline
macro lijnt het rechts uit. Daardoor wordt de breedte van het spul in het tweede argument afgetrokken van de beschikbare “weergavebreedte”. Vooralign*
omgevingen zou dat gewoon de (langste) linkerkant van de vergelijking moeten zijn. Het onderstaande voorbeeld laat zien hoe u dat het meest efficiënt kunt doen met een macro\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}
Als u de genummerde versie align*
hebt, moet u ook rekening houden met de breedte van het vergelijkingslabel en het labelscheidingsteken in het tweede argument van \mymidline
en \mylastline
. Ik heb geen voorgedefinieerde maat voor de labelbreedte gevonden. Na wat testen bleek dat \quad\quad(1)
een geschikte tijdelijke aanduiding voor het label is.
\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}
!
vooraan ervan om er een link van te maken. Een moderator of een andere gebruiker met bewerkingsrechten kan de!
opnieuw invoegen om er weer een afbeelding van te maken.\documentclass
en de juiste pakketten zodat degenen die proberen help niet ‘ om het opnieuw te maken.split
voor enkele lange vergelijkingen in plaats vanalign
. volgens het document issplit
voor enkele lange vergelijkingen,align
voor meerdere vergelijkingen. De nummering moet worden beïnvloed.