Verkleinern der Schriftgröße in diesem MDFramed und Umwandeln in eine wiederverwendbare Umgebung

Verkleinern der Schriftgröße in diesem MDFramed und Umwandeln in eine wiederverwendbare Umgebung

Ich bin kurz davor, die mdframedgewü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:

  1. Wie stelle ich die Schriftgröße innerhalb der mdframedUmgebung ein \small?

  2. Wie kann ich dies in eine wiederverwendbare Umgebung umwandeln, sodass ich die Umgebungen mdframedund nicht tabbingjedes Mal neu starten und beenden muss?

Antwort1

Ein anderer Ansatz ohne zusätzliche Pakete besteht darin, eine neue Umgebung zu definieren. Im folgenden Beispiel myenvmacht 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}

Bildbeschreibung hier eingeben

Antwort2

Verwenden Sie , um zu jeder Umgebung \mdfsetup{font=\small}hinzuzufügen . Um eine Umgebung in einzuschließen , können Sie den\smallmdframedtabbingmdframedxpatchPaket und seine \xapptocmdMakros \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, xpatchbesteht 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:

Bildbeschreibung hier eingeben

verwandte Informationen