Capture=hbox automatisch in tcolorbox anhängen

Capture=hbox automatisch in tcolorbox anhängen

Ich möchte den Schlüssel hboxan alle meine tcolorboxes anhängen.

Es ist mir nicht gelungen, es in mein aufzunehmen tcbset. Welche anderen Möglichkeiten stehen mir also zur Verfügung, um es zu erledigen?

http://i.imgur.com/RCqybV8.png?1

\documentclass[twoside]{article}
\usepackage{tcolorbox}
\tcbset{capture=hbox}
\begin{document}
\begin{tcolorbox}
Why does this stretch across \verb|\linewidth|. :-(
\end{tcolorbox}
\begin{tcolorbox}[hbox]
Correct result
\end{tcolorbox}
\end{document}

Antwort1

Der captureModus ist durch speziell vor globalen Änderungen geschützt \tcbset.

@Andrew schlägt dasselbe vor, was ich auch tun würde: Man sollte ein benutzerdefiniertes verwenden tcolorbox:

\documentclass[twoside]{article}
\usepackage{tcolorbox}
\newtcolorbox{mybox}[1][]{capture=hbox,#1}
\begin{document}
\begin{mybox}
This is some text in a box
\end{mybox}
\begin{mybox}
Correct result
\end{mybox}
\end{document}

Wenn du wirklich,Wirklich,WirklichWenn Sie den Aufnahmemodus ändern möchten, können Sie dies mit dem folgenden Code tun.

Der folgende Code dient nur zur Demonstration. Er verwendet interne, nicht dokumentierte Makros, die sich in zukünftigen Versionen ohne Vorankündigung ändern können. Außerdem capture=hboxwird grundsätzlich von globalen Einstellungen abgeraten.

\documentclass[twoside]{article}
\usepackage{tcolorbox}
\makeatletter
\tcbset@late@options{capture=hbox}% you are discouraged to use this code
\makeatother
\begin{document}
\begin{tcolorbox}
This is some text in a box
\end{tcolorbox}
\begin{tcolorbox}
Correct result
\end{tcolorbox}
\end{document}

Antwort2

Warum nicht \newtcolorboxeine benutzerdefinierte Farbbox definieren, die hboxstandardmäßig Folgendes festlegt:

\documentclass[twoside]{article}
\usepackage{tcolorbox}
\newtcolorbox{mybox}[1][]{hbox,#1}% allow user to add custom options, with hbox as default
\begin{document}
  \begin{mybox}
    Why does this stretch across \verb|\linewidth|. :-(
  \end{mybox}
  \begin{mybox}[hbox]
  Correct result
  \end{mybox}
\end{document}

Die Verwendung der neuen Tcolorbox liefert das gewünschte Ergebnis:

Bildbeschreibung hier eingeben

verwandte Informationen