Hi, I’ll list the plans for this year.
The preceding situation was the existence of the brazilian website that contained posts regarding PDF resources, about 30 essays, all translated (by other people) to portuguese. You can find those resources in a facebook page:
Now there are the EN, JP and TH domains and the tool I was using to generate those PDF files will be build from scratch.
The workflow was pretty straight forward: take an essay from some webpage, turn it into markdown (which can be posted in here), and then turn it into PDF. Now I want to make the translators’ work more integrated into the PDF generation.
Before that, I’ll describe the features the PDFs had: two target sizes (paper size and mobile size), cover with title, author, translators and background image, table of contents, some URL linking back to the website (for further commentaries or discussions), 3 types of footnotes (normal ones, in arabic counting; translator’s commentaries, in greek symbols; and URL used in that page, using misc symbols, such as asterisc and so on) and finally, arbitrary information inserted at the end of the PDF file.
Technically, a python script would create the main LaTeX file according to some customized information, and then use pdfLaTeX to generate the PDF file. Everything was really messy, but at least it had a batch run: If I wanted to change the font size, I could re-generate all PDFs in all formats in a single command.
Now I want to make a new one. The features should extend the previous one: consider not only essays but also books, and have alternative targeting to those who intend to print the files. It would be nice, as I said, to have some info about all of the translators and reviewers without adding too much complexity to them. Also some URLs linking translations of the same document in other languages. All this should be possible and practical if the project were translated with Transifex.
Technically, Rust+Tera will deal with the information structuring and TeX making, yaml configuration files will be enought to costumize each document, and XeLaTeX should deal with the PDF generation.
The main idea of the PDF generation is to save time for the writers and also offer a good structure for the readers.
For example, by typing this, in plain text format (in notepad.exe or something):
The writer would end up with this, in PDF format:
For the Thai language, I found this situation:
Word breaking can be complex in Thai and I think the default setting won’t do it. So after some research, I found some possibilities:
- Some code in Rust, which should be easy to integrate: https://crates.io/crates/chamkho
- Thai Linux Work Group SWATH, but I don’t have a working internet connection in Linux https://linux.thai.net/projects/swath
- Some links, besides this one, regarding this matter: http://userguide.icu-project.org/boundaryanalysis
- More links, relating to C/C++ and Java: https://www-01.ibm.com/software/globalization/topics/thai/collation.html
- Also, some go-lang tools…
I still have to decide how to approach this.