I'm currently using following combination:

  • the latest TexnicCenter (2.01 Stable 32bit)
  • MiKTeX 2.9 32 bit (all packages updated)
  • pdflatex.exe
  • biber (instead of biblatex)

My problem is, that if a new reference is added using biber, the document needs to be compiled three times before the citations are properly placed.

Is there any possibility to compile the whole document with one click?

I tried to use texify.exe (instead of pdflatex.exe) but that doesn't work either.

Does anybody know how I can fix that?

  • 2
    latexmk is an option (requires Perl). While with arara you can configure your build process like in a makefile, latexmk tries to make the whole process completely automatic. – Bordaigorl Sep 26 '13 at 10:32
  • I have tried also, but no success. I think this is one of those things that "just is". One of the tradeoffs for using such a powerful tool – Mario S. E. Sep 26 '13 at 11:24
  • Did you also tried ''latexmk'' ? – MeJ Sep 26 '13 at 11:25
  • latexmk doesn't work either, I also have to compile 2 times and I get following error messages: [ForwardSearch("%bm.pdf","%Wc",%l,0,0,1)] This command could not be executed! – MeJ Sep 26 '13 at 11:40
  • 1
    This is a false problem, in my opinion. You don't need precise cross references or bibliographical references during document preparation. Just run biber when you have added several citations and don't mind if some of the references is imprecise at a given point in time. They will turn to the right ones at the end. – egreg Sep 26 '13 at 12:54

For the sake of closure, and basing my answer on

LaTeX Editors/IDEs and https://tex.stackexchange.com/a/1490/27833

It seems running three times is by design in LaTeX. To get a complete Bibliography with references you must run:

pdflatex document
bibtex document
pdflatex document
pdflatex document

This is because TeX writes out metadata about cross-references that gets used to enhance the output on subsequent runs:

  1. On the first pdflatex run, information gets written concerning which citations are needed.

  2. Bibtex uses that information to pull the required citations from a database.

  3. pdflatex then uses the bibtex output to produce a bibliography.

  4. With a bibliography present, pdflatex can finally insert citations in the text.

See Tools for automating document compilation for ways to make this less of a chore.

| improve this answer | |

As you are using TexnicCenter, the solution is to add two (or even three, if you use booktables for example) additional compilations.

Just define a new profile (as copy of your currently used profile) and edit it. In the post-execution tab you add two (or whatever number of additional compilations you need) tasks, and in each of your task you copy the command and command line arguments from the first (La)TeX tab. When new pressing F7, the original compilation run including bibtex (or biber, if you switched it) and the post compilation runs are executed one after another.

But be aware, compilation may take forever. I would only suggest this for editing a final version.

| improve this answer | |

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.