我即将完成我的论文,并在文档开头添加了一个摘要,其中我想引用一些关键论文。到目前为止,我一直在使用 biblatex 包和 biber 后端sort=none
。
(所有选项仅供参考)
\usepackage[style=numeric-comp,sorting=none,backend=biber]{biblatex}
正文中的参考文献按照我希望的顺序列出。问题是,现在添加了摘要,参考文献按摘要中的出现顺序排序,其中引用的关键论文仅在我的论文第 3 章中首先讨论。我希望实现的是,只有正文影响参考文献顺序,摘要从正文继承此顺序。
我找到了一种解决方法,即暂时删除摘要文本,使用 编译文档pdflatex
,然后调用biber
,然后重新添加摘要并再次使用 进行编译pdflatex
。这可确保参考顺序仅基于正文,但每次在文本中的任何位置添加新参考时,我都必须这样做。有没有更直接的方法可以实现这一点,比如通过定义一个关闭参考顺序跟踪的环境?我在想类似
\begin{noreferencetracking}
% my abstract referencing topics from all over my thesis...
\end{noreferencetracking}
% main text
% chapter 1 references [1-4]
% chapter 2 references [5-9]
% etc...
我找不到关于这个主题的任何讨论,但也许我没有搜索正确的关键短语。任何有关这个主题的帮助或参考讨论都将不胜感激。提前谢谢您。
梅威瑟:
\documentclass[12pt]{article}
\usepackage[style=numeric-comp,sorting=none,backend=biber]{biblatex}
\addbibresource{minbib-example.bib}
\begin{document}
\section{Abstract}%
In the abstract I reference FosterEtAl~\cite{FosterEtAl:2003}, but I would like it to print with citation mark [2] as this is the second reference in the main text. Then I reference Knuth~\cite{knuth:1984}, which I would like to appear with citation mark [1], since it is referenced in the main text first.
\section{Main Text}%
In the main text I first reference Knuth~\cite{knuth:1984}, which should get assigned the numeric value [1].
Then I reference FoseterEtAl~\cite{FosterEtAl:2003} second, which should get assigned the numeric value [2].
Finally I reference Alsolami~\cite{Alsolami:2012}, which should get assigned the numeric value [3].
\printbibliography
\end{document}
文件minbib-example.bib
包含
@article{knuth:1984,
title={Literate Programming},
author={Donald E. Knuth},
journal={The Computer Journal},
volume={27},
number={2},
pages={97--111},
year={1984},
publisher={Oxford University Press}
}
@inproceedings{FosterEtAl:2003,
author = {George Foster and Simona Gandrabur and Philippe Langlais and Pierre
Plamondon and Graham Russell and Michel Simard},
title = {Statistical Machine Translation: Rapid Development with Limited Resources},
booktitle = {Proceedings of {MT Summit IX}},
year = {2003},
pages = {110--119},
address = {New Orleans, USA},
}
@phdthesis{Alsolami:2012,
title = {An examination of keystroke dynamics
for continuous user authentication},
school = {Queensland University of Technology},
author = {Eesa Alsolami},
year = {2012}
}
期望结果
抽象的
在摘要中,我引用了 FosterEtAl [2[,但我希望它以引用标记 [2] 打印出来,因为这是正文中的第二个引用。然后我引用了 Knuth [1],我希望它以引用标记 [1] 出现,因为它在正文中被第一次引用。
正文
\section{正文}% 在正文中,我首先引用了 Knuth [1],它应该被分配数值 [1]。然后我引用了 FoseterEtAl [2],它应该被分配数值 [2]。最后我引用了 Alsolami [3],它应该被分配数值 [3]。
参考
[1] Donald E. Knuth。“文学编程”。《计算机杂志》27.2(1984 年),第 97-111 页。
[2] George Foster 等。“统计机器翻译:有限资源下的快速发展”。《机器翻译峰会 IX 会议纪要》。美国新奥尔良,2003 年,第 110-119 页。
[3] Eesa Alsolami。“对持续用户身份验证的击键动态的检查”。博士论文。昆士兰科技大学,
实际结果:
期望结果
抽象的
在摘要中,我引用了 FosterEtAl [1],但我希望它以引用标记 [2] 打印出来,因为这是正文中的第二个引用。然后我引用了 Knuth [2],我希望它以引用标记 [1] 出现,因为它在正文中被第一次引用。
正文
\section{正文}% 在正文中,我首先引用了 Knuth [2],它应该被分配数值 [1]。然后我引用了 FoseterEtAl [1],它应该被分配数值 [2]。最后我引用了 Alsolami [3],它应该被分配数值 [3]。
参考
[1] George Foster 等。“统计机器翻译:有限资源下的快速发展”。《机器翻译峰会 IX 会议纪要》。美国新奥尔良,2003 年,第 110-119 页。
[2] Donald E. Knuth。“文学编程”。《计算机杂志》27.2(1984 年),第 97-111 页。
[3] Eesa Alsolami。“对持续用户身份验证的击键动态的检查”。博士论文。昆士兰科技大学,
答案1
[编辑] 是的,这确实是一个重复的问题:
因此下面的代码应该可以满足您的需求:
\documentclass{minimal}
\usepackage[style=numeric-comp,sorting=none,backend=biber]{biblatex}
\addbibresource{youbibfile.bib}
\begin{document}
\begingroup
\boolfalse{citerequest}
Inside group: \cite{REF3}, \cite{REF2} and \cite{REF1}.
\endgroup
Outside group: \cite{REF1}, \cite{REF2} and \cite{REF3}.
\end{document}