TinyTeX,輕量級TeX Live
先前的LaTeX工具組合是MiKTeX+TeXstudio,MiKTeX比TeX Live體積小很多。
這次看到謝益輝配置體積更小的發行版TinyTeX,就來嘗試一下。
TinyTeX優點:
- 體積小
- 在R中藉助tinytex包可以自動安裝缺失包
安裝
運行下列命令行,即可安裝。"F:/program/tinytex"是自定義的安裝路徑,TinyTeX的文件將全部安裝在該路徑下。
這裡需要花點時間。中間有彈窗,直接點確認即可。
到這裡基本上就安裝好了。重新啟動R。
例1-編譯tex文件
library(tinytex)nsetwd("C:/Users/cheng/Desktop")nxelatex(document.tex)n
document文件內容如下。
documentclass{ctexart}nnbegin{document}nnTinyTeX可以正常使用嗎?nn可以。nend{document}n
TinyTeX是輕量級安裝包,基本上是用到的時候缺啥補啥的策略。在R中會自動安裝缺失包。
可以順利生成pdf。
不過把上面的tex文件名改為中文則會發生錯誤。
例2-Rmd文件
先安裝一下最新的rmarkdown包。
devtools::install_github(rstudio/rmarkdown)n
然後按照下面的圖示操作。
不過,Rmd文件名為中文時會出現錯誤。
例3-用Pandoc轉md到pdf
在Powershell界面上操作。
pandoc test.md -o test.pdf --pdf-engine=xelatexn
結果會發生很多錯誤,主要原因就是缺包。
例如:
Error producing PDF.n! LaTeX Error: File `unicode-math.sty not found.nnType X to quit or <RETURN> to proceed,nor enter new name. (Default extension: sty)nnEnter file name:n! Emergency stop.n<read *>nnl.15 defaultfontfeaturesn
這個直接用tlmgr查詢錯誤提示信息中的`unicode-math.sty。具體如下。
tlmgr search --global --file "unicode-math.sty"n ntlmgr.pl: package repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet (not verified: gpg unavailable)nluatexja:n texmf-dist/tex/luatex/luatexja/patches/lltjp-unicode-math.stynunicode-math:n texmf-dist/tex/latex/unicode-math/unicode-math.styn
此時基本可以確定是缺失unicode-math包,手動安裝。代碼如下。
tlmgr install unicode-mathn
算了,缺的包還挺多。這裡直接套模板了(模板文件在這裡有介紹)。具體如下。
例4-TeXstudio
在TeXstudio中編譯tex。使用正常。
最後
從上述的四個常見場景測試結果來看,暫時沒有發現大問題。
最後放一張對比圖??
寫到這裡我已經卸載了MiKTeX??
附錄--演示環境
OS:Win10 1709ntinytex version: 0.1.6nTeX Live 2017/W32TeXnpandoc.exe 2.0.5n
附錄--簡單命令
在命令行中可以進行相應的操作,具體如下。
# 更改鏡像源到清華大學ntlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnetnn# 找文件ntlmgr search --global --file "unicode-math.sty"nn# 安裝包ntlmgr install unicode-mathnn# 列示需要更新的包ntlmgr update --listn# 更新全部ntlmgr update --self --allnn# 使用圖形界面ntlmgr-guin
其實這些命令行操作也可以在R中完成。主要函數如下。
> ls(package:tinytex)n [1] "install_tinytex" "latexmk" "lualatex" "parse_packages" "pdflatex" n [6] "r_texmf" "tlmgr" "tlmgr_conf" "tlmgr_install" "tlmgr_path" n[11] "tlmgr_remove" "tlmgr_search" "tlmgr_update" "uninstall_tinytex" "xelatex"n
推薦閱讀: