我正在使用 XeLaTex 和 Memoir 类。我重新定义了脚注符号,如下所示:
\renewcommand{\thefootnote}{{\ding{\numexpr171+\value{footnote}}}}
但是,当我在脚注中放置标签时,这会破坏 \ref 编号。请参阅下面的 MWE。它应该显示“参见第 1 页脚注 1”,而不是“参见第 1 页脚注 2”。我也在使用 perpage 包和选项,但无论有没有它都会发生错误。
正确的做法是什么?如能得到任何帮助,我将不胜感激。
\documentclass[11pt]{memoir}
\usepackage{pifont} %Need circled numbers for Chinese style footnote
\usepackage{perpage} %Renumber footnote on each new page
\usepackage{layouts} %To check page layout
%%% Book Layout %%%
\setstocksize{5in}{4in}
\settrimmedsize{5in}{4in}{*}
\setlength{\trimtop}{0pt}
\setlength{\trimedge}{\stockwidth}
\addtolength{\trimedge}{-\paperwidth}
\settypeblocksize{3in}{3in}{*}
\setulmargins{1in}{*}{*}
\setlrmargins{0.5in}{*}{*}
\setmarginnotes{0pt}{0pt}{0pt}
\checkandfixthelayout
%%% Footnote rule %%%
\MakePerPage{footnote}
\renewcommand{\thefootnote}{{\ding{\numexpr171+\value{footnote}}}}
\begin{document}
This is the first line\footnote{This is the first footnote.\label{ftn:first}}.
This is the second line\footnote{See page \pageref{ftn:first} footnote \ref{ftn:first}.}.
\end{document}
答案1
\makeatletter
\newcommand{\@fnding}[1]{\ding{\number\numexpr#1+171\relax}}
\newcommand{\fnding}[1]{\expandafter\@fnding\csname c@#1\endcsname}
\makeatother
\renewcommand{\thefootnote}{\fnding{footnote}}