TinyTeX,轻量级TeX Live

先前的LaTeX工具组合是MiKTeX+TeXstudio,MiKTeX比TeX Live体积小很多。

这次看到谢益辉配置体积更小的发行版TinyTeX,就来尝试一下。

TinyTeX优点:

  • 体积小
  • 在R中借助tinytex包可以自动安装缺失包

安装

运行下列命令行,即可安装。"F:/program/tinytex"是自定义的安装路径,TinyTeX的文件将全部安装在该路径下。

这里需要花点时间。中间有弹窗,直接点确认即可。

到这里基本上就安装好了。重新启动R。


例1-编译tex文件

library(tinytex)
setwd("C:/Users/cheng/Desktop")
xelatex('document.tex')

document文件内容如下。

\documentclass{ctexart}

\begin{document}

TinyTeX可以正常使用吗?

可以。
\end{document}

TinyTeX是轻量级安装包,基本上是用到的时候缺啥补啥的策略。在R中会自动安装缺失包。

可以顺利生成pdf。

不过把上面的tex文件名改为中文则会发生错误。


例2-Rmd文件

先安装一下最新的rmarkdown包。

devtools::install_github('rstudio/rmarkdown')

然后按照下面的图示操作。

不过,Rmd文件名为中文时会出现错误。


例3-用Pandoc转md到pdf

在Powershell界面上操作。

pandoc test.md -o test.pdf --pdf-engine=xelatex

结果会发生很多错误,主要原因就是缺包。

例如:

Error producing PDF.
! LaTeX Error: File `unicode-math.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name:
! Emergency stop.
<read *>

l.15   \defaultfontfeatures

这个直接用tlmgr查询错误提示信息中的`unicode-math.sty'。具体如下。

tlmgr search --global --file "unicode-math.sty"
 
tlmgr.pl: package repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet (not verified: gpg unavailable)
luatexja:
        texmf-dist/tex/luatex/luatexja/patches/lltjp-unicode-math.sty
unicode-math:
        texmf-dist/tex/latex/unicode-math/unicode-math.sty

此时基本可以确定是缺失unicode-math包,手动安装。代码如下。

tlmgr install unicode-math

算了,缺的包还挺多。这里直接套模板了(模板文件在这里有介绍)。具体如下。


例4-TeXstudio

在TeXstudio中编译tex。使用正常。


最后

从上述的四个常见场景测试结果来看,暂时没有发现大问题。

最后放一张对比图?

写到这里我已经卸载了MiKTeX?


附录--演示环境

OS:Win10 1709
tinytex version: 0.1.6
TeX Live 2017/W32TeX
pandoc.exe 2.0.5

附录--简单命令

在命令行中可以进行相应的操作,具体如下。

# 更改镜像源到清华大学
tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet

# 找文件
tlmgr search --global --file "unicode-math.sty"

# 安装包
tlmgr install unicode-math

# 列示需要更新的包
tlmgr update --list
# 更新全部
tlmgr update --self --all

# 使用图形界面
tlmgr-gui

其实这些命令行操作也可以在R中完成。主要函数如下。

> ls('package:tinytex')
 [1] "install_tinytex"   "latexmk"           "lualatex"          "parse_packages"    "pdflatex"         
 [6] "r_texmf"           "tlmgr"             "tlmgr_conf"        "tlmgr_install"     "tlmgr_path"       
[11] "tlmgr_remove"      "tlmgr_search"      "tlmgr_update"      "uninstall_tinytex" "xelatex"

编辑于 2017-12-18

文章被以下专栏收录