One nice fact about TinyTeX, the custom LaTeX distribution I created last year, is that once you install it, it is just a self-contained folder that can be moved elsewhere, even across computers of the same operating system. That is what “portable” means.
Yesterday I pushed a new version (v0.8) of the R package tinytex to CRAN mainly to address the issue of using TinyTeX from a portable device such as a flash drive. I added two new functions in this version:
-
tinytex::copy_tinytex()copies your existing TinyTeX installation to another location, such as your flash drive or a Dropbox folder (this could take a minute or two depending on the I/O speed of your devices). Of course, this means you have installed TinyTeX before (e.g., viatinytex::install_tinytex()). By default, it will pop up a dialog box asking you to choose the destination folder to copy to, if you don’t want to explicitly provide a path like:tinytex::copy_tinytex('E:/Software/') -
tinytex::use_tinytex()asks you the location of TinyTeX, so that tinytex can find it later when compiling LaTeX documents. By default, it also pops up a dialog asking you to choose the TinyTeX folder, which can be on your flash drive.Under the hood, it runs the command
tlmgr path addto add TinyTeX to the environment variablePATHof your system (or create symlinks of TinyTeX’s executables that can be found viaPATH). If this fails, you still have a fallback plan. That is, set the global optiontinytex.tlmgr.pathand point it to the executabletlmgrin your system, e.g. (remember to replace the path in the example with the actual path to your TinyTeX),# a Windows example options(tinytex.tlmgr.path = 'E:/Software/TinyTeX/bin/win32/tlmgr.bat') # a macOS example options(tinytex.tlmgr.path = '~/Dropbox/TinyTeX/bin/x86_64-darwin/tlmgr')You can do this in your
~/.Rprofile(recommended) or a code chunk of an R Markdown document that generates PDF output. Don’t set this option in your R console unless you are trying to generate PDF in the R console via functions likermarkdown::render()orknitr::knit2pdf().
One folder to rule them all. No dependency hell. No waste of disk space. No IT support. Just help yourself.

Donate
As a freelancer (currently working as a contractor) and a dad of three kids, I truly appreciate your donation to support my writing and open-source software development! Your contribution helps me cope with financial uncertainty better, so I can spend more time on producing high-quality content and software. You can make a donation through methods below.
-
Venmo:
@yihui_xie, or Zelle:xie@yihui.name -
Paypal
-
If you have a Paypal account, you can follow the link https://paypal.me/YihuiXie or find me on Paypal via my email
xie@yihui.name. Please choose the payment type as “Family and Friends” (instead of “Goods and Services”) to avoid extra fees. -
If you don’t have Paypal, you may donate through this link via your debit or credit card. Paypal will charge a fee on my side.
-
-
Other ways:
WeChat Pay (微信支付:谢益辉) Alipay (支付宝:谢益辉) 

When sending money, please be sure to add a note “gift” or “donation” if possible, so it won’t be treated as my taxable income but a genuine gift. Needless to say, donation is completely voluntary and I appreciate any amount you can give.
Please feel free to email me if you prefer a different way to give. Thank you very much!
I’ll give back a significant portion of the donations to the open-source community and charities. For the record, I received about $30,000 in total (before tax) in 2024-25, and gave back about $15,000 (after tax).