我正在尝试定义一个执行以下操作的新计数器:
\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))。这在这里其实并不重要,但一般来说,提供最少的代码将有助于您发现错误,并使这里的人更容易帮助您:)