让数字出现在圆圈中

让数字出现在圆圈中

我之前在这里找到过一个相关问题,但我还不能发表评论。链接如下:制作 \textcircled 数字的好方法?

我的问题是,我们如何才能在 TeX 文件的不同部分多次使用此命令而不产生错误。

示例代码:

\documentclass{article}
\usepackage{tikz}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
            \node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
\begin{document}
Numbers aligned with the text:  \circled{1} \circled{2} \circled{3} end.
\end{document}

错误信息如下:

! LaTeX Error: Command \circled already defined.
               Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

1.222 ...circle,draw,inner sep=2pt] (char) {#1};}}

删除时\newcommand*会显示以下错误消息:

! You can't use 'macro parameter character #' in restricted horizontal mode.
<argument> ...ircle,draw,inner sep=2pt] (char {##
                                                 1}

有人能帮忙吗?非常感谢。

答案1

正如评论中提到的,您的示例代码编译得很好,但您不能\newcommand*\circled多次使用。如果您想要更多带圆圈的数字,只需\circled{n}对带圆圈的每个实例使用n

我猜你做了以下事情:你尝试了一些类似的代码

\documentclass{article}
\usepackage{tikz}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
            \node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
\begin{document}
Numbers aligned with the text:  \circled{1} \circled{2} \circled{3} end.
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
            \node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
Numbers aligned with the text:  \circled{1} \circled{2} \circled{3} end.
\end{document}

并得到! LaTeX Error: Command \circled already defined.这是预期的行为;你应该\circled在序言中只定义一次。然后你尝试删除第二个\newcommand*,但你仅有的删除了它。然后你确实收到了错误消息

! You can't use `macro parameter character #' in restricted horizontal mode.

你需要做的是删除定义的完整两行

\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
            \node[shape=circle,draw,inner sep=2pt] (char) {#1};}}

相关内容