Seitenumbrüche bei parbox

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


cattas
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: So 28. Okt 2012, 20:36

Seitenumbrüche bei parbox

Beitrag von cattas »

Hallo,

ich schreibe mir für mein Studium grade einige Seiten mit Infos zusammen. Dabei habe ich auch immer wieder teil. sehr lange Beispiele über mehrer Seiten. In diesen Beispielen kommen Text, Grafiken und Matheumgebungen vor.

Ich würde gerne um diesen ganzen Block einen Rahemn ziehen, um es übersichtlich zu halten.
Das ganze funktioniert z.b. mit fbox und parbox auch gut. Nur wenn der Block länger wird als eine Seite, schreibt er unter über den Rand hinaus.

Kann man das abstellen und latex zwingen, die box zu schließen und auf der nächsten Seite weiter zu machen?
\newcounter{beispiel}

\newcommand{\example}[1]{{\refstepcounter{beispiel}\par\medskip\noindent 
\fbox{\parbox{\linewidth}{\textbf{\begin{center}
Beispiel~\thebeispiel
\end{center}}#1}}}}
Schon mal vielen Dank im Voraus.
Felix
Dateianhänge
Unbenannt.png
Unbenannt.png (62.55 KiB) 3605 mal betrachtet

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Hallo dafür gibts n paar Pakete. Spontan fangen mir mdframed und framed an.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


cattas
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: So 28. Okt 2012, 20:36

Beitrag von cattas »

Vielen Dank.

framed war genau das richtige.

Polis Tyrol
Forum-Anfänger
Forum-Anfänger
Beiträge: 40
Registriert: Fr 30. Apr 2010, 09:55
Wohnort: Leoben

Beitrag von Polis Tyrol »

Verzeiht, wenn ich hier noch einmal nachfrage. Ich habe ein ähnliches Problem, das allerdings meines Wissens nach nicht mit framed gelöst werden kann?!
Ich möchte in einem Dokument alles linksbündig haben, nur mit verschiedenen Abständen an den Rändern, also in etwa so:
\documentclass{article}

\usepackage[ngerman]{babel}
\usepackage{blindtext}

\begin{document}
\begin{center}
	\parbox{6cm}{\flushleft\blindtext}\par
	\parbox{8cm}{\flushleft\blindtext}\par
	\parbox{7cm}{\flushleft\blindtext}
\end{center}
\end{document}
nur mit dem Unterschied, dass ich Seitenumbrüche auch innerhalb von Absätzen möglich sind. Im hier gegebenen Fall sollte also inmitten des dritten Absatzes umgebrochen werden.
Geht das?

Felix
Forum-Century
Forum-Century
Beiträge: 210
Registriert: Sa 25. Jan 2014, 13:57

Beitrag von Felix »

Ja, framed und mdframed kommen mit Seitenumbrüchen klar. Am Beispiel:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{mdframed}
\begin{document}
\begin{center}
  \begin{mdframed}[everyline=true]
   \parbox{6cm}{\flushleft\blindtext}\par
   \parbox{8cm}{\flushleft\blindtext}\par
   \parbox{7cm}{\flushleft\blindtext}
  \end{mdframed}
\end{center}
\end{document}
Wenn es kein ganzer Rahmen sein soll, sondern eine Einrückung mit Hervorhebung, schau vielleicht hier: Wie kann ich eine Linie links neben einem Zitat zeichnen?

Felix
Ein TikZ Süchtiger :-)

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Wenn ich die Frage richtig verstehe, müssten dann aber die parboxen jeweils durch mdframed Umgebungen ersetzt werden, damit innerhalb von diesen Textteilen Seitenumbrüche möglich sind.

Wenn kein Rahmen gezeichnet werden soll, dann ist es vermutlich das einfachste die von KOMA-Script bereitgestellte addmargin Umgebung zu nutzen. Dafür muss man entweder eine KOMA-Script Klasse verwenden oder das Paket scrextend laden:
\documentclass{article}
\usepackage{scrextend}% bei Verwendung einer KOMA-Script Klasse auskommentieren

\usepackage[ngerman]{babel} 
\usepackage{blindtext} 

\begin{document} 
  \begin{addmargin}{\dimexpr(\linewidth-6cm)/2\relax}
    \flushleft\blindtext\par
  \end{addmargin}
  \begin{addmargin}{\dimexpr(\linewidth-8cm)/2\relax}
    \flushleft\blindtext[2]\par
  \end{addmargin}
  \begin{addmargin}{\dimexpr(\linewidth-7cm)/2\relax}
    \flushleft\blindtext\par
  \end{addmargin}
\end{document}
Eine mögliche Alternative mit mdframed wäre
\documentclass{article} 

\usepackage[ngerman]{babel} 
\usepackage{blindtext} 

\usepackage{mdframed}

\mdfdefinestyle{einzug}
  {
    hidealllines=true,
    innerleftmargin=0pt
    innerrightmargin=0pt,
    innerbottommargin=0pt,
    innertopmargin=0pt,
    skipabove=0pt,
    skipbelow=0pt,
    align=center
  }

\newenvironment{einzug}[1]
  {\begin{mdframed}[style=einzug,userdefinedwidth=#1]}
  {\end{mdframed}}

\begin{document} 
  \begin{einzug}{6cm}
    \flushleft\blindtext\par
  \end{einzug}
  \begin{einzug}{8cm}
    \flushleft\blindtext[2]\par
  \end{einzug}
  \begin{einzug}{7cm}
    \flushleft\blindtext\par
  \end{einzug}
\end{document}
Damit könnten dann um die Absätze auch Rahmen gezeichnet werden.

Gruß
Elke

Polis Tyrol
Forum-Anfänger
Forum-Anfänger
Beiträge: 40
Registriert: Fr 30. Apr 2010, 09:55
Wohnort: Leoben

Beitrag von Polis Tyrol »

Hallo, Elke!
Vielen Dank, deine Lösungen funktionieren beide. Ich ärgere mich dennoch über mich selber, denn addmargin hatte ich schon einmal verwendet; hätte wirklich selber draufkommen können, dass das auch nichts anderes macht!
Aber vielen Dank!

Antworten