[Scons-users] **JUNK** Re: **JUNK** Bug - scons runs biber every time pdflatex compiles

Abid H. Mujtaba abid.naqvi83 at gmail.com
Wed May 11 06:15:55 EDT 2016


Using the MWE (after running scons -c to clean the entire) when 
'pdflatex' is run for the first time the log printed to stdout contains 
the following lines:

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

that clearly state that biber needs to be run. Now run 'biber' followed 
by 'pdflatex' again and now the output makes no mention of running 
'biber' again, in fact the word 'biber' only appears once in an 
informative setting.


Now let us add another line to test.tex but without any citation. 
Running 'pdflatex' makes no mention of needing to run 'biber'. However 
if we make the change and run 'scons' it calls pdflatex + biber + 
pdflatex even though the first run of pdflatex doesn't ask for 'biber' 
to be run.


The downside to using just 'pdflatex' is that if we change the test.bib 
file it doesn't detect the change and does not ask for 'biber' to be 
run. So 'scons' needs to be intelligent enough to detect a change to a 
.bib file and require 'biber' to be run. 'pdflatex' is however smart 
enough to know when a citation has changed inside the .tex file and ask 
for 'biber' to be run.


In short: For scons to fulfill its goal as an efficient and complete 
latex build system it needs to analyze both the 'pdflatex' output 
(looking for a request to run 'biber') and any changes to .bib and run 
'biber' only if one of these two things happen. Running biber every 
single time pdflatex is called is unacceptable.

- Abid H. Mujtaba



More information about the Scons-users mailing list