我正在使用 TikZ 创建一些带有数字作为标记的圆圈。但我想将它们用作上标。
因此生成一个圆圈我正在使用这个命令(这里建议:制作 \textcircled 数字的好方法?):
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,fill=blue!20,draw,inner sep=0.5pt] (char) {#1};}}
在文本中使用它(如上标) 我在用着:
text^{\circled{1}}
但是我得到了以下错误:
> Description Resource Path Location Type Missing $ inserted. ... & 24 &
> 8 & 32^{\circleds{3}} & (followed by: 0 & 24 & 8
> \\) doc.tex /doc line 287 Texlipse Build Error
有什么建议可以解释为什么会这样吗?
这是一个小的代码示例。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,fill=blue!20,draw,inner sep=0.5pt] (char) {#1};}}
\begin{document}
This works: \circled{3}. But this^{\circled{1}} is no good.
\end{document}
答案1
正如许多评论中所讨论的那样,根本问题是^
在文本中调用,而不是在数学模式下调用。有两种可能性,具体取决于您希望它如何表现。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,fill=blue!20,draw,inner sep=0.5pt] (char) {#1};}}
\begin{document}
This works: \circled{3}. But this\textsuperscript{\circled{1}} is no good.
This works: \circled{3}. But this$^{\circled{1}}$ is no good.
\end{document}