在包手册中tcolorbox
,作者 Thomas Sturm 给出了语法
\DeclareTotalTCBox
命令为
`\DeclareTotalTCBox[init options]{\name}{specification}{options}{content}`
- 规格与选项有何区别?
- 他
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}