我想要一个罗马数字周围的圆圈在章节标题内。
命令\circled
由以下部分组成:
\documentclass[11pt,a4paper]{article}
\usepackage{tikz}
...
%Circle around characters
\newcommand*\circled[1]{%
\tikz[baseline=(C.base)]\node[draw,circle,inner sep=0.5pt](C) {#1};\!
}
我得到的解决方案Latex 社区论坛。用圆圈围绕字符效果很好。当我尝试将其放入\subsection
命令中以将其添加到章节标题时,它确实有效,但我收到很多错误。
结果:
警告:
这里出了什么问题?它似乎可以正常工作,但我可以修复这些错误吗?
答案1
\circled
这是一种脆弱的命令(由于\tikz
etc 内容)。
必须使用\protect
ed then。或者用 来定义它\DeclareRobustCommand
,例如\robustcircled
,它可以不用\protect
then 来使用。
一般规则:使用强命令作为\section
等命令的参数。
\documentclass[11pt,a4paper]{article}
\usepackage{tikz}
%Circle around characters
\newcommand*\circled[1]{%
\tikz[baseline=(C.base)]\node[draw,circle,inner sep=0.5pt](C) {#1};
}
\DeclareRobustCommand*\robustcircled[1]{%
\tikz[baseline=(C.base)]\node[color=blue,draw,circle,inner sep=0.5pt](C) {#1};
}
\usepackage{pgffor}
\begin{document}
\foreach \x in {1,...,5}{%
\section{\protect\circled{\x} The super theory on brontosaurs}
\foreach \y in {1,...,6}{%
\subsection{\robustcircled{\y} The theory of brontosaurs -- version \y}
}}
\end{document}