26

I have several frameboxes in my document, using the following command:

\framebox(115,115){ R-Sq: \newline For example} 

I want to force a new line, but neither \newline or \\ appear to work. Is there any other way of doing this?

0

7 Answers 7

24

TH. has suggested putting the framebox around another box, but specifying the size can be awkward. Here's my (note: plug) solution to the problem:

\usepackage{minibox}
...
\minibox[frame]{R-Sq:\\ For example}

A ‘minibox’ is exactly equivalent to a tabular in the current implementation; I just wanted the shorter markup.

5
  • Thank you - that also worked. As I have several frameboxes, I am using both answers to be equitable!
    – celenius
    Jan 11, 2011 at 2:13
  • 2
    @celenius I forgot to mention you can also centre the contents by writing \minibox[c] if that helps. Jan 11, 2011 at 2:18
  • Yeah, the length is sort of awkward. As I recall from when I looked a few hours ago, it basically did \vbox to #1\unitlength{\vss\hbox to #2\unitlength{\hss#4\hss}\vss}, so that's where I got the width of the \parbox.
    – TH.
    Jan 11, 2011 at 6:36
  • \minibox even has a frame argument, nice.
    – JAB
    Sep 20, 2016 at 17:28
  • @JAB — is that a nudge to update my answer? :) Oct 4, 2016 at 7:06
21

At the risk of beating a dead horse, I find the framed package works most convenient.

\usepackage{framed}
\begin{framed}
   My long text that needs new lines.
\end{framed}

You need not worry about sizing--line breaks are automatic. It works well with the beamer class too.

3
  • 6
    G'on and beat the horse. This helped me.
    – Geoff
    Jun 21, 2014 at 19:16
  • Same here, because I can't use mdframed because of a conflict.
    – magu_
    Dec 3, 2015 at 22:56
  • this dead horse creates a conflict, something about \end cannot appear...
    – ovi
    Jun 24, 2020 at 19:04
7

If you dig through the chain of macro expansions, you see that \framebox(x,y)[z]{text} ends up typesetting text in an \hbox.

So you can use this.

\documentclass{article}
\begin{document}
\framebox(115,115){%
    \parbox{115\unitlength}{R-Sq:\\For example}%
}
\end{document}

Where all I've done is put the input inside an appropriately sized \parbox.

1
  • Thanks for the suggestion. I tried this and it worked perfectly. (As the text is right against the framebox line, I chose a slightly smaller size (110))
    – celenius
    Jan 11, 2011 at 2:12
6
\documentclass{article}
\usepackage[usestackEOL]{stackengine}
\begin{document}
\framebox{\Longstack[l]{This\\is\\a\\test}}
\framebox{\Longstack[c]{This\\is\\a\\test}}
\framebox{\Longstack[r]{This\\is\\a\\test}}
\end{document} 

enter image description here

5

@celenius One way to insert a newline in a framed box using \\ (\newline itself does not work with this method), using just the amsmath package and without defining a parbox, is to use boxed with array. For example:

\documentclass[11pt]{article}
\usepackage{amsmath}
\begin{document}
\boxed{
\begin{array}{clr}
\textrm{short line}\\
\textrm{long line containing a relatively large number of characters}\\
\textrm{short line again}
\end{array}}
\end{document}
1

Put a minipage into a framebox:

\documentclass[a4paper,12pt]{article}

\begin{document}
some text 

\noindent
\framebox[\textwidth]  % width of the framebox
{
\begin{minipage}{0.9\textwidth}  % width of the minipage
first line

second line 
\end{minipage}
}

some text 
\end{document}
0

it works fine

\framebox{
    \parbox{\columnwidth-4\fboxsep}{sample text sample text sample text sample text sample text sample text sample text sample text sample text sample text sample text sample text sample text sample text sample text }
}
4
  • 1
    Why do you use -4\fboxsep and not -2\fboxsep-2\fboxrule? Also, you have some spurious spaces that add space (and might be the reason for you using -4\fboxsep to start with).
    – Werner
    Sep 30, 2019 at 5:26
  • when I use -4\fboxsep. It works perfectly, but -2\fboxsep-2\fboxrule can't. I don't know why but only have the result...
    – Sailist
    Oct 9, 2019 at 4:52
  • Are you including calc?
    – Werner
    Oct 9, 2019 at 5:18
  • No.. And only minted package can have the results, I just try it, it's amazing...
    – Sailist
    Oct 15, 2019 at 10:16

You must log in to answer this question.

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