TikZ - 上标带圆圈的文本数字 - 缺少 $

TikZ - 上标带圆圈的文本数字 - 缺少 $

我正在使用 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}

在此处输入图片描述

相关内容