Seite 1 von 1

fbox in Latex schreibt über den Rand, kein Zeilenumbruch

Verfasst: Do 24. Jul 2008, 13:35
von Maximilian
Mahlzeit allerseits,
so ich habe mich mal angemeldet, da ich sehe, dass ich doch noch einige Fragen habe. Meine nächste Frage wäre, wie ich einen Rahmen um einen Text bekomme. Dabei soll der Text natürlich innerhalb des Rahmens umgebrochen werden.

Also habe ich geschwind in meinem Latex-Werk nachgeschlagen und siehe da, es gibt sowas wie fbox. Nur habe ich jetzt ein Problem, er bricht den Text in der fbox nicht um.

Minimalbeispiel folgt auf dem Fuße.
\documentclass[11pt,
paper=a4,
]{scrbook}				
\title{Kinematische Berechnungen}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{scrpage2}

\begin{document}
\chapter{Minimalbeispiel}

\fbox{
Dies ist eine DIN Norm. Der Text ist sehr lang und darf leider nicht veröffentlicht werden. Aus diesen Gründen
ist ein Fülltext erforderlich, welcher das Problem verdeutlicht. Dies ist eine DIN Norm. Der Text ist sehr lang und darf leider nicht veröffentlicht werden. Aus diesen Gründen ist ein Fülltext erforderlich, welcher das Problem verdeutlicht.
}

\end{document}
Grüße
Max

EDIT: Ich hoffe das ist hier die richtige Rubrik. Wenn nicht dann verschiebt es einfach.

Verfasst: Do 24. Jul 2008, 13:40
von pospiech
Was du sucht ist die "framed" Umgebung. Darin kannst du auch Seitenumbrüche haben.

also (ungetested)
\usepackage{framed}
% \renewcommand\FrameCommand{\fcolorbox{black}{shadecolor}}
% zum Ändern der Rahmen und Innenfarbe

\begin{document}
\begin{framed}
...
\end{framed}
...
Matthias

Re: fbox in Latex schreibt über den Rand, kein Zeilenumbruch

Verfasst: Do 24. Jul 2008, 15:57
von KOMA
Maximilian hat geschrieben:Nur habe ich jetzt ein Problem, er bricht den Text in der fbox nicht um.
\fbox ist wie \mbox eine horizontale Box. In horizontalen Boxen erfolgt kein Absatzumbruch. Den gibt es nur in Absatzboxen (aka vertikalen Boxen). Diese wiederum kann man natürlich in eine horizontale Box packen. Die erste Idee wäre also vermutlich
\fbox{\parbox[\linewidth}{...}}
zu verwenden. Und schon ist man wieder reingefallen, weil natürlich die Linien ebenfalls eine Breite haben, nämlich \fboxrule und die Linien noch einen Abstand vom Inhalt haben, nämlich \fboxsep. Korrekt wäre also
\fbox{\parbox{\dimexpr \linewidth - 2\fboxrule - 2\fboxsep}{...}}
Eine Lösung als Umgebung, bei der allerdings ebenfalls vergessen wurde, die Linienbreite und den Abstand von der Linie zu berücksichtigen ist im usrguide zu finden. Dieser ist Bestandteil von LaTeX.

Falls zusätzlich zum Absatzumbruch ein Seitenumbruch erwünscht ist, sei auf die Lösung von pospiech verwiesen.

Verfasst: Fr 25. Jul 2008, 11:18
von Maximilian
Auch das hat funktioniert.

Vielen, vielen Dank.

Gruß
Maximilian