我想部分复制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}