
Ich bin kurz davor, die mdframed
gewünschte Einstellung zu erhalten:
\documentclass[a4paper,10pt]{book}
\usepackage[paper=a4paper,twoside=true,lmargin=4cm,
rmargin=4cm,bindingoffset=0cm]{geometry}
\usepackage{mdframed}
\begin{document}
\noindent Surrounding text.
\begin{mdframed}
\begin{tabbing}
some great \=code\\
\>next line
\end{tabbing}
\end{mdframed}
\noindent Surrounding text.
\end{document}
Zwei Fragen:
Wie stelle ich die Schriftgröße innerhalb der
mdframed
Umgebung ein\small
?Wie kann ich dies in eine wiederverwendbare Umgebung umwandeln, sodass ich die Umgebungen
mdframed
und nichttabbing
jedes Mal neu starten und beenden muss?
Antwort1
Ein anderer Ansatz ohne zusätzliche Pakete besteht darin, eine neue Umgebung zu definieren. Im folgenden Beispiel myenv
macht die Umgebung das Gewünschte und verfügt über ein optionales Argument zum Übergeben von Optionen mdframed
:
\documentclass[a4paper,10pt]{book}
\usepackage[framemethod=tikz]{mdframed}
\newenvironment{myenv}[1][]
{\begin{mdframed}[font=\small,#1]\begin{tabbing}}
{\end{tabbing}\end{mdframed}}
\begin{document}
\noindent Surrounding text.
\begin{myenv}
some great \=code\\
\>next line
\end{myenv}
\noindent Surrounding text.
\begin{myenv}[backgroundcolor=red!20]
some great \=code\\
\>next line
\end{myenv}
\end{document}
Antwort2
Verwenden Sie , um zu jeder Umgebung \mdfsetup{font=\small}
hinzuzufügen . Um eine Umgebung in einzuschließen , können Sie den\small
mdframed
tabbing
mdframed
xpatch
Paket und seine \xapptocmd
Makros \xpretocmd
.
\documentclass[a4paper,10pt]{book}
\usepackage{mdframed}
\mdfsetup{font=\small}
\usepackage{xpatch}
\xapptocmd{\mdframed}{\begin{tabbing}}{}{}
\xpretocmd{\endmdframed}{\end{tabbing}}{}{}
\begin{document}
\noindent Surrounding text.
\begin{mdframed}
some great \=code\\
\>next line
\end{mdframed}
\noindent Surrounding text.
\end{document}
Eine Alternative, die ohne auskommt, xpatch
besteht darin, in der Präambel Probleme zu haben und Umgebungen im Dokumenttext \surroundwithmdframed{tabbing}
zu verwenden . Beachten Sie, dass dies – im Gegensatz zur obigen Lösung – nicht das Hinzufügen optionaler Argumente zu einzelnen Umgebungen erlaubt.tabbing
\documentclass[a4paper,10pt]{book}
\usepackage{mdframed}
\surroundwithmdframed[font=\small]{tabbing}
\begin{document}
\noindent Surrounding text.
\begin{tabbing}
some great \=code\\
\>next line
\end{tabbing}
\noindent Surrounding text.
\end{document}
Ausgabe für beide Beispiele: