176

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.

2
  • 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
    Commented Dec 21, 2010 at 13:55
  • Is there a reasonable solution in Plain TeX?
    – Palec
    Commented Apr 5, 2015 at 14:24

6 Answers 6

225

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

1
  • 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?) Commented Apr 30, 2015 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.
29

Another possibility:

\[
 \underbrace{some equation}_{\text{Some long text that}\atop\text{should be multilined}}
\]
7
\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}
1
  • 1
    It can be centered by replacing the @{}l@{} with @{}c@{}
    – Hans
    Commented May 22, 2017 at 13:31
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}
2
  • That doesn't work. Commented Oct 14, 2014 at 20:20
  • If you remove the \text it sure does. At least in my context. @d555
    – MickG
    Commented Jan 11, 2016 at 12:27
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}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .