Автоматически добавлять capture=hbox в tcolorbox

Автоматически добавлять capture=hbox в tcolorbox

Я хотел бы добавить ключ hboxко всем своим tcolorboxфайлам es.

Мне не удалось включить это в свой tcbset, так какие еще варианты у меня есть, чтобы это сделать?

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}

решение1

Режим captureспециально защищен от глобальных изменений с помощью \tcbset.

@Andrew предлагает то же самое, что и я: следует использовать пользовательский 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}

Если вы действительно,Действительно,ДействительноЕсли вы хотите изменить режим захвата, вы можете сделать это с помощью следующего кода.

Следующий код приведен только для демонстрации. Он использует внутренние недокументированные макросы, которые могут измениться без уведомления в будущих версиях. Кроме того, глобальная настройка capture=hboxне рекомендуется из принципа.

\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}

решение2

Почему бы не использовать \newtcolorboxдля определения пользовательского tcolorbox, который установлен hboxпо умолчанию:

\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}

Использование нового tcolorbox дает то, что вам нужно:

введите описание изображения здесь

Связанный контент