module

Pomtex::Engine::Bibliography

Decides when a job needs BibTeX or Biber and runs it.

The tools only run when their output would change: the .bbl is missing, a .bib file is newer than it, the citations changed (the .aux citation lines for BibTeX, the .bcf for Biber), or biblatex asks for a run. This keeps pomtex watch from re-running them on every save.

Constants

AUX_CITATIONS = /^\\(?:citation|bibdata|bibstyle)\{.*$/
AUX_INCLUDES = /^\\@input\{([^}]+)\}/
BCF_DATASOURCE = /<bcf:datasource[^>]*>([^<]+)<\/bcf:datasource>/
BIBER_REQUEST = /Please \(re\)run Biber/
BIBTEX_REQUEST = /Please \(re\)run BibTeX/
MISSING_BST = /I couldn't open style file ([^\s]+\.bst)/

Instance methods

error_excerpt(log : String, lines : Int32 = 4) : String

The first error lines of a .blg, for display.

Source
missing_styles(log : String) : Array(String)

.bst files BibTeX could not open (fetched as arils, then BibTeX is re-run).

Source
pending(runner : Runner, log : String) : Tool | Nil

The tool the last engine run asks for, or nil when nothing is stale.

Source
run(tool : Tool, executable : String, runner : Runner) : Outcome

Runs tool (at executable) for the runner's job.

Source

Nested types