我有以下 MWE:
\documentclass{article}
\usepackage[latin9]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
%\usepackage{pdfpages}
\newcounter{cptnumpubli}
\def\numpubli{\addtocounter{cptnumpubli}{1}\thecptnumpubli}
\begin{document}
\setcounter{cptnumpubli}{0}
\begin{thebibliography}{00}
\bibitem[\numpubli]{refbib} authors, title
\end{thebibliography}
\end{document}
如果我取消注释,\usepackage{pdfpages}
我会收到一个错误,但我不知道如何处理。
似乎该pdfpages
包与我在参考书目中使用自己的计数器之间存在冲突。我不完全明白问题出在哪里。
编译以以下消息结束:
! Undefined control sequence.
\@calc@post@scan ...st@scan \else \def \calc@next
{\calc@error #1}\fi \fi \f...
l.16 \bibitem[\numpubli]{refbib}
authors, title
我怎样才能pdfpages
在我的文档中使用该包,同时仍然在 bibitem 条目中使用我自己的计数器?
答案1
更换线路
\newcounter{cptnumpubli}
\def\numpubli{\addtocounter{cptnumpubli}{1}\thecptnumpubli}
经过
\newcounter{cptnumpubli}
\DeclareRobustCommand{\numpubli}{\addtocounter{cptnumpubli}{1}\thecptnumpubli}
使其工作!
[2021 年 2 月编辑]
而且我发现下面的方法效果更好(DeclareRobustCommand
使用命令带来的麻烦的解决方案\cite
):
\newcounter{cptnumpubli}
\def\numpubli{\protect\stepcounter{cptnumpubli}\thecptnumpubli}