Texthintergrundfarbe *ohne* mdframed oder tcolorbox festlegen

Texthintergrundfarbe *ohne* mdframed oder tcolorbox festlegen

Das ist ein bekanntes Problem und wird nicht erstellt, wenn es in Umgebungen oder ES verwendet wird. Ich finde keine Problemumgehung tufte-*dafür und die meisten Beiträge zu diesem Thema deuten darauf hin, dass es keine gibt.\sidenote\marginnotemdframedtcolorbox

Ich möchte einfach einen schönen grauen Hintergrund hinter einige Absätze in einem setzen tufte-handout. Kann das gemacht werden?ohne mdframedoder tcolorbox?

EDIT: Minimales Beispiel

\documentclass[nobib,justified]{tufte-handout}

\usepackage{mdframed}

\newmdenv[
  linecolor=lightgray,
  linewidth=3pt,
  leftmargin=0pt,
  innerleftmargin=0pt,
  rightmargin=0pt,
  innerrightmargin=0pt
]{graybox}

\usepackage{lipsum}

\begin{document}

\begin{graybox}
\lipsum[1]
\marginnote{This is a marginnote}
\end{graybox}

\end{document}

Der Aufbau schlägt fehl mit! LaTeX Error: Float(s) lost.

Antwort1

Hier ist ein bisschen ein dummer Hack, der vielleichteine Mengevon Fehlern, aber es scheint für kurze Absätze abseits von Seitenumbrüchen zu funktionieren.

\documentclass{tufte-handout}
\usepackage{tcolorbox}
\usepackage{blindtext}

\usepackage{environ}

\makeatletter
\NewEnviron{grayground}{%
    \noindent\smash{\begin{tcolorbox}[colback=gray!20, colframe=gray!20, oversize, top=0pt, bottom=0pt, left=4pt, right=4pt, box align=top]
    \let\sidenote\@gobble
    \let\marginnote\@gobble
    \color{gray!20}\BODY
    \end{tcolorbox}}\par\BODY}
\makeatother

\begin{document}

\begin{grayground}
\blindtext\sidenote{\blindtext}\blindtext
\end{grayground}

\end{document}

Erläuterung

Die Grundidee besteht darin, den Text zunächst einmal mit zu drucken tcolorbox, dann aber alle sidenoteoder zu unterdrücken marginnote, wobei der Text die gleiche Farbe wie der Hintergrund haben soll, um ihn auszublenden.

Dann drucken wir dierealText, mit aktiver Randnotiz und Randnotiz darüber.

Ich gehe davon aus, dass die Maße der Version mit hochgestellten Randnoten und der Version ohne diese sehr ähnlich sind. Auch wenn die beiden Texte nicht genau gleich sind, sollten sie doch ungefähr dieselbe Menge an vertikalem Raum einnehmen, sodass man damit durchkommen kann.

Um dies umzusetzen, können Sie einfach einen verwenden, tcolorboxum die erste Druckrunde durchzuführen. Dann zerschlagen Sie es.

Innerhalb von tcolorboxkönnen Sie mit let marginnoteund sidenoteto @gobblederen Funktion unterdrücken. Zum Abschluss drucken Sie den gleichen Text noch einmal.

Um die Verwendung zu vereinfachen, können Sie alles in eine Umgebung einbinden.

Die Ausgabe sieht ungefähr so ​​aus (das Bild ist leicht veraltet; ich habe einige Anpassungen im Code vorgenommen, damit es besser passt).

Bildbeschreibung hier eingeben

verwandte Informationen