TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to draw labels on a photograph. The labels will only contain 1..3 words, and sometimes there shall be a linebreak, e. g.

Big House \newline

Is it possible to create a box which draws a white rectangle below this text and which adapts to the width of the text?

I could use \colorbox{white}{Big House \newline (empty)}, but it does not allow the linebreak.

If I use a \parbox{}, I have to define the width by hand.

Is there a box with a colored background, which can itself adapt its width to the longest text and contain linebreaks or paragraphs?

share|improve this question
up vote 10 down vote accepted

You could use the varwidth environment provided by the homonymous package; this environment is an analogue of minipage, but its resulting width is the natural width of its contents. A little example:




\noindent\MyCBox{Big House\\ (empty)}

\noindent\MyCBox{Big House and some more text\\ (empty)}

\noindent\MyCBox{Big\\ (empty)}



enter image description here

share|improve this answer
\newcommand\MyCBox[1]{% \colorbox{red!60}{\begin{varwidth}{\dimexpr\linewidth-2\fboxsep}#1\end{varwidth}‌​}} While compiling we are getting the error as ! Undefined control sequence. <argument> \dimexpr Please suggest me how to avoid this error. – CR20001 May 27 '13 at 5:39

\overbox{Big House \\ (empty)}

One can also say

\overbox[c]{Big House \\ (empty)}

to get lines centered with respect to one another.


enter image description here

share|improve this answer
very creative solution! Thanks! – MostlyHarmless Oct 26 '11 at 21:00
You can also use {@{}c@{}} as the argument to tabular if you prefer centered lines. But see the edited answer for a slightly different approach. – egreg Oct 26 '11 at 21:01

Your Answer


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.