请随意更改该问题的标题,因为我不确定它是否合适。
例如,我想绘制一条与标准框线厚度高度相同的规则tcolorbox
。
我查看了tcolorbox
包代码,并假设该行leftrule/.store in=\kvtcb@left@rule
对于我想要的东西来说是必不可少的。但如果我尝试
\documentclass{article}
\usepackage{tcolorbox}
\begin{document}
\noindent\rule{\textwidth}{\kvtcb@left@rule}
\end{document}
它不起作用并且 LaTeX 返回错误! Undefined control sequence.
。
所以我更普遍的问题是:我如何访问这样的包内部值以便在我的文档中使用它们?
答案1
可以使用包装器,至少对于某些键值,以防止\makeatletter...\makeatother
每次都进行配对:
\documentclass{article}
\usepackage{tcolorbox}
\makeatletter
\newcommand{\accesstcb}[1]{%
\csname kvtcb@#1\endcsname%
}
\makeatother
\begin{document}
\noindent\rule{\textwidth}{\accesstcb{left@rule}}
\end{document}
问题是,tcolorbox
根据用途,内部值有一些不同的命名方案。