Ich versuche, einen Satz langer Gleichungen auszurichten, die selbst align Umgebungen, da sich die meisten von ihnen auf mehrere Zeilen verteilen.

Derzeit habe ich nur eine Folge von align -Umgebungen, in denen jede Gleichung enthalten ist, um die Teile der einzelnen Gleichungen auszurichten. Ich füge einen Screenshot des Ergebnisses hinzu:

Nicht ausgerichtet

Stattdessen möchte ich etwas bekommen, das eher wie

Ausgerichtet

Dies ist der gleiche Satz von Gleichungen, nachdem Sie das Redaktionsbüro eines Journals durchlaufen haben und viel besser aussehen.

Hier ist ein MWE. Ich möchte, dass alle drei Gleichungen am Gleichheitszeichen ausgerichtet sind.

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

Kommentare

  • Willkommen bei TeX.sx! Als neuer Benutzer ohne Bildveröffentlichungsrechte fügen Sie das Bild einfach wie gewohnt hinzu und entfernen Sie das ! vorne davon in einen Link zu verwandeln. Ein Moderator oder ein anderer Benutzer mit Bearbeitungsrechten kann dann die ! erneut einfügen, um sie wieder in ein Bild umzuwandeln.
  • Es wäre viel einfacher, wenn Sie den Code bereitstellen würden in Bezug auf eine vollständig kompilierbare MWE , die das Problem einschließlich der \documentclass und der entsprechenden Pakete veranschaulicht, damit diejenigen, die dies versuchen Hilfe ‚ muss nicht neu erstellt werden.
  • Vielleicht Ausrichten über normalen Text; B. beim Brechen von Matrizen, Gleichungssystemen, Tabellen könnte dies nützlich sein.
  • Ich denke, ‚ ist besser, für einzelne lange Gleichungen anstelle von align. Gemäß dem Dokument steht split für einzelne lange Gleichungen, align für mehrere Gleichungen. Die Nummerierung sollte beeinflusst werden.

Antwort

ohne aktuelles Beispiel. So interpretiere ich, was Sie tun wollen.

Ausgabe des Beispielcodes

und hier ist die Eingabe:

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

Das längste linke Element wird am Anfang als \phantom und die Länge der linken Elemente des einzelnen Segmente werden“ unsichtbar „gemacht, indem sie mit \mathllap aus dem mathtools -Paket nach links geläppt werden.

Die ursprüngliche Antwort wurde (korrekt) notiert, um die Segmente nur dann richtig auszurichten, wenn die linken Seiten dieselbe Länge hatten. Diese Änderung überwindet dieses Problem.

Kommentare

  • Hoppla! Ich habe ein paar kaufmännische Und-Zeichen vergessen. Die aktualisierte Version steht an.
  • funktioniert nur, wenn die linken Seiten gleich lang sind?
  • @ user1834164 – – Sie ‚ d Die Länge der linken Elemente ist korrekt. aber es kann gerettet werden. Hinzufügen, dass …
  • warum brauchen wir \ phantom {i + j + k} .. Ich konnte nicht verstehen ..
  • @PraphullaKoushik – die \phantom wird benötigt, damit die Breite der linken Seite der Gleichungsgruppe in der Breite der gesamten Gruppe enthalten ist, damit die Gruppe zentriert wird.

Antwort

Sie können auch die Umgebung split in der -Umgebung mit einem kaufmännischen Und (&), in der die Ausrichtung erfolgen soll. Hier ist ein 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} 

Beachten Sie, dass sich die letzte Gleichung nicht in einer split -Umgebung befindet, sondern immer noch ausgerichtet ist mit dem Rest, da es sich noch in der Umgebung align befindet.

Die Ausgabe sieht folgendermaßen aus:

Ausgabe einer geteilten Umgebung innerhalb einer Ausrichtungsumgebung

Beachten Sie die leeren Gruppen ({}) vor dem kaufmännischen Und. Ohne diese würde es Es wird kein Kerning zwischen den Gleichheitszeichen und dem Zeichen angewendet, da die Ausrichtung die Box durchbricht. Während die leeren Gruppen selbst nichts tun, fügen die Symbole vor ihnen im Mathematikmodus Kerning hinzu, als wären die leeren Gruppen gewöhnliche Zeichen. Dadurch kann TeX den am besten geeigneten Abstand auswählen. Wenn das kaufmännische Und vor den Gleichheitszeichen platziert würde, würde sich die Ausrichtungsumgebung ohne solchen Aufwand um die Gleichheitszeichen drehen, wie es sollte, aber dann würde das Additionszeichen der Teilungsgleichung unangenehm weit zurückliegen und eine Art manuelle Anpassung erfordern eigene.

