Hi, Juan Manuel, I keep saving your messages with process documentation for future reference should I ever attempt anything similar. Much appreciated!
Yours, Christian Juan Manuel Macías writes: > Hi all, > > TL; DR: > > The bilingual critical edition (ancient Greek/Spanish) of the letters of > Demosthenes and Aeschines has recently been published in Spain, a book > whose production and typesetting I have taken charge of, using Org and > Org-publish. Although I already have a long experience typesetting > bilingual editions of a certain complexity, especially for philological > use, I had never done it until now by centralizing the entire process in > Org-Mode. I have to say that it has been a very interesting experience, > so I leave here below a brief description of the process and some tips, > in case they can be useful to someone who wants to prepare from Org > bilingual texts with facing pages and certain complexity. > > BTW, Here’s a sample of two pages from the book: > > <https://i.imgur.com/XUOGEnf.png> > > Long version: > > First of all, for this kind of work you have to take into account an > inherent limitation of TeX: the compilation process in TeX is a > single-threaded process. That is, in TeX you cannot compile different > parts of a document, with different configurations (= different > preambles), at the same time. For example, you cannot have one > configuration for odd pages and another for even pages (original and > translation) and compile them in parallel and asynchronously. In Adobe > InDesign-style DTP programs you can load multiple page threads in > parallel, but these programs don’t have the typographic refinement of > TeX. And besides, I never use proprietary software ;-). > > Therefore, to create a bilingual edition with facing pages, and for this > particular type of book where the odd pages (the text in Greek) is a > critical edition with a strong critical apparatus > (https://en.wikipedia.org/wiki/Critical_apparatus), it is necessary to > compile two separate documents and then synchronize them. The good news: > I have found that, thanks to Org, the process is much more streamlined > and controlled. > > On the other hand, since in this book the content of the odd and even > pages is variable, the synchronization has been done per page, so that > the reader always obtains the same content on the odd and even page when > facing the open book. For the Greek document I used the reledmac LaTeX > package, which is the most mature LaTeX package for philological > critical editions, but I used it through my org-critical-edition package > (<https://gitlab.com/maciaschain/org-critical-edition>). > > Once both PDFs are obtained and synchronized, they are loaded into the > master Org document using the pdfpages LaTeX package. Since it was > necessary to introduce in certain pages some commands specific to each > page, such as page styles, index entries or labels for references, and > to avoid having to load the pages one by one with pdfpages commands, I > wrote a function that obtains the number of pages of the synchronized > PDF (via mutool) and it does all that work. The function has three > arguments: the path to the synced PDF, the general page command, and a > list of page numbers with particular commands (these last two arguments > are optional). An example of use would be: > > ┌──── > │ (inserta-pdfpages-bi "resultado.pdf" "\\thispagestyle{plain}" '((2 > "\\label{some-label}"))) > └──── > > The function is evaluated in the master document within a source block: > > <https://i.imgur.com/yps6xRA.png> > > To compile the two PDFs separately and get the PDF in sync, I also do it > from Org using a shell source block. So I have all PDFs always > synchronized up to date. The synchronized PDF is obtained with pdftk: > > <https://i.imgur.com/qbSg2po.png> > > The rest of the book, introduction, indices, etc. it is normally done > via Org publish. And the final compilation (the master document that > includes all sub-documents) is done asynchronously using latexmk. > > And that’s it. The next challenge for this fall is going to be a > trilingual edition of the New Testament (Greek, Latin, Spanish). My idea > is to try to adapt to Org the use of the LaTeX package flowfram (an > attempt to create dynamic indesign-style text boxes in LaTeX, but > ---because of TeX's limitations--- they would not be asynchronous > boxes). Then, each text in a language would go inside an org block. > We'll see how it turns out :-) > > Best regards, > > Juan Manuel > > --