LaTeX How to align several equations in latex

  • Thread starter Thread starter tabasco
  • Start date Start date
  • Tags Tags
    Latex
AI Thread Summary
The discussion revolves around aligning multiple equations in LaTeX, particularly focusing on aligning corresponding terms and equal signs across equations. The user seeks a solution for a long equation that exceeds one line while maintaining alignment for both equal signs and specific terms, such as parentheses. Various approaches are suggested, including using the `array` and `align` environments, with considerations for spacing adjustments using commands like `\hspace` and `\phantom`. The challenge lies in ensuring that the alignment does not disrupt the overall structure of the equations, especially when using a two-column format. The conversation highlights the need for a clean solution that avoids manual spacing adjustments, with some users proposing the use of matrices for better alignment. The user also expresses interest in applying LaTeX to their own forum project.
tabasco
Messages
4
Reaction score
0
I'm trying to align several equations in latex. One of them is too long to fit in one line however, and I want to align that one in a way, where corresponding terms (in parentheses) are aligned - in addition to the alignment of the equal signs. This is what I want:

#######y1 = a*x + b*z
y2 = K*y1 = a*(x1 + x2) + b*(z1 + z2)
y3 = K*y2 = a*(x1 + x2) + b*(c*(z1 + z2)
#############################+ d*(z1 – z2))



The ### are placeholders so I could get the alignment right in this post.


Is there any way of doing this properly? Without \quad and the likes... ?
By inserting additional alignment tags only in the last equation?



- T
 
Last edited:
Physics news on Phys.org
tabasco said:
Is there any way of doing this properly?
Like this?

<br /> \begin{array}{rrrcll}<br /> &amp;&amp;y1&amp;=&amp;a*x + b*z&amp;\\<br /> y2&amp;=&amp;K*y1&amp;=&amp;a*(x1 + x2)&amp;+\ b*(z1 + z2)\\<br /> y3&amp;=&amp;K*y2&amp;=&amp;a*(x1 + x2)&amp;+\ b*(c*(z1 + z2)\\<br /> &amp;&amp;&amp;&amp;&amp;+\ d*(z1 – z2))<br /> \end{array}<br />

It doesn't look like it's too long to go on one line, but whatever. :smile:

- Warren
 
Chroot, thanks for the quick reply
but it doesn't quite solve my problem: The variables I put down in the post are really more complex terms. So the first line is already way longer than what it looks like in the post and am using the twocolumn-mode for an article.

So there are two points I want aligned: First, for all three equations, the row of three equal-signs, just how it is in your reply. That's simple...

Second, the "+" in line three with the "c" in line 4. The hard part is doing that without ripping the above lines apart. There is no corresponding alignment point in the first two lines.
Since the first line is really longer than what I put down here I don't know where to put an extra "&"...

Phew, I hope you understand that explanation... :confused:

- T
 
\begin{align*}<br /> y1&amp;=a*x + b*z\\<br /> y2=K*y1&amp;=a*(x1 + x2)+\ b*(z1 + z2)\\<br /> y3=K*y2&amp;=a*(x1 + x2)+\ b*(c*(z1 + z2)\\<br /> &amp;&amp;\hspace*{-26ex}+\ d*(z1 – z2))<br /> \end{align*}

Is using \hspace cheating? (Note the extra & in the last line.)
 
I guess I could do it like that... but yes, I think that would be cheating. The hspace needed is trial and error, and when I change the fontsize I'd have to change the spacing manually, right.

Maybe there's a way of inserting "invisible" text? If I could insert everything from the upper line up until the point I want aligned without displaying it, that would work... Any ideas?

- T
 
By specifying the dimensions in units of ex, I would think that the spacing would scale reasonably well.

\begin{align*}<br /> y1&amp;=a*x + b*z\\<br /> y2=K*y1&amp;=a*(x1 + x2)+\ b*(z1 + z2)\\<br /> y3=K*y2&amp;=a*(x1 + x2)+\ b*(c*(z1 + z2)\\<br /> &amp;\hphantom{=a*(x1 + x2)+\ b*(}+\ d*(z1 – z2))<br /> \end{align*}

You can use the phantom (\[hv]phantom) tags.
 
Try using a matrix.

JMD
 
\begin{align*}<br /> y1&amp;=a*x + b*z\\<br /> y2=K*y1&amp;=a*(x1 + x2)+\ b*(z1 + z2)\\<br /> y3=K*y2&amp;=a*(x1 + x2)+<br /> \begin{array}[t]{ll}<br /> b*(&amp;\!\!\! c*(z1 + z2)\\ <br /> &amp;\!\!\! +\ d*(z1 – z2))<br /> \end{array}<br /> \end{align*}

This is a little cleaner... but it messes up the algebraic meaning.
 
I am actually working on useing latex on my own forum ... hopefully it will work well
 

Similar threads

Replies
1
Views
2K
Replies
3
Views
2K
Replies
3
Views
2K
Replies
2
Views
3K
Replies
5
Views
3K
Back
Top