TeXwelt wurde neu installiert. Es funktionieren noch nicht alle Features und auch an den deutschsprachigen Formulierungen wird verbessert. Danke für eure Geduld.

Wenn ich in einer gerahmten Box einen Zeilenumbruch mache, kriege ich diesen Fehler:

! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.7 \end{frame}

Geht da kein Zeilenumbruch? Wie könnte ich den hinkriegen?

\documentclass{beamer}
\begin{document}
\begin{frame}
Normaler \\ Text

\fbox{Ein mehrzeiliger \\ Text}
\end{frame}
\end{document}

gefragt 20 Jul '13, 12:27

jan12's gravatar image

jan12
760192732
Akzeptiert-Rate: 100%

bearbeitet 25 Sep '13, 18:55

saputello's gravatar image

saputello
10.4k93760

Das ist einer der Fälle, wo die Fehlermeldung definitiv nicht im geringsten hilfreich ist...

(20 Jul '13, 16:14) Clemens

Grundsätzlich sollte man \\ nur sehr sparsam bzw, nur innerhalb von center-, flushleft, raggedright-, tabular-, verse- und ähnlichen Umgebungen verwenden. An anderen Stellen sind in der Regel Absätze mit Leerzeile oder \par vorzuziehen.

In Deinem Fall kommt allerdings hinzu, dass eine \fbox genau wie eine \mbox, eine \makebox oder eine \framebox eine horizontale Box ist. Der Inhalt wird also nur horizontal ausgegeben. Daher sind innerhalb einer solchen Box auch keine Zeilenumbrüche oder Absätze möglich.

Will man innerhalb einer horizontalen Box dennoch Material auch vertikal anordnen, so muss man innerhalb der horizontalen Box eine vertikale Box einfügen. Bei LaTeX geht das beispielsweise mit einer \parbox oder eine minipage- oder tabular-Umgebung oder mit der varwidth-Umgebung des gleichnamigen Pakets.

Du könntest also beispielsweise

\documentclass{beamer}
\usepackage{varwidth}
\begin{document}
\begin{frame}
\fbox{\begin{varwidth}{\linewidth}Ein mehrzeiliger \\ Text\end{varwidth}}
\end{frame}
\end{document}

verwenden, um so

das Ergebnis

zu erzielen.

In LaTeX for authors findet man übrigens für genau diesen Zweck ein Beispiel mit der lrbox-Umgebung:

\newsavebox{\fmbox}
\newenvironment{fmpage}[1]
  {\begin{lrbox}{\fmbox}\begin{minipage}{#1}}
  {\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}}

das wäre dann als

\begin{fmpage}{10em}
Ein mehrzeiliger \\ Text
\end{fmpage}

zu verwenden. Natürlich kann man auch in obiger Definition von fmpage die minipage- durch eine varwidth-Umgebung ersetzen.

Permanenter link

beantwortet 20 Jul '13, 12:45

saputello's gravatar image

saputello
10.4k93760
Akzeptiert-Rate: 51%

bearbeitet 20 Jul '13, 13:24

Danke für die schnelle und kompetente Antwort! Und varwidth ist ein super Tipp.

(20 Jul '13, 13:04) jan12

@jan12 Du hattest einfach nur Glück, dass ich gerade online bin und Du ein VM mit angegeben hattest. Danke übrigens für die zusätzlichen Punkte, aber Daumen hoch oder Haken genügt normalerweise. Du hast die Punkte nötiger als ich. ;)

(20 Jul '13, 13:12) saputello
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×36
×18
×17
×14
×2

gestellte Frage: 20 Jul '13, 12:27

Frage wurde gesehen: 18,420 Mal

zuletzt geändert: 25 Sep '13, 18:55