New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warn the user if biber needs to be invoked #53

Open
pkgw opened this Issue Jun 1, 2017 · 4 comments

Comments

Projects
None yet
3 participants
@pkgw
Collaborator

pkgw commented Jun 1, 2017

According to a comment in #35, if you process a biblatex/biber document with Tectonic, you get something with unprocessed references but no messages indicating that there's been a problem. Solving #35 will take a while, but in the meantime, we should add some hacks to detect documents that require biber and warn the user that we can't do it.

I confess that I am not fully clear as to whether the standard practice is that the user or driver manually executes biber after the first TeX engine run, or whether some shell-escape magic can be enabled that makes it happen automatically during processing.

@pkgw pkgw changed the title from Warn the user if biblatex/biber is invoked to Warn the user if biber needs to be invoked Jun 5, 2017

@teras

This comment has been minimized.

teras commented Jun 18, 2018

So, to understand, is there a way to support biber, by manually launching it, or something like that?

Thanks

@pkgw

This comment has been minimized.

Collaborator

pkgw commented Jun 19, 2018

@teras I'm actually not sure! The following workflow is definitely possible, if inconvenient:

  • Run tectonic once with the right command line arguments to generate the .aux file and/or whatever other files are needed (e.g. --outfmt=aux)
  • Run biber with whatever args it needs
  • Run tectonic again to finish off the compilation.

However, depending on what files are needed, what arguments biber needs, and how biblatex works, the above pattern might not suffice to get things to work 😢

This has come up often as a limitation for prospective Tectonic users, so if you get a chance to investigate this, I would love to hear what you find.

@teras

This comment has been minimized.

teras commented Jun 19, 2018

I tried running the usual way biber, and I found that it needs PROJECT.bcf file.
How can I say to tectonic to delete all but this file?

Anyway, I created this file through xelatex, delete everything, run tectonic --outfmt=aux, run biber, and run tectonic once more. (Note, the first time I tried to run tectonic it tried 6 times to rebuild the file, and aborted with the message
warning: TeX rerun seems needed, but stopping at 6 passes

This is what I got:

... MORE JUNK ...


*************************************************
* fontspec warning: "icu-feature-not-exist-in-font"
* 
* OpenType feature 'Variant=01' (+ss01) not available for font 'Arial/BI' with
* script '' and language ''.
*************************************************
(marginnote.sty) (sectsty.sty) (ulem.sty) (textpos.sty
Package: textpos 2014/01/03 1.7j, absolute positioning of text on the page
(everyshi.sty)
Grid set 16 x 16 = 37.34424pt x 52.81541pt
TextBlockOrigin set to 0pt x 0pt
) (hyperref.sty (hobsub-hyperref.sty (hobsub-generic.sty)) (auxhook.sty)
(kvoptions.sty) (pd1enc.def) (hyperref.cfg)

Package hyperref Warning: XeTeX driver only supports unicode.
(hyperref)                Enabling option `unicode'.

(puenc.def) (url.sty))

Package hyperref Message: Driver (autodetected): hxetex.

(hxetex.def (stringenc.sty) (rerunfilecheck.sty)) (marvosym.sty) (url.tex)
(lang.tex (greek.tex)) (biblatex.sty (iftex.sty) (etoolbox.sty) (logreq.sty
(logreq.def)) (ifthen.sty) (xstring.sty (xstring.tex)) (blx-dm.def)
(blx-compat.def) (biblatex.def) (alphabetic.bbx (standard.bbx)) (alphabetic.cbx
) (biblatex.cfg)) (sections.tex) (english.lbx) (test_file.aux) (t3cmr.fd)
*geometry* driver: auto-detecting
*geometry* detected driver: xetex
ABD: EveryShipout initializing macros (nameref.sty (gettitlestring.sty))

Package biblatex Warning: File 'test_file.bbl' is wrong format version - e
xpected 2.7.

(test_file.bbl
! Undefined control sequence.
l.21   \datalist
                [entry]{ydnt/global//global/global}
No pages of output.
Transcript written on test_file.log.
===============================================================================

error: halted on potentially-recoverable error as specified
@malramsay64

This comment has been minimized.

malramsay64 commented Jul 12, 2018

The version of biblatex included with tectonic requires biber 2.5 to work which is downloadable from sourceforge

Running the commands

$ tectonic --keep-intermediates --reruns 0 file.tex
$ biber2.5 file
$ tectonic file.tex

When using an output directory, tectonic looks for the .bbl file in the current working directory so the commands needed are

$ tectonic --keep-intermediates --reruns 0 -o output file.tex
$ biber2.5 --input-directory output file
$ tectonic -o output file.tex

Edit:

The latest version of tectonic 0.1.10 now requires biber 2.11, which at the time of writing is the latest version meaning it shouldn't require a special installation. This current version is also downloadable from sourceforge or using conda

conda install malramsay::biber
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment