18

I have a big problem with Latex. I tried to install biblatex to create a bibliography. Since I had some trouble with the .bib file, I deleted the last command I inserted, such as \usepackage{biblatex} and \addbibresource{sample.bib}, \printbibliography. Now Latex does not compile the pdf document anymore and I get the following error. What should I do? Maybe trying to uninstall the package biblatek? Thank you.

19
Undefined control sequence.
l.19 \abx@aux@refcontext
                        {nty/global//global/global}
Nenne
  • 697
  • 3
    that is presumably line 19 of the aux file, first try deleting the aux file and see if that fixes the problem. – David Carlisle May 01 '19 at 20:51
  • 1
    If you are not loading biblatex any more the command \abx@aux@refcontext and many other biblatex-defines stuff will be undefined. Those commands can, however, still persist in the temporary files (mainly .aux). Delete all auxiliary files and recompile from scratch. The error should be gone. – moewe May 01 '19 at 20:54
  • Thank you, that fortunately worked! – Nenne May 01 '19 at 20:54
  • I am a novice and I didn't know that. Thank you, you helped me a lot. – Nenne May 01 '19 at 20:56
  • try to recompile your whole project by choosing the recompiled from scratch. – M. Yousif Oct 13 '22 at 08:09

1 Answers1

20

tl;dr Delete the temporary .aux, .bbl, .bcf files and recompile from scratch.


LaTeX basically reads your document from beginning to end and cannot skip forward when processing your file. In order to be able to act on stuff that happens later in your document, LaTeX 'remembers' certain things from earlier LaTeX runs by writing them to so-called auxiliary or temporary files. That is the reason why for some things you need to run LaTeX multiple times to get things right. (For example for labels, see Understanding how references and labels work.) The most important auxiliary file is the .aux file. The .aux file is read quite early on when your document is processed and contains information from the previous LaTeX run.

The fact that the .aux file was produced by the previous run becomes crucial here. When you load biblatex, that package writes certain commands into the .aux file to help typesetting the bibliography and citations as expected. Those commands are defined by biblatex and will be executed on the next run to make sure everything looks nice.

If you no longer load biblatex and run LaTeX with an .aux file produced by the previous run where biblatex was still loaded, the .aux file will contain references to biblatex macros that are now unknown to LaTeX (you haven't loaded biblatex, after all).

Errors like this can swiftly be resolved by deleting all temporary and auxiliary files (.aux, .bbl, .bcf, ...) and running a full compilation cycle from scratch. Deleting the auxiliary files is safe since they will be recreated in the next run of LaTeX (or the relevant helper program).

moewe
  • 175,683