Ich möchte in der Lage sein, Kästen um eine ganze Seite oder eine Auswahl von Seiten zu erstellen, wobei sich der Kasten über die gesamte Länge der Seite erstreckt, die untere Kante des Kastens jedoch über der Seitenzahl liegt, wie im beigefügten Beispiel. Es wäre ideal, wenn dies als Umgebung definiert werden könnte, sodass alle Seiten in dieser Umgebung in Kästen eingefasst sind. Diese Umgebung könnte verwendet werden, um eine Zusammenfassung vom Rest des Dokuments abzuheben.
Ich bin für alle Hinweise und Vorschläge sehr dankbar.
Antwort1
Mit tikz
und eso-pic
habe ich zwei Befehle definiert, \addframe
und \removeframe
die jeweils den Rahmen zur Seite hinzufügen und entfernen.
MWE:
\documentclass{article}
\usepackage{tikzpagenodes}
\usetikzlibrary{calc}
\usepackage{eso-pic}
\newcommand{\addframe}{%
\AddToShipoutPicture{%
\begin{tikzpicture}[remember picture, overlay]
\draw[line width=1pt]
($(current page text area.north west) +(-5mm,5mm)$)
rectangle
($(current page text area.south east) +(5mm,-5mm)$);
\end{tikzpicture}%
}%
}
\newcommand{\removeframe}{\ClearShipoutPicture}
\usepackage{lipsum} % just for the example
\begin{document}
\addframe
\lipsum[1-10]
\clearpage
\removeframe
\lipsum[1-10]
\clearpage
\addframe
\lipsum[1-10]
\end{document}
Ausgabe:
Sie können die Parameter ( 1pt
für die Dicke und 5mm
für den Abstand zum Text) beliebig anpassen.
Alternativ können Sie \addframe
auf diese Weise definieren
\newcommand{\addframe}{%
\begin{tikzpicture}[remember picture, overlay]
\draw[line width=1pt]
($(current page text area.north west) +(-5mm,5mm)$)
rectangle
($(current page text area.south east) +(5mm,-5mm)$);
\end{tikzpicture}%
}
und verwenden Sie es \addframe
auf jeder Seite, auf der Sie den Rahmen benötigen, wie im folgenden MWE:
\documentclass{article}
\usepackage{tikzpagenodes}
\usetikzlibrary{calc}
\newcommand{\addframe}{%
\begin{tikzpicture}[remember picture, overlay]
\draw[line width=1pt]
($(current page text area.north west) +(-5mm,5mm)$)
rectangle
($(current page text area.south east) +(5mm,-5mm)$);
\end{tikzpicture}%
}
\usepackage{lipsum} % just for the example
\begin{document}
\addframe
\lipsum[1-10]
\clearpage
\lipsum[1-10]
\clearpage
\addframe
\lipsum[1-10]
\end{document}
Antwort2
mdframed
Sie können hierfür ein Paket verwenden . mdframed
Es ist sehr anpassbar, Sie können eine Hintergrundfarbe und vieles mehr definieren.
Wenn Sie möchten, dass Ihre Boxen überall im gleichen Stil erscheinen, definieren Sie am besten eine neue Umgebung mit newmdenv
und legen Sie einige Stiloptionen fest. In diesem Fall wird der Standard verwendet, ein einzelner Rahmen um die Box. Sie können die Einstellungen später lokal überschreiben, indem Sie der Umgebung Optionen zuweisen, wie im zweiten Beispiel gezeigt.
\documentclass{article}
\usepackage{mdframed}
\newmdenv{boxed}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{boxed}
\blindtext
\blindtext
\begin{description}
\item [something] \blindtext
\item [something else] \blindtext[2]
\end{description}
\end{boxed}
\blindtext
\begin{boxed}[backgroundcolor=yellow]
\blindtext
\end{boxed}
\end{document}