tcolorbox 中的扩展问题

tcolorbox 中的扩展问题

我想部分复制tcolorbox手册的一个示例。最终结果(在当前文档的第 24.1 节第 461 页)如下所示 在此处输入图片描述 我感兴趣的是将一个\DeclareTotalTCBox包含逐字内容的 嵌套在一个 里面\tcbsidebyside

根据文档源代码,此示例是通过

\begin{dispExample*}{sbs,lefthand ratio=0.6}
\DeclareTotalTCBox{\myverb}{ v }{verbatim,
  colframe=red!75!black,colupper=blue}{#1}

\myverb{\textbf} is a \myverb{\LaTeX} command.
\end{dispExample*}

位于doc\latex\tcolorbox\tcolorbox.doc.xparse.tex(在tcolorbox来源中)。

环境dispExample*本身定义tex\latex\tcolorbox\tcbdocumentation.code.tex

\def\enddispExample{%
  \endtcbwritetemp\endgroup%
  \begin{tcolorbox}%
  \tcb@doc@usetemplisting%
  \tcblower%
  \tcbusetemp%
  \end{tcolorbox}%
}

\newenvironment{dispExample*}[1]{%
  \tcb@layer@pushup\tcbset{docexample,#1}\begingroup\tcbwritetemp%
  }{\enddispExample}

我不太明白……

我目前的开发是\achtung根据 a 定义一个(向这里的德国朋友问好)命令\tcbsidebyside并重新使用\myverb文档中的。

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}

% Affichage de boite pour mettre du contenu en évidence
\newcommand{\achtung}[1]{
    \tcbsidebyside[sidebyside adapt=left,colframe=orange,fonttitle=\bfseries,
        bicolor,colback=white,colbacklower=orange!5!white,top=1mm,bottom=1mm]{%
        {}
    }{%
        #1
    }
}

\DeclareTotalTCBox{\myverb}{ v }{verbatim,colframe=red!75!black,colupper=blue}{#1}
    
\begin{document}
    \achtung{\lipsum[1] \myverb{blablabla}} % <--- remove the \myverb to make the example work.
\end{document}

我能想到的导致此方法失败的明显原因是,以某种方式吞噬了一些或可能有帮助的\achtung论点。直接使用似乎没有太大区别。\myverb\protect\noexpand\tcbsidebyside

答案1

解决方法verbatimbox

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lipsum,verbatimbox}

% Affichage de boite pour mettre du contenu en évidence
\newcommand{\achtung}[1]{
    \tcbsidebyside[sidebyside adapt=left,colframe=orange,fonttitle=\bfseries,
        bicolor,colback=white,colbacklower=orange!5!white,top=1mm,bottom=1mm]{%
        {}
    }{%
        #1
    }
}

\DeclareTotalTCBox{\myverb}{ v }{verbatim,colframe=red!75!black,colupper=blue}{#1}
    
\begin{document}
  \begin{myverbbox}{\bla}blablabla\end{myverbbox}
    \achtung{\lipsum[1] \bla} % <--- remove the \myverb to make the example work.
\end{document}

在此处输入图片描述

相关内容