梅威瑟:

梅威瑟:

我即将完成我的论文,并在文档开头添加了一个摘要,其中我想引用一些关键论文。到目前为止,我一直在使用 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

[编辑] 是的,这确实是一个重复的问题:

biblatex:引用而不影响排序顺序

因此下面的代码应该可以满足您的需求:

\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}

相关内容