定义计数器

定义计数器

我正在尝试定义一个执行以下操作的新计数器:

\documentclass[10pt]{article} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{array}
\usepackage{tikz}
\usepackage{longtable}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
        \node[shape=circle,draw,inner sep=2pt] (char) {#1};}}

\begin{document} 
\begin{longtable}{lll} 
\circled{x} \quad  $3x^4-x^4-x^3(x+2)$ & 
\circled{x} \quad  $-12a^2+3a(a+1)$ &
\circled{x} \quad  $ax^n+4x^n$ 
\end{longtable} 
\end{document}

圆圈里应该有 1.、2. 等等。

是否可以定义一个自动计数的计数器?

答案1

以下工作:

\documentclass[10pt]{article} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{array}
\usepackage{tikz}
\usepackage{longtable}
\newcounter{circled}
\newcommand*\circled{\tikz[baseline=(char.base)]{
  \stepcounter{circled}
  \node[shape=circle,draw,inner sep=2pt] (char) {\arabic{circled}};}}

\begin{document} 
\begin{longtable}{lll} 
  \circled \quad  $3x^4-x^4-x^3(x+2)$ & 
  \circled \quad  $-12a^2+3a(a+1)$ &
  \circled \quad  $ax^n+4x^n$ 
\end{longtable} 
\end{document}

输出

circled用 声明了一个新的计数器\newcounter。它以 递增\stepcounter(自动以 1 递增;如果您想要其他递增,请使用\addtocounter)。最后,用 打印其数值\arabic(您可以改用\roman\Roman表示罗马数字)。

最后,请注意,您提供的代码不是最小的(如最小工作示例(MWE))。这在这里其实并不重要,但一般来说,提供最少的代码将有助于您发现错误,并使这里的人更容易帮助您:)

相关内容