2

without emacs

i have this doc.tex file:

\documentclass{article}
\usepackage{fontspec}
\usepackage[backend=biber]{biblatex}
\usepackage{csquotes}

\title{}
\date{}
\author{}
\bibliography{bibliography}

\begin{document}
\maketitle
\thispagestyle{empty} % has to be after  \maketitle

testing bibliography ---> \autocite{test:test}

\printbibliography
\end{document}

and this bibliography.bib file:

@book{test:test,
  title = {test},
}

which both compiles to the desired pdf file (with the desired printed bibliography):

$ xelatex doc.tex && biber doc && xelatex doc.tex

result without emacs


with emacs

however, if i use GNU Emacs 25.1.1 and auctex-11.89.4 for that, it doesn't work: result with emacs

i think this is the important part of the log file (i can't upload the full log file, due to the character limitation on stackexchange.com):

Package biblatex Info: Trying to load bibliographic data...
Package biblatex Info: ... file 'doc.bbl' not found.

No file doc.bbl.
Package biblatex Info: Reference section=0 on input line 11.
Package biblatex Info: Reference segment=0 on input line 11.
LaTeX Font Info:    External font `cmex10' loaded for size
(Font)              <12> on input line 12.
LaTeX Font Info:    External font `cmex10' loaded for size
(Font)              <8> on input line 12.
LaTeX Font Info:    External font `cmex10' loaded for size
(Font)              <6> on input line 12.

LaTeX Warning: Citation 'test:test' on page 1 undefined on input line 15.


LaTeX Warning: Empty bibliography on input line 17.

[1

] (./doc.aux)

LaTeX Warning: There were undefined references.


Package biblatex Warning: Please (re)run Biber on the file:
(biblatex)                doc
(biblatex)                and rerun LaTeX afterwards.

Package logreq Info: Writing requests to 'doc.run.xml'.
\openout1 = `doc.run.xml'.

 ) 

But unfortunately, i don't know what causes these errors. (in particular file 'doc.bbl' not found)

what have i tried?

Reading this tex.stackexchange.com question, some solutions are given.

reinstalling emacs and auctex

doesn't change anything.

reading a different log file (.blg)

unfortunately, no file with the extension .blg is given after building with emacs.

EDIT my emacs auctex settings:

(with-eval-after-load 'tex
    (setq LaTeX-item-indent -2 LaTeX-indent-level 4)
    (setq-default TeX-master nil)
    (setq TeX-parse-self t)          
    (setq TeX-auto-save t)                                        
    (add-hook 'LaTeX-mode-hook 'visual-line-mode)
    (add-hook 'LaTeX-mode-hook 'flyspell-mode)     
    (add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
    (add-hook 'LaTeX-mode-hook 'turn-on-reftex)
    (setq reftex-plug-into-AUCTeX t)                                    
    (setq-default TeX-engine 'xetex)   
    (setq LaTeX-biblatex-use-Biber t)
    (setq-default TeX-PDF-mode t))
6
  • How are you compiling your document from Emacs?
    – Tyler
    Aug 22, 2016 at 16:05
  • @Tyler C-a (which runs xelatex, as the logs show)
    – uuu
    Aug 22, 2016 at 16:08
  • C-a doesn't do any compiling by default. I don't think that is listed in the excerpt of your log either? I don't see any reference to xelatex
    – Tyler
    Aug 22, 2016 at 16:11
  • @Tyler ah, okay. I've used that till today to compile stuff (i.e. i didn't run anything else) - therefore i'm a bit puzzled. Anyways, the logs begin with This is XeTeX, Version 3.14159265-2.6-0.99993. I just have to cut that out, because of the size limitations.
    – uuu
    Aug 22, 2016 at 16:16
  • 1
    Ok. That's what it's supposed to look like. All you've done is run xelatex on the original file. The error messages are giving you the answer - you need to run biber on the file now. I did C-c C-c latex <RETURN> to run latex/xelatex. I get a message that I should run biber, which I do with C-c C-c biber <RETURN>. Then I have another message to run latex again, C-c C-c latex <RETURN>. Just follow the messages and you're fine. There are ways to simplify this process, but everything is working as it should.
    – Tyler
    Aug 22, 2016 at 16:40

1 Answer 1

2

This is normal - the basic AucTex work flow requires that you run the various compilation steps one at a time. This is done through the TeX-command-master command, bound to C-c C-c. The first time you run it, it will call latex on your file, or whatever option you have set for TeX-engine (i.e., xelatex in this case). Once that's done, you may need to rerun it to have your bibliography compiled (with bibtex or biber), and again to compile your bibliography into the completed document.

Basically, the command line sequence:

xelatex doc.tex && biber doc && xelatex doc.tex

Becomes:

C-c C-c latex, C-c C-c biber, C-c C-c latex

Note - AucTeX is pretty good at guessing which step is next. When you enter C-c C-c you'll see a message listing the default value. If it's the command you want (i.e., latex or biber), just hit enter.

Also, you'll get prompts if AucTex thinks you need to run another command, such as when a document is compiled before its bibliography is available. Watch for these prompts, and keep hitting C-c C-c until you see the "completed" sign!

1
  • 1
    Note that C-c C-a runs the whole chain latex - biber - latex and opens the viewer, with just one key binding.
    – giordano
    Sep 7, 2016 at 19:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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