2010-05-12 12 views
4

Je voudrais aligner deux caractères d'alignement entre deux blocs d'alignement afin que je puisse avoir du texte au milieu d'une dérivation avec des équations maintenant l'alignement horizontal. Par exemple, l'extrait suivant de latex à l'aide d'alignerLaTex, aligner les caractères d'alignement entre les blocs d'alignement

\begin{align*} 
    \frac{\delta \phi}{\delta x_1} = {} &\frac{9}{8}\frac{\delta_1\phi}{\delta_1x_1}-\frac{1}{8}\frac{\delta_3\phi}{\delta_3x_1} \\ 
    & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right] 
\end{align*} 
some text in the middle 
\begin{align*} 
    & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right] 
\end{align*} 

Idéalement je voudrais la gauche de l'équation dans le deuxième bloc d'aligner avec celle de la deuxième équation dans le premier bloc. Je pourrais faire une solution de contournement en n'ayant pas de texte au milieu, cependant, je voudrais cette fonctionnalité.

EDIT

Je voudrais avoir une bonne quantité de texte entre les deux. Dites trois à quatre lignes qui s'alignent comme des paragraphes normaux. L'ajout de texte dans le bloc d'alignement est la solution de contournement à laquelle j'ai mal fait allusion.

Répondre

6

Utilisation \noalign:

\begin{align*} 
    \frac{\delta \phi}{\delta x_1} = {} &\frac{9}{8}\frac{\delta_1\phi}{\delta_1x_1}-\frac{1}{8}\frac{\delta_3\phi}{\delta_3x_1} \\ 
    & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right]\\ 
    \noalign{\noindent some text in the middle.} 
    & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right] 
\end{align*} 
+0

Cela fonctionne. Merci – ccook

+2

J'ai toujours utilisé '\ intertext' pour cela, au lieu de' \ noalign'. Savez-vous s'il y a une différence entre les deux? –

+1

'\ noalign' est une commande interne de TeX. '\ intertext' utilise' \ noalign' et c'est \ ifvmode \ else \\\ @ vide \ fi \ noalign {\ peine \ postdisplaypenalty \ vskip \ ci-dessousdisplayskip \ vbox {\ normalbaselines \ ifdim \ linewidth = \ columnwidt h \ else \ parshape \ @ne \ @totalleftmargin \ linewidth \ fi \ noindent # 1 \ par} \ pena lty \ predisplaypenalty \ vskip \ abovedisplayskip} ' –

2

Effectuez les opérations suivantes:

\begin{align*} 
    \frac{\delta \phi}{\delta x_1} = {} &\frac{9}{8}\frac{\delta_1\phi}{\delta_1x_1}-\frac{1}{8}\frac{\delta_3\phi}{\delta_3x_1} \\ 
    & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right]\\ 
    & \mbox{some text in the middle} \\ 
    & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right] 
\end{align*} 

Si vous avez beaucoup de texte, vous voulez probablement utiliser \phantom:

\begin{align*} 
    \frac{\delta \phi}{\delta x_1} = {} &\frac{9}{8}\frac{\delta_1\phi}{\delta_1x_1}-\frac{1}{8}\frac{\delta_3\phi}{\delta_3x_1} \\ 
    & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right] 
\end{align*} 
Some text in the middle, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, 
\begin{align*} 
    \phantom{\frac{\delta \phi}{\delta x_1} = {}} & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right] 
\end{align*} 

Si vous ne souhaitez pas utiliser \phantom, la seule solution que je peut venir avec est le suivant:

\usepackage{multirow} 
.... 
\begin{document} 
\[ \begin{array}{rl} 
     \frac{\delta \phi}{\delta x_1} = {} &\frac{9}{8}\frac{\delta_1\phi}{\delta_1x_1}-\frac{1}{8}\frac{\delta_3\phi}{\delta_3x_1} \\ 
     & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right]\\[5mm] 
\multicolumn{2}{l}{\parbox{\linewidth}{Some text in the middle, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text, more text}}\\[1cm] 
     & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right] 
\end{array} \] 
\end{document} 

Je ne pense pas qu'il y ait un str un moyen vers l'avant de "relier" la largeur d'une colonne d'une table/eqnarray/aligner avec un autre.

+0

Cela fonctionne avec du texte court, cependant, avec un texte plus long, il ne s'enroule pas correctement. L'alignement à gauche ne s'aligne pas non plus avec les paragraphes qui l'entourent. Merci bien – ccook

+0

Voir ma réponse éditée. – aioobe

+0

Merci, mais, est-il possible de «lier» les deux caractères d'alignement? Utiliser fantôme aurait besoin de moi pour créer une instance fantôme de la partie la plus large de la première équation, non? Il ne mettra pas à jour l'alignement supérieur à partir du bloc d'alignement inférieur. Ou est-ce simplement impossible? – ccook

1

Si vous n'avez pas beaucoup de texte, vous pouvez utiliser la commande \text depuis l'environnement mathématique pour afficher votre texte dans un environnement align* unique.

\begin{align*} 
    \frac{\delta \phi}{\delta x_1} = {} &\frac{9}{8}\frac{\delta_1\phi}{\delta_1x_1}-\frac{1}{8}\frac{\delta_3\phi}{\delta_3x_1} \\ 
    & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right]\\ 
    \text{some text in the middle.}\\ 
    & \frac{9}{8}\frac{1}{h_1}\left[\phi(x_1+h_1/2)-\phi(x_i-h_1/2)\right]-\frac{1}{8}\frac{1}{3h_1}\left[\phi(x_i+3h_1/2)-\phi(x_1-3h_1/2)\right] 
\end{align*} 
+0

Merci, cependant, le problème est que je voudrais avoir une bonne quantité de texte, disons, un petit paragraphe. – ccook

5

Il y a une commande très pratique:

\begin{align*} 
    \int_0^1 x^2 &= \frac{1}{3} \\ 
    \intertext{I am the intertext. I am typesetted as normal text but dude, 
       the tabbing/alignment is carried over to the next slide. 
       Check it out!} 
    \int_0^1 x^3 &= \frac{1}{4} 
\end{align*} 

Il est décrit dans les ams userguide pour autant que je me souviens. Mais ensuite, je ne l'ai découvert que très récemment.

+0

Belle trouvaille! Merci! – ccook