使用了自定义数字样式后 footnote 引用错误,请问怎么修复?

2020-04-26 16:00发布

[图]这是 MWE:\documentclass{ctexbook} \usepackage{pifont}%\ding \renewcommand{\thefootnote}{\ding{\numexpr...

这是 MWE:

\documentclass{ctexbook}
\usepackage{pifont}%\ding
\renewcommand{\thefootnote}{\ding{\numexpr171+\value{footnote}}}
\begin{document}
第一个\footnote{\label{first}第一个脚注。}
\clearpage
第二个\footnote{\label{second}第二个脚注。}
第三个脚注\footnote{引用了第二个脚注:\ref{second}}
第四个脚注\footnote{引用了第一个脚注:\ref{first}}  
\end{document}

我用 \ding 将数字样式改为了带圈样式,在脚注引用时会出现数字错乱,具体如图:



现象就是引用第一个脚注时数字变成了3,而引用第二个脚注的时候数字也是3,除此之外如果将两个引用都放在脚注里的话,引用的脚注数字会和当前的脚注数字相同,如图:

Snipaste_2020-04-26_15-56-22.jpg


请问引起这个问题的原因是什么?如何在不修改圆圈实现方式的情况下修复这个问题?

另外,我参考了 LaTeX技巧775:带圈数字与带圈数字列表 实现的数字圆圈:

\usepackage{tikz}
\usepackage{etoolbox}
\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)%
    circle (.5em) node {\makebox[1em][c]{\small #1}};}}
\robustify{\circled}
\renewcommand{\thefootnote}{\circled{\value{footnote}}}

编译时提示“Missing number”,请问如何修改?由于编译失败,也不知道这样的修改方式是否能解决问题。