在章节标题中添加圆圈

在章节标题中添加圆圈

我想要一个罗马数字周围的圆圈在章节标题内

命令\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这是一种脆弱的命令(由于\tikzetc 内容)。

必须使用\protected then。或者用 来定义它\DeclareRobustCommand,例如\robustcircled,它可以不用\protectthen 来使用。

一般规则:使用强命令作为\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}

在此处输入图片描述

相关内容