Jessaie daligner un ensemble déquations longues, qui sont elles-mêmes align car la plupart dentre eux sétalent sur plusieurs lignes.

Actuellement, jai juste une séquence denvironnements align, avec chaque équation à lintérieur afin daligner les morceaux de chaque équation. Je joins une capture décran du résultat:

Non aligné

Ce que jaimerais obtenir à la place, cest quelque chose qui ressemble plus à

Aligné

qui est le même ensemble déquations après avoir traversé le bureau de rédaction dun journal et qui a lair beaucoup mieux.

Voici un MWE. Je voudrais que les trois équations salignent sur le signe égal.

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

Commentaires

  • Bienvenue dans TeX.sx! En tant que nouvel utilisateur sans privilèges de publication dimage, ajoutez simplement limage comme dhabitude et supprimez le ! devant de celui-ci pour en faire un lien. Un modérateur ou un autre utilisateur avec des privilèges de modification peut alors réinsérer le ! pour le transformer à nouveau en image.
  • Ce serait beaucoup plus facile si vous fournissiez le code en termes de MWE entièrement compilable qui illustre le problème, y compris le \documentclass et les packages appropriés afin que ceux qui essaient de aidez à ne pas ‘ avoir à le recréer.
  • Peut-être Comment saligner sur du texte ordinaire; comme pour casser des matrices, des ensembles déquations, des tableaux pourraient être utiles.
  • Je pense quil est préférable dutiliser ‘ split pour les équations longues simples plutôt que align. selon le document, split est pour les équations longues simples, align est pour les équations multiples. La numérotation devrait être affectée.

Réponse

sans exemple réel, voici comment jinterprète ce que vous voulez.

sortie de lexemple de code

et voici lentrée:

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

lélément de gauche le plus long est inséré au début en tant que \phantom et les longueurs des éléments de gauche de lindividu aligned les segments sont rendus » invisibles « en les recouvrant vers la gauche en utilisant \mathllap du package mathtools.

la réponse originale a été (correctement) notée pour aligner correctement les segments uniquement lorsque les côtés gauche avaient la même longueur. cette modification résout ce problème.

Commentaires

  • oups! Jai oublié quelques esperluettes. Version mise à jour à venir.
  • ne fonctionne que si les côtés gauche ont la même longueur?
  • @ user1834164 – – vous ‘ corrigez la longueur des éléments de gauche. mais il peut être récupéré. en ajoutant ça …
  • pourquoi avons-nous besoin de \ phantom {i + j + k} .. Je ne pouvais pas comprendre ..
  • @PraphullaKoushik – le \phantom est nécessaire pour que la largeur du côté gauche du groupe déquations soit incluse dans la largeur du groupe entier, de sorte que le groupe soit centré.

Réponse

Vous pouvez également utiliser lenvironnement split à lintérieur de align, en utilisant une esperluette (&) où vous voulez que lalignement ait lieu. Voici un 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} 

Notez que la dernière équation ne se trouve pas dans un environnement split, mais saligne toujours avec le reste, puisquil « est toujours dans lenvironnement align.

Le résultat ressemble à ceci:

Sortie dun environnement divisé dans un environnement dalignement

Notez les groupes vides ({}) avant les esperluettes. Sans eux, il y aurait aucun crénage nest appliqué entre les signes égaux et le caractère par la suite, car lalignement casse la boîte. Alors que les groupes vides ne font rien eux-mêmes, en mode mathématique, les symboles avant eux ajoutent un crénage comme si les groupes vides étaient des caractères ordinaires. Cela permet à TeX de choisir lespacement le plus approprié. Si les esperluettes étaient placées avant les signes égaux, lenvironnement dalignement serait crénelé autour des signes égaux comme il se doit sans un tel tracas, mais le signe additionnel de léquation de division serait inconfortablement loin en arrière, nécessitant une sorte de réglage manuel de son propre.

