我有以下命令
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,draw,inner sep=2pt] (char) {#1};}}\usetikzlibrary{arrows}
我想在图形的标题环境中使用它。但是,这会产生错误:未定义的控制序列。为什么会发生这种情况?该命令在其他地方按预期工作。
答案1
正如评论中所述,下次请提供一个最小的工作示例,这\protect\circled
肯定是您想要的。另一个解决方案是使用更强大、更强大、更新的\NewDocumentCommand
,我认为这样做完全没有问题:
\documentclass[]{article}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\NewDocumentCommand{\circled}{m}{
\tikz[baseline=(char.base)]
\node[shape=circle,draw,inner sep=2pt] (char) {#1};
}
\circled{foo}
\begin{figure}
\centering
\includegraphics{example-image-a}
\caption{Yes \circled{foo}}
\label{fig:foo}
\end{figure}
\end{document}