1

I am finishing up my thesis and have added an abstract at the beginning of the document in which I want to reference a few key papers. So far, i've been using the biblatex package with the biber backend and sort=none.

(all options used for reference)

\usepackage[style=numeric-comp,sorting=none,backend=biber]{biblatex}

In the text the references are listed in order of referencing as I would like it to be. The problem is that now that the abstract is added, the references are sorted by appearance first in the abstract, which references key papers which are only first discussed in, say, chapter 3 of my thesis. What I would like to achieve is that only the main text influences the reference order, and the abstract inherits this order from the main text.

I have found a work around by temporarily removing the abstract text, compiling the document using pdflatex, then calling biber, then adding the abstract back in and compiling again with pdflatex. This ensures that the reference order is based only on the main text, but I have to do this everytime I add a new reference anywhere in the text. Is there any way to implement this in a more straightforward way, like by defining an environment which turns off reference order tracking? I was thinking of something like

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

I couldn't find any discussion on this topic but maybe I haven't searched for the correct key phrases. Any help or reference to any other discussion about this topic would be greatly appreciated. Thank you in advance.

MWE:

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

With the minbib-example.bib file containing

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

Desired result

Abstract

In the abstract I reference FosterEtAl [2[, 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 [1], which I would like to appear with citation mark [1], since it is referenced in the main text first.

Main Text

\section{Main Text}% In the main text I first reference Knuth [1], which should get assigned the numeric value [1]. Then I reference FoseterEtAl [2] second, which should get assigned the numeric value [2]. Finally I reference Alsolami [3], which should get assigned the numeric value [3].

References

[1] Donald E. Knuth. “Literate Programming”. In: The Computer Journal 27.2 (1984), pp. 97–111.

[2] George Foster et al. “Statistical Machine Translation: Rapid Develop- ment with Limited Resources”. In: Proceedings of MT Summit IX. New Orleans, USA, 2003, pp. 110–119.

[3] Eesa Alsolami. “An examination of keystroke dynamics for continuous user authentication”. PhD thesis. Queensland University of Technology,

Actual result:

Desired result

Abstract

In the abstract I reference FosterEtAl [1], 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 [2], which I would like to appear with citation mark [1], since it is referenced in the main text first.

Main Text

\section{Main Text}% In the main text I first reference Knuth [2], which should get assigned the numeric value [1]. Then I reference FoseterEtAl [1] second, which should get assigned the numeric value [2]. Finally I reference Alsolami [3], which should get assigned the numeric value [3].

References

[1] George Foster et al. “Statistical Machine Translation: Rapid Develop- ment with Limited Resources”. In: Proceedings of MT Summit IX. New Orleans, USA, 2003, pp. 110–119.

[2] Donald E. Knuth. “Literate Programming”. In: The Computer Journal 27.2 (1984), pp. 97–111.

[3] Eesa Alsolami. “An examination of keystroke dynamics for continuous user authentication”. PhD thesis. Queensland University of Technology,

5
  • 1
    Welcome to TeX.SX! Could you provide the MWE generating your examples so that people are able to help you?
    – KersouMan
    Commented Mar 27, 2023 at 9:27
  • I added a MWE and edited the example corerspondingly
    – ljbkusters
    Commented Mar 27, 2023 at 17:05
  • @moewe Oh that's a much better solution than mine. I'll add a link to that question in my answer there.
    – Alan Munn
    Commented Mar 27, 2023 at 19:31
  • @moewe Sadly your solution appears nowhere in the biblatex documentation. It seems like functionality that could easily be added as a documented user command.
    – Alan Munn
    Commented Mar 27, 2023 at 19:38

1 Answer 1

0

[EDIT] Yes, it was indeed a duplicate question:

biblatex: cite without affecting sorting order

So the following code should satisfy your needs:

\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}
3
  • Thank you for your response. I tried your example but I'm not getting the desired results. The sort order is still defined by the first occurence of the reference, i.e.: REF3 appears as [1], REF2 as [2] and REF1 as [3]. Are you getting different results?
    – ljbkusters
    Commented Mar 27, 2023 at 16:42
  • refsegments essentially only attach an additional label to the reference that can be used for bibliography filtering. Segments do not inherently change the numbering/sort order. If used as shown in the code, the segments should have basically no impact on the result.
    – moewe
    Commented Mar 27, 2023 at 19:21
  • Odd. When I use references I have, I get i.sstatic.net/Lv2kf.png from gist.github.com/moewew/538c97568b43c7e3b0049a8e21384f7f. Meaning that the refsegment does not help.
    – moewe
    Commented Mar 28, 2023 at 4:59

Not the answer you're looking for? Browse other questions tagged .