I sent this as an e-mail message to the address root@... but got no reply. However, I think that this issue might deserve broader coverage.
One thing troubles me: many Linux users are fond of having “everything up-to-the-date from the latest repositories”, but... the documentation does not keep pace at all. Just look at the histogram of the state of affairs (as of 25 January 2015).
Please bear in mind that I do not want to offend anyone or criticise the Linux Mint translation maintainers: they are doing everything right! My point is: it could have been done more efficiently, so we can follow the example of other software developers. Let’s just have a few examples: gretl, R, Stata, MATLAB and Octave (their latest versions) have their “basic manuals” written in LaTeX. Coincidence? Conspiration? I don’t think so. Convenience? Versatility? Yay!
Problem is: so far, the documentation had been supplied in ODT format only. It is great, but... if changes are introduced in one section of the document, how can one make sure that they are accounted for in all multilingual versions? How do other people know what has been added? On the other hand, should we have used LaTeX, we could track all commits and changes with zero effort. Besides that, it could facilitate screenshot management (with explicit image files that are not embedded in the bloated XML document in some obscure way).
Let’s jump ahead a bit: I already did the conversion. What are the benefits? Let us compare the old and the new version in terms of editing and management.
Old version (LibreOffice)
- In order to merge changes to the document made by two people, you need to open the two documents and invoke comparison procedure (Edit — ...). No command-line tool does that. If changes are made by two or more people, this is cumbersome and requires manual (let’s be honest, menial) labour.
- Images are incorporated in one large file together with the text. In order to replace them, you have to be careful, and if you accidentally drag the rescaling slider—may God have mercy on your output.
- Want a shared fragment of text (e.g. “LM history”, “Conclusion”) across several documents? Forget that, and copy-paste, copy-paste. Do not forget to redo the whole procedure for all files if you want to change one word in that fragment. Or you can have a separate file with the master text, but then copy-paste, copy-paste...
- The look of the document depends on the person who edited it. In order to obtain high-quality layout, we need someone to typeset them properly.
- Imagine someone pasted a heavy image into the document. What can I do in order to re-compress it using the most preferrable algorithm? (Lifting hands in dismay.)
- If several people edit the files, you can use a wide range of tools (diff, Meld, vimdiff, tkdiff, or any high-level VCS). Easy to commit changes, easy to incorporate them in the master version even if the branching is wild.
- Images are distinct files. If you need to replace one image, you need not open the whole document—just do whatever you want to the image of your interest. Image size can be set in terms of either explicit dimensions or page percentage.
- You can split the document into sections and subsections that are included from other files. You need to make only one change to only one file, and run the “compile all” script.
- After we declare the general desired parameters, the system unleashes the might of its typographic optimisation algorithms onto the poor document, thus making in look none other than perfect.
- We immediately see which screenshots weigh way too much. We deal with them straight away.
See the faux small caps on the left and lines underlining the header dots... ugh. On the right: clear leaders, nested structure, and these names ones are obviously clickable. Oh, and did I say that the new file size halved because of the optimisation of PNG screenshots?
I did all the hard work: converted the document, compared the Cinnamon and MATE .odt files, incorporated all changes and made it ready for future changes (e.g. addition of XFCE, KDE and whatever versions of the manual) using conditional expressions that depend on the name of the manual being compiled.
First, it was converted using Writer2LaTeX, and then, I just thoroughly cleaned and formatted it “comme il faut”. The editable text is plain, everything is visible, all the shorthands are defined in the preamble... you know... almost all cool GNU software, especially science-y, use it... just look at it.
What else do our manuals need? Correct, guidelines! All future translators are invited to use the existing style file and ready macros in order to facilitate their work. They need not do anything except the translation! All the typesetting has already been done by the almighty pdfLaTeX.
There will be no need to keep four huge source files and painstakingly replace the contents depending on the desktop environment. Never ever! The TeX macros allow us to write things like
Code: Select all
You are reading the \CMKX{ground-breaking Cinnamon}{awesome MATE}{jaw-dropping KDE}{dazzling XFCE} manual. \ifDE{cinnamon}{Only Cinnamon users deserve this magnificent announcement!}
I wanted to attach the two PDF’s (750 kB each) and the source code (compressed XZ, 1 MB), but this forum does not allow more than 100 kB. Here are the remastered manuals:
http://kostyrka.ru/donate/cinnamon.pdf
http://kostyrka.ru/donate/mate.pdf
http://kostyrka.ru/donate/Mint-manual.tar.xz