contour-terminal / terminal-good-image-protocol

*Good* Image Protocol - a formalization of a proposal for a new image protocol for virtual terminal emulators
33 stars 2 forks source link

[CI] Use `latexmk` instead of manual pipeline #19

Closed whisperity closed 3 years ago

whisperity commented 3 years ago

Documents growing in size may eventually hit a barrier that the compilation falls apart "magically" because the build script forgets to include calls to bibtex or mkglossary or whatever. latexmk takes care of iteratively running the tools in the right order automatically (based on the document structure) even if packages that require build system support change or get introduced into the pipeline.

christianparpart commented 3 years ago

Oh dear. ❤️ I should do that more regularly. Thanks for the improvement. :)

dankamongmen commented 3 years ago

does latekmk handle biber and such well these days? I had to start using arara to get reliable results when i was working on a book-sized document: https://github.com/islandoftex/arara.

(not saying we need to use it here, just letting people know about it -- i've been bit a few times by latekmk)

whisperity commented 3 years ago

@dankamongmen

does latekmk handle biber and such well these days?

I'm using biblatex with backend=biber and also the glossary stuff in my PhD thesis repository (and in many cases, associated stuff like articles and their presentations written with Beamer and TikZ) and so far, I've seen no issues with it. I'm also using minted for syntax highlighting and code examples, which requires the additional flag -shell-escape, which I've foregone in this PR.

I had to start using arara

I've not heard about this one. I know there is another engine called "rubber" or something of sorts, which is, allegedly, better in many ways than latexmk. One big issue with latexmk is that it does n+1 or even n+2 compilations (where n is the precisely needed amount) because it kind of works by checking if there was a change by the nth compilation against the (n-1)th one, and stopping when two subsequent compilations produce the same result. It could be that your project is nondeterministic in some sense and this derailed it?

dankamongmen commented 3 years ago

It could be that your project is nondeterministic in some sense and this derailed it?

i would assume that my LaTeX suffers from all possible flaws