Kommentare

  • Das Schöne an dieser Lösung ist, dass Sie nicht mit oder \mathllap.
  • Wow!Tatsächlich scheint es, dass Sie ‚ nicht einmal die Teilung benötigen und &= durch ={}& macht den Trick!
  • Wenn ich das versuche, erhalte ich die Fehlermeldung “ Die Registerkarte für die zusätzliche Ausrichtung wurde in \ cr geändert. “ Ich erhalte diesen Fehler, wenn ich versuche, mehr als ein kaufmännisches Und innerhalb von split zu verwenden. Irgendwelche Ideen?
  • @Blaisorblade – Der Grund für die Teilung besteht darin, die Gleichungsnummern auf jede Gruppe richtig anzuwenden. Ja, \notag könnte verwendet werden, aber ‚ gibt nicht die gewünschte Ausgabe aus, wenn die Gleichungsnummer auf der Gruppe zentriert werden soll.
  • Ich habe diese Technik ausprobiert und sie hat beim Konvertieren in PDF funktioniert, aber beim Konvertieren in HTML mit dem Workflow mk4ht htlatex test.tex "xhtml,mathml" ist eine Fehlfunktion aufgetreten. Ich gehe davon aus, dass ‚ ein Fehler im HTML-Konverter ist.

Antwort

Als Erweiterung der Antwort von barbara können Sie nur die rechte Seite Ihrer Gleichungen in aligned -Umbenumgebungen einschließen. Auf diese Weise können Sie die Gleichheitszeichen der einzelnen Elemente ausrichten Gleichungen unabhängig von der Größe der linken oder rechten Seite.

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

Das Pluszeichen in der zweiten Zeile der zweiten Gleichung stimmt nicht genau überein, weil es ist ein „div mathbin -Symbol. Vielleicht könnte jemand mit mehr TeX-Kenntnissen kommentieren, wie das am besten behoben werden kann.

Kommentare

  • Danke, das funktioniert auch. Der Unterschied, den ich sehe, besteht darin, dass sich die Gleichungsnummern in der obersten Zeile jeder Gleichung befinden, während, wenn sich die gesamte Gleichung in der ‚ ausgerichteten ‚ befindet Umgebung Die Gleichungsnummern sind vertikal zentriert. Gibt es eine Möglichkeit, dies zu steuern?
  • @eldering – Um den passenden Abstand nach dem ersten Pluszeichen in der letzten Zeile zu erhalten, muss eine leere Gruppe {}.

Antwort

Hier ist eine align -nur Version Ihrer Gleichungen:

Geben Sie hier die Bildbeschreibung ein.

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

Einige Zu den Anpassungen gehört

  • Verwenden von \mathrel für den richtigen Abstand um versteckte = (eingeschlossen über \phantom);
  • Einige negative \nulldelimiter Kerning um fehlende \left. Begrenzer (ansonsten Es würde ein zusätzlicher Abstand zwischen Operator / Operand eingeführt.
  • Höhenanpassung für mehrzeilige \left\{ und \right\} Paare.

Als allgemeiner Thread kann es nützlich sein, Herbert Voß „ mathmode Dokument .

Antwort

Dies ist ein So erreichen Sie dies für kleine Textmengen mit dem Befehl \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} 

Kommentare

  • Der relevante Teil handelt von \qquad, das ich ‚ verwendet habe, aber das nicht ‚ funktioniert nicht gut genug.
  • (+1) Ah! 🙂 Ich habe eine Weile nach so etwas gesucht. Danke vielmals. 🙂
  • Was ist die beste Lösung, wenn Absätze die auszurichtenden Gleichungen aufteilen?

Antwort

Wenn Sie die nachfolgenden Gleichungen nicht ausrichten möchten, sondern sie rechtsbündig ausrichten möchten (ähnlich wie in der Umgebung \multiline nachfolgende Gleichungen behandelt werden), können Sie Folgendes verwenden Trick, den ich aus dieser Antwort von Ulrike Fischer aufgegriffen habe.

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

weglassen + hfill

Antwort

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

liefert die folgende Ausgabe. Geben Sie hier die Bildbeschreibung ein.

Kommentare

  • Wie wird der ursprüngliche Beitrag so adressiert, dass ‚ von den anderen Antworten noch nicht angesprochen wurde?

Antwort

Diese Antwort funktioniert, wenn Sie das

-Paket. Das folgende Beispiel definiert zwei LaTeX-Makros\mymidlineund\mylastline. Beide Makros erweitern sich im Wesentlichen auf ihr erstes Argument inalign*-Umgebungen. Das Makro\mymidlinezentriert es und das Makro\mylastlinerichtet es rechts aus. Dabei wird die Breite des Materials im zweiten Argument von der verfügbaren „Anzeigebreite“ abgezogen. Füralign*Umgebungen sollte dies nur die (längste) linke Seite der Gleichung sein. Das folgende Beispiel zeigt, wie Sie dies mit einem Makro\LHSam effizientesten tun können.

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

Mehrzeilige Formatierung in align *

Wenn Sie die nummerierte Version align* haben, sollten Sie auch die berücksichtigen Breite der Gleichungsbezeichnung und des Bezeichnungstrennzeichens im zweiten Argument von \mymidline und \mylastline. Ich habe kein vordefiniertes Maß für die Etikettenbreite gefunden. Nach einigen Tests stellte sich heraus, dass \quad\quad(1) ein geeigneter Platzhalter für das Etikett ist.

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

Geben Sie hier die Bildbeschreibung ein

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.