总引用次数

总引用次数

我正在尝试找到一种简单的方法来获取我的论文中的引用总数(在最终文档中 - 而不是在我的Libary.bib文件中!)。我知道我可以用它\citenum{last_entry}来获取最后一个条目的编号,但如果稍后添加了新条目,这将不再为我提供引用总数。我发现这个包\usepackage{totcount}很有用,因为它为您提供了一种超级简单的方法来获取图表、表格等的总数。

我的问题是:是否有类似的命令用于获取引用总数?我搜索了好久,但没找到任何有用的信息。

万一需要此信息 - 我使用数字输出,例如:

[1] P. Drude, Physikal. Zeitschr. 1, 161 (1900)

我目前使用 totcount 包获取图表、表格总数的示例:

\documentclass{book}
\usepackage{totcount}
\newtotcounter{bibitems}
\newtotcounter{figure}
\regtotcounter{table}

\begin{document}
The total number of figures is \total{figure}, and the total number of tables is \total{table}.



\begin{figure}
[...]
\end{figure}

\begin{figure}
[...]
\end{figure}



\begin{table}
[...]
\end{end}

\begin{table}
[...]
\end{end}

\end{document}

答案1

您可以使用totcount 包

\documentclass{article}
\usepackage{totcount}

\newtotcounter{citnum} %From the package documentation
\def\oldbibitem{} \let\oldbibitem=\bibitem
\def\bibitem{\stepcounter{citnum}\oldbibitem}

\begin{document}
This document contains \total{citnum}\ references.

\cite{Martin06} \cite{Fortran2008}

\begin{thebibliography}{1}

\bibitem{Martin06}
P.~A. Martin.
\newblock {\em Multiple Scattering. {Interaction} of Time-Harmonic Waves with
  {$N$} Obstacles}.
\newblock Cambridge University Press, 2006.

\bibitem{Fortran2008}
Fortran standards technical~committee (J3).
\newblock Fortran 2008 language standard.
\newblock Technical Report J3/10-007, International Committee for Information
  Technology Standards (INCITS), 2010.

\end{thebibliography}
\end{document}

请注意,这也适用于 bibtex 书目;我包含了书目环境以使示例尽可能简单。

答案2

使用 biblatex 的另一种方法是使用 来简单地计算参考书目中的条目数量\AtEveryBibitem

\usepackage{totcount}
\newtotcounter{citenum}
\AtEveryBibitem{\stepcounter{citenum}}

对于多次\printbibliography调用,可以使用 重置计数器\AtNextBibliography

答案3

如果您被允许执行shell-escape,当 LaTeX 使用参考书目时,会生成一个文件(记得用您的真实文件的名称<your_document_name>.blg替换)。此文件中出现以下行:<your_document_name>

...
You've used 8 entries,
...

所以你可以运行

grep -P "You've used [0-9]+ entries," -m 1 "<your_document_name>.blg" | grep -P "[0-9]+" -o

通过使用以下文档,将打印此号码:

\documentclass{article}
\usepackage{bashful}
\begin{document}
Foo...

\bash[script,stdout]
grep -P "You've used [0-9]+ entries," -m 1 "<your_document_name>.blg" | grep -P "[0-9]+" -o
\END
\end{document}

请注意:您必须<your_document_name>用正确的文件名称替换。

相关内容