174

Is there a way to force a line break inside a math mode text?

My example:

\[
  \underbrace{....}_\text{Some long text that should be multiline}
\]

Trying

\text{Some long text that\\ should be multiline}

Didn't do the trick.

Stefan Kottwitz
  • 231,401
Chris
  • 4,055
  • 5
    While it is not an answer, I thought you might like to know why \\ fails inside \text. If you look through the code, \text will insert an \hbox for the content when in math mode. TeX sets \hbox material in a mode where paragraphs are ignored, so there will never be a break inside the argument of the \text macro. – Joseph Wright Dec 21 '10 at 13:55
  • Is there a reasonable solution in Plain TeX? – Palec Apr 05 '15 at 14:24

6 Answers6

222

You can use the \substack command, from the amsmath package, just like \text.

\[
  \underbrace{...}_{\substack{\text{Some long text that} \\ \text{should be multiline}}}
\]

The output:

Example of LaTeX output

Paul Wintz
  • 402
  • 2
  • 14
  • 5
    Why do you have 3 backslashes where the ... nvm, I see now. I feel this answer would be better with some spacing for readability. Also, I believe the answer would be improved if it were pointed out that \substack was designed for this very purpose. (It was right?) – Travis Bemrose Apr 30 '15 at 23:59
45
  • \substack, mentioned by Carsten, probably fits best to your \underbrace because of the centered alignment.

  • subarray is similar but offers customizable alignment:

Example:

\[
 \underbrace{....}_{\begin{subarray}{l}\text{Some  long text that}\\
    \text{should be multiline}\end{subarray}}
\]
  • \parbox also works in math mode. You could use a font size command inside.
Stefan Kottwitz
  • 231,401
29

Another possibility:

\[
 \underbrace{some equation}_{\text{Some long text that}\atop\text{should be multilined}}
\]
Torbjørn T.
  • 206,688
user1999
  • 1,464
6
\documentclass[11pt]{article}
\usepackage{amsmath}

\newcommand\myText[1]{\text{\scriptsize\tabular[t]{@{}l@{}}#1\endtabular}}

\begin{document}

\[
  \underbrace{....}_\myText{Some long text that\\ should be multiline}
\]

\end{document}
4

A simple \parbox with a certain width should also do.

\documentclass[11pt]{article}
\usepackage{mathtools}   % loads »amsmath«

\begin{document}
  \[
    \underbrace{ax^3+bx^2+cx+d}_{\text{\parbox{10em}{Some text that should be multi-lined}}}
  \]
\end{document}
3

One more, for a very long text:

\documentclass{article}
\usepackage{lipsum}
\newlength{\mysum}
\settowidth{\mysum}{$1+2+3+4+5+6+7+8+9$}
\begin{document}
\begin{equation}
\underbrace{1+2+3+4+5+6+7+8+9}_{
\begin{minipage}{\mysum}\lipsum[2]\end{minipage}} 
\end{equation}
\end{document}
Fran
  • 80,769