Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Today I detected that biblatex, biber or whatever is responsible for citations and bibliography does not work correctly on my tex-files. I can think of two reasons for it:

Maybe my engine-file (I am calling it engine-file because it is in the engine-folder of my TexShop-folder) is not well written or does not work with the latest update (if there was such an update...). This is my engine-file:

#!/bin/tcsh

set path= ($path /usr/texbin /usr/local/bin /opt/local/bin/)
lualatex -file-line-error -synctex=1 "$1"
biber "${1:r}"

lualatex -file-line-error -synctex=1 "$1"

Or the following error is responsible:

ERROR - Error loading data source package 'Biber::Input::file::bibtex': data source /var/folders/zE/zEWMdMuCGnyHENetv8k-CU+++TI/-Tmp-/par-User/cache-5a7f3069e2a4d51fd3557003fc55ec74c554c947//inc/lib/Biber/Input/file/bibtex.dcf not found in .
Compilation failed in require at (eval 71) line 2.

It looks like this error might cause the trouble. However, I do not know what could have caused the error... I did not delete any file (e.g., the bibtex.dcf, which the error message claims not to have found).

I have two additional questions: Are there differences between different editors when it comes to how the engine-file should look like? Is the engine-file I am using ok as it is? (I do not understand a single word of that file)

share|improve this question
5  
Yes, the script is good; however I suggest you to run only LuaLaTeX and, when you feel that you need to resolve citations, run Biber. It's a waste of time running Biber once and LuaLaTeX twice at every compilation. During document preparation it's rarely needed to have correct citations, as you know they'll be at the end. –  egreg Mar 10 '12 at 20:36
add comment

2 Answers

up vote 6 down vote accepted

Too long for a comment, and more or less an answer:

  • Are you sure this is the actual engine you are using? It should begin with #! not just !. Also, make sure your distribution is up-to-date. The error you're getting looks more like a biber problem. See egreg's answer for the solution to this.
  • Unless you have MacPorts installed, you don't need /opt/local/bin in your path. (and even then, you probably don't need it).
  • This engine won't actually do what you intend it to do (i.e. resolve the references correctly.) You would need an additional lualatex line to do that.

I would suggest as an alternative to use the lualatexmk engine which comes with TeXShop. If it's not active, go to ~/Libary/TeXShop/Engines and move it from the Inactive folder to the Engines folder. You will need to quit out of TeXShop to have the change take effect.

Then in your document you can just add:

% !TEX TS-program = lualatexmk

and this engine will be chosen automatically. You can insert this line by using the Program item from the Macros menu.

share|improve this answer
    
you are right. I mistakenly omitted the #. Your recommendation for lualatexmk is just wonderful. I was totally ignorant about that. lualatexmk even runs biber by itself. amazing! (together with @egreg 's answer it solved my problem) –  ClintEastwood Mar 10 '12 at 20:42
add comment

Unfortunately, it happens that Biber gets confused and that message means that the binaries it produces are not in good shape.

The only method I know to solve the issue is to open the Terminal and issue

rm -fr /var/folders/zE/zEWMdMuCGnyHENetv8k-CU+++TI/-Tmp-/par-User/cache-5a7f3069e2a4d51fd3557003fc55ec74c554c947

where the string is what goes from /var/folder/ up to // in the error message.

This will force Biber to rebuild the binaries. This is mentioned in the documentation for Biber, page 30. On different systems than Mac OS X, the string might be different.

Note: it happened just now, when testing for answering. :-O

share|improve this answer
    
thanks. this helped me with the biber-problem. Of course everybody who experiences the same issue should change par-User to par-USERNAME. –  ClintEastwood Mar 10 '12 at 20:40
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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