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.

Undefined control sequence.
l.19 \abx@aux@refcontext
  • 1
    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 1 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 1 at 20:54
  • Thank you, that fortunately worked! – Nenne May 1 at 20:54
  • I am a novice and I didn't know that. Thank you, you helped me a lot. – Nenne May 1 at 20:56

LaTeX basically reads your document from beginning to end and can not 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. 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.) LaTeX remembers things from an earlier run by writing the relevant information into so-called auxiliary or temporary files. 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 now drop 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).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.