DeclareTotalTCBox 命令(tcolorbox 包)

DeclareTotalTCBox 命令(tcolorbox 包)

在包手册中tcolorbox,作者 Thomas Sturm 给出了语法

\DeclareTotalTCBox 命令为

`\DeclareTotalTCBox[init options]{\name}{specification}{options}{content}`
  1. 规格与选项有何区别?
  2. O{red} v O{}在他的例子中使用了规范,这样的代码如何解释?

答案1

specification的是盒子参数。为了理解这一点,有必要了解这\DeclareTotalTCBox是基于xparse包装的。

xparse包提供了\NewDocumentCommand{\foo}{argument specification}{...},其中的规范可以非常灵活(因此xparse文档也是一个很好的起点!)

tcolorbox这些选项具有与基于环境的通常选项相同的含义。

现在第二个问题:

该规范O{red}vO{}意味着第一个参数是可选的,其默认值为red,第二个参数v是逐字参数(即内容按字面意思使用,而不是解释为 LaTeX 代码),O{}最后一个参数是可选的,其默认值为空。上述示例用于在tcolorbox- 框中显示 LaTeX 代码。这就是v使用 as 参数的原因。

要使用\DeclareTotalTCBox与 相当 ,\newtcbox重要的是要知道规范从 变为,[2][]{O{}m}意味着第一个参数是可选的,第二个参数是和蔼可亲!

我也添加了一个小示例:

\DeclareTotalTCBox{\mybox}{O{yellow}mO{}m}{%
colbacktitle={#1},title={#2},coltitle={black},#3}{#4}

这将定义一个类似 tcbox 的命令,它具有可选的第一个参数,为标题提供背景颜色,第二个(强制)参数用于标题,第三个(可选)参数包含用于框设置的附加选项,第四个参数也是强制的 - 它将{...}作为框的内容成为最后一对。

\documentclass{article}

\usepackage[most]{tcolorbox}

%%% Example taken from tcolorbox.pdf v. 3.72 manual

\DeclareTotalTCBox{\myverb}{ O{red} v O{} }
{ fontupper=\ttfamily,nobeforeafter,tcbox raise base,arc=0pt,outer arc=0pt,
top=0pt,bottom=0pt,left=0mm,right=0mm,
leftrule=0pt,rightrule=0pt,toprule=0.3mm,bottomrule=0.3mm,boxsep=0.5mm,
colback=#1!10!white,colframe=#1!50!black,#3}{#2}


    \DeclareTotalTCBox{\mybox}{O{yellow}mO{}m}{%
colbacktitle={#1},title={#2},coltitle={black},#3}{#4}


\begin{document}


\mybox{My first box}{Ducks are great}

\mybox[green]{My first box}{Ducks are great}
To set a word \textbf{bold} in \myverb{\LaTeX}, use
\myverb[green]{\textbf{bold}}. Alternatively, write
\myverb[yellow]{{\bfseries bold}}.
In \myverb[blue]{\LaTeX}[enhanced,fuzzy halo], other font settings are
done in the same way, e.\,g. \myverb{\textit}, \myverb{\itshape}\\
or \myverb[brown]{\texttt}, \myverb[brown]{\ttfamily}.


\end{document}

在此处输入图片描述

相关内容