Ihor Radchenko writes: > A more advanced approach would be using > \include + \includeonly instead of \input: > > https://web.archive.org/web/20160627050806/http://www.howtotex.com/tips-tricks/faster-latex-part-i-compile-only-parts/
Yeah, \include and \includeonly save the .aux files for each part. However, I think choosing between \input, \include or \includeonly is not the important part here. I usually use \input for convenience, because I have not needed in the work done to make references between parts. You can choose any of the options, according to needs. Also this procedure can be made more complex. For example, sometimes (when it comes to a bilingual edition with facing pages), I also start from precompiled documents together with tex (subdocument) files. The precompiled documents are placed on the odd and even pages of the bilingual part: https://i.imgur.com/Jbjutmf.jpg > Also, FYI: > > https://web.archive.org/web/20160712215709/http://www.howtotex.com:80/tips-tricks/faster-latex-part-iv-use-a-precompiled-preamble/ Using a precompiled preamble can improve compilation sometimes, but other times it's not worth it. Also, I use a lot of code in Lua. When it comes to a very complex preamble, with lots of code, it is usually more practical to create a .sty file (that is, a package, in LaTeX parlance). The difference is that I prefer to use org and org-babel-tangle instead of the 'official' LaTeX suite docstript for writing packages, which I find horribly hard, especially compared to the ease of Org :-) Improving performance and compile time in TeX is an old topic, and there are a few tricks here and there. But TeX is what Emacs is, both are venerably old; and both are single-thread. There are more ''modern'' approaches, like Patoline or Sile (of course, based heavily on TeX, which is the father of everything). Sile, especially, is very interesting and from time to time I like to play with it. The problem with these new projects is that they don't have the LaTeX package ecosystem, and they are poorly documented. Well, Sile in particular is the work of a single person. Links: https://patoline.github.io/#documentation https://sile-typesetter.org/ As for LuaTeX, which is the state of the art today in the TeX ecosystem, it is nothing more than TeX + a lua interpreter + the implementation of advanced features from previous engines like pdfTeX and the experimental Omega/Alef. It has the advantage that it is a scriptable TeX (TeX primitives can be controlled by Lua scripts, and truly amazing things[1] can be achieved with very little effort[2]); it has the disadvantage that the scripting language is Lua. The ideal would have been a Lisp-TeX ;-) [1] The chickenize package contains many examples, some of them somewhat absurd and not very useful in appearance: https://www.ctan.org/pkg/chickenize [2] https://tug.org/TUGboat/tb31-3/tb99isambert.pdf >> The moment one breaks down a large piece of work into specialized parts, >> one gains more control over that piece of work. And org-publish helps >> manage all of that. It is about managing a large book as a website (via >> org-publish). In short, the combination of org-publish, projectile and >> latexmk is quite productive for me in this type of work. > > This is a bit confusing. You still keep the book in a single giant Org > file. It indeed does not mean anything given that we can always narrow > to subtree, but I fail to see where you break the book into specialized > parts then (LaTeX performance trickery aside). I think this is inaccurate. The book is split across multiple subdocuments. The master file is just the 'outline' of the book. Best regards, Juan Manuel