Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

In the inline math mode ($...$), if the formula is too long, LaTeX will try to break it on operators, e.g.

very long text followed by a very long equation like $a+b+c+d+e+f+g+h+i+j+k+l$ etc

may be rendered as

very long text followed
by a very long equation
like a+b+c+d+e+f+g+h+i+
j+k+l etc

However, the break won't happen if they are separated by commas, e.g.

very long text followed by a very long equation like $a,b,c,d,e,f,g,h,i,j,k,l$ etc

will overflow the page like

very long text followed
by a very long equation
like a,b,c,d,e,f,g,h,i,j,k,l
etc

How to make LaTeX able to insert line breaks after a comma too?

share|improve this question
    
I tried breqn but it uses "expl3.sty" which can not be found by Latex ALTHOUGH I downloaded it and put in the same folder where breqn.sty exists! –  Ahmad Jan 8 '11 at 22:09
    
@Ahmad: If you've got a question, then you should ask it in a new post. Please do this with the "Ask Question" link. In your new question you could link to this one. –  Hendrik Vogt Jan 8 '11 at 22:09
    
@Ahmad: Just a note to confirm Hendrik's comment, this ought to be reposted as a question for you to get the best chance of it being answered. –  Loop Space Jan 8 '11 at 22:09

3 Answers 3

up vote 38 down vote accepted

If the expression contains many commas then consider to break it into several math expressions, separated by commas. It reads like a list of math expressions. This way TeX can break the line.

To achieve line breaks after a comma, you could insert \allowbreak after the comma and before the next math symbol. If necessary, leave a blank after \allowbreak.

If you would like to have a document wide solution, you could redefine the comma. One solution, following the tip here would be:

\makeatletter
\def\old@comma{,}
\catcode`\,=13
\def,{%
  \ifmmode%
    \old@comma\discretionary{}{}{}%
  \else%
    \old@comma%
  \fi%
}
\makeatother
share|improve this answer
3  
Thanks. My expression is actually a set with 48 elements, so splitting them into several expressions may not sound mathematically logical. I will try \allowbreak. –  KennyTM Aug 18 '10 at 15:50
    
+1, excellent answer! However, there's a complication: Please see tex.stackexchange.com/q/19094/1347. –  Sadeq Dousti May 26 '11 at 9:51

You could take a look at the breqn package, which is aimed at solving this problem in a general sense.

share|improve this answer
5  
Wow, breqn allows \left and \right to work across line breaks! –  Mark Meckes Aug 18 '10 at 17:13
6  
Indeed, amongst other things. The late Michael Downes was a very clever guy! –  Joseph Wright Aug 18 '10 at 18:02

If you can split the equation into several sub equation using $, and if you are using braces use \left. and \right. (with dot) to balance the braces.

Example:

 $X = \left\{\right.a$, $b$, $c$, $d\left.\right\}$

X = { a, b, c, d }

This should allow line breaks behind the commas.

share|improve this answer
3  
You might as well just omit \left and \right. Putting the matching brace directly adjacent obviates any point to having scaling braces at all. –  Kundor Mar 15 at 18:36

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.