rstudio / tinytex-releases

Windows/macOS/Linux binaries and installation methods of TinyTeX
https://yihui.org/tinytex/
GNU General Public License v2.0
263 stars 29 forks source link

Release version with documentation included #29

Open tfiers opened 1 year ago

tfiers commented 1 year ago

Thanks for this great project. I wondered if a release version with offline documentation included would be possible to add?

Maybe named something like TinyTeX-doc.

Why

I agree with the reasoning for excluding documentation given in the faq by @yihui: almost everyone just googles how to do something (mostly arriving at the great knowledgebase that is tex.stackexchange.com) But sometimes you work where there is no internet (like on public transport or in nature).

And on "you probably don’t even know where to find these documentation files on your computer": yes, but: with the great LaTeX-Workshop extension for VS Code, local documentation is actually easily discoverable, thanks to a handy hover popup on \usepackage{name}. (In fact, the impetus for writing this issue was me adding a link to TinyTeX in the wiki of LaTeX-Workshop).

Alternatives

There is indeed the tlmgr installl --reinstall --with-doc <PKG> command mentioned by @norbusan here. But you would have to do this for every already installed package then. And you'd have to remember to add the --with-doc option when installing new packages.

Increased bundle size

Adding offline documentation will indeed increase the bundle size. But it will still be considerably smaller than the full TeX Live distribution with it's 4000+ packages.

A rough estimate for the increased release size:

With the 231 MB TinyTeX.zip distribution (513 MB unzipped), and using tlmgr info --only-installed, I get 312 installed packages. Say that an average documentation pdf is 250 KB. ..The offline docs would then be 78 MB. [^1]

[^1]: This is an increase of 15% to the unzipped size. The increase to the zip size would probably be larger however: pdf's are often already compressed internally.

How

Qua implementation, I'm not entirely sure how the build process works; though it seems we'd need to omit option_doc 0 in tinytex.profile (or set it to option_doc 1).



tfiers commented 1 year ago

Actually, source might just as well be included: it is quite small compared to the doc pdf's, and also useful offline (you may want to customize some provided command: see how it is done, and then use a modified version. If you only need one command from a big package, this can shorten compile time a tiny bit: just define the one command, and don't import the whole package).

tfiers commented 1 year ago

This distribution should probably include the texdoc package. (Fastest way to open the documentation pdf of some package, e.g. texdoc memoir. It's also what's used by LaTeX-Workshop to show offline documentation).