Commentaires

  • Ce quil y a de bien avec cette solution, cest quil nest pas nécessaire de jouer avec \phantom ou \mathllap.
  • Wow!En fait, il semble que vous n’avez même pas besoin ‘ des divisions, en remplaçant &= par ={}& fait laffaire!
  • Quand jessaye de faire ça, jobtiens lerreur  » Longlet dalignement supplémentaire a été changé en \ cr.  » Jobtiens cette erreur lorsque jessaie dutiliser plus dune esperluette dans la division. Des idées?
  • @Blaisorblade – la raison des divisions est dappliquer correctement les numéros déquation à chaque groupe. oui, \notag pourrait être utilisé, mais il ne ‘ t donne pas la sortie souhaitée si le numéro déquation doit être centré sur le groupe.
  • Jai essayé cette technique et elle a fonctionné lors de la conversion en PDF, mais elle a mal fonctionné lors de la conversion en HTML en utilisant le flux de travail mk4ht htlatex test.tex "xhtml,mathml". Je suppose que ‘ est un bogue dans le convertisseur html.

Réponse

En tant quextension de la réponse de barbara, vous pouvez envelopper uniquement le côté droit de vos équations dans des sous-environnements aligned. Cela vous permet daligner les signes égaux des différents équations indépendantes de la taille des côtés gauche ou droit.

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

Le signe plus sur la deuxième ligne de la deuxième équation ne correspond pas exactement car il « sa mathbin symbole. Peut-être que quelquun avec plus de connaissances TeX pourrait commenter la meilleure façon de résoudre ce problème.

Commentaires

  • Merci, cela fonctionne aussi. La différence que je vois est que les numéros déquation sont sur la ligne supérieure de chaque équation, alors que lorsque léquation entière est dans le ‘ aligné ‘ environnement les nombres déquations sont centrés verticalement. Y a-t-il un moyen de contrôler cela?
  • @eldering – pour obtenir lespacement correspondant après le premier signe plus de la dernière ligne, faites-le précéder dun groupe vide, {}.

Réponse

Voici une align -une seule version de vos équations:

entrez la description de limage ici

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

Certains des ajustements incluent

  • Utilisation de \mathrel pour un espacement approprié autour de = masqué (inclus via \phantom);
  • Quelques \nulldelimiter crénage autour des délimiteurs \left. manquants (sinon il y aurait un espacement supplémentaire introduit entre lopérateur / lopérande);
  • Réglage de la hauteur pour \left\{ et \right\}

En tant que fil conducteur, il peut être utile de consulter Herbert Voß «  mathmode document .

Réponse

Ceci est un moyen daccomplir cela pour de petites quantités de texte en utilisant la commande \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} 

Commentaires

  • La partie pertinente concerne \qquad, que jai ‘ utilisée, mais cela ne le fait pas ‘ t fonctionne assez bien.
  • (+1) Ah! 🙂 Je cherchais une telle chose depuis un moment. Merci beaucoup. 🙂
  • En cas de paragraphes fractionnant les équations à aligner, quelle est la meilleure solution?

Réponse

Si au lieu daligner les équations de fin, vous souhaitez les justifier à droite (de la même manière que lenvironnement \multiline gère les équations de fin), vous pouvez utiliser ce qui suit astuce, que jai reprise de cette réponse par 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} 

omit + hfill

Réponse

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

fournira la sortie suivante entrez la description de limage ici

Commentaires

  • Comment cela traite-t-il le message dorigine de telle manière que les autres réponses ‘ t aient déjà été traitées?

Réponse

Cette réponse fonctionne lorsque vous utilisez le

package. Lexemple ci-dessous définit deux macros LaTeX\mymidlineet\mylastline. Les deux macros se développent essentiellement jusquà leur premier argument dans les environnementsalign*. La macro\mymidlinele centre et la macro\mylastlinelaligne à droite. Ainsi, la largeur de la substance dans le deuxième argument est soustraite de la « largeur daffichage » disponible. Pour les environnementsalign*qui devraient juste être le côté gauche (le plus long) de léquation. Lexemple ci-dessous montre comment vous pouvez le faire plus efficacement avec une 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}  

Mise en forme multi-lignes dans align *

Si vous avez la version numérotée align*, vous devez également prendre en compte le largeur de létiquette déquation et du séparateur détiquette dans le deuxième argument de \mymidline et \mylastline. Je nai pas trouvé de mesure prédéfinie pour la largeur de létiquette. Après quelques tests, il sest avéré que \quad\quad(1) est un espace réservé approprié pour létiquette.

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

entrez la description de limage ici

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *