Thursday, March 30, 2017

latexrun

"latexrun fits LaTeX into a modern build environment. It hides LaTeX's circular dependencies, surfaces errors in a standard and user-friendly format, and generally enables other tools to do what they do best.

The features:
  • Runs latex the right number of times. LaTeX's iterative approach is a poor match for build tools that expect to run a task once and be done with it. latexrun hides this complexity by running LaTeX (and BibTeX) as many times as necessary and no more. Only the results from the final run are shown, making it act like a standard, single-run build task.
  • Surfaces error messages and warnings. LaTeX and related tools bury errors and useful warnings in vast wastelands of output noise. latexrun prints only the messages that matter, in a format understood by modern tools. latexrun even figures out file names and line numbers for many BibTeX errors that usually don't indicate their source.

      paper.tex:140: Overfull \hbox (15pt too wide)
      paper.tex:400: Reference `sec:eval' on page 5 undefined
      local.bib:230: empty booktitle in clements:commutativity
     
  • Incremental progress reporting. latexrun keeps you informed of LaTeX's progress, without overwhelming you with output.
  • Cleaning. LaTeX's output files are legion. latexrun keeps track of them and can clean them up for you.
  • Atomic commit. latexrun updates output files atomically, which means your PDF reader will no longer crash or complain about broken xref tables when it catches latex in the middle of writing out a PDF.
  • Easy {.git,.hg,svn:}ignore. Just ignore latex.out/. Done!
  • Self-contained. latexrun is a single, self-contained Python script that can be copied in to your source tree so your collaborators don't have to install it.
Kitchen sink not included. latexrun is not a build system. It will not convert your graphics behind your back. It will not continuously monitor your files for changes. It will not start your previewer for you. latexrun is designed to be part of your build system and let other tools do what they do well."

https://github.com/aclements/latexrun

http://norswap.com/latex-tooling/

No comments:

Post a Comment