分享

Latex | 为Rmarkdown配置tinytex环境

 大邓的Python 2022-09-02 发布于瑞典

R圈谢一辉大神开发的 tinytex包,是一个强悍精干的Tex软件包。如果接触过LaTex的同学应该知道,配置好Latex的环境需要几个G,十分占用空间。其次,TinyTex将LaTex包的配置、安装、渲染简化为几个函数。


配置TinyTex

安装和维护 TinyTex环境十分简单,首先我们安装好R语言的tinytex包,之后用该包安装TinyTex软件。考虑到 Tex资源站CTAN部署在海外,使用该站点下载资源包会很慢,所以这里配置为国内清华站点。

#安装R语言中的tinytex包
install.packages("tinytex")

#使用tinytex包安装TinyTex
tinytex::install_tinytex()

#设置资源镜像,加速资源的下载安装
tinytex::tlmgr_repo('http://mirrors.tuna./CTAN/')

#tinytex::tl_pkgs() #查看安装的latex包
#length(tinytex::tl_pkgs())

#tinytex::tinytex_root() # 查看默认安装路径

编译

LaTex文档是一团源代码,我们需要将其编译(渲染)为PDF文件。

#首先记得设置当前工作路径
setwd('tex文件所在的文件')

tinytex::pdflatex('英文tex文件路径')  
tinytex::xelatex('中英文tex文件路径'#推荐
tinytex::latexmk('中英文tex文件路径'#推荐

我们经常跟中英文一起打交道,所以编译方法使用xelatex。pdflatex或xelatex渲染过程可能会缺一些包,需要手动安装。而latexmk会在编译过程中自动安装缺失的包,不过中文最后还是

TinyTex缺点是初学者编译慢,用的越多越久,越好用,工具使用的收益曲线是向上的。而TexLive、MacTex等使用难度是水平的。

维护

TinyTeX 的主要维护工作应该是安装 LaTeX 包以及更新。

  • 如果编译 PDF 时出现缺失 LaTeX 包的错误信息,可以用命令行 tinytex::tlmgr_search()
  • 根据缺失文件名搜索包名,并用 tinytex::tlmgr_install() 安装缺失的包;
  • 命令 tinytex::tlmgr_update() 可以更新整个 TeX Live 系统。R 用户可以使用 R 包 tinytex 中的相应函数,如:
tinytex::tlmgr_search('framed.sty')  # 搜索包含 framed.sty 文件的 LaTeX 包
tinytex::tlmgr_install('framed') # 安装 framed 包
tinytex::tlmgr_update() # 更新 TeX Live

如果你想降低这些搜包、装包操作,可以考虑像 TexLive 那样装几个G。谢一辉大神今年推送了一个新资源,只需要安装4000个包2G的即可绑定常用资源包。

设置环境变量  TINYTEX_INSTALLER=TinyTeX-2, 之后运行以下代码

# increase the download timeout to 2 hours just in case the
# default 1 hour is not enough (you can further increase it)
options(timeout = 7200)
tinytex::install_tinytex(bundle = 'TinyTeX-2')

勘察一下电脑内latex包数量

length(tinytex::tl_pkgs())

Wow~~,达到4197!! 如果你愿意TinyTex,也可以变成HugeTex。最后再简单的工具,如果只看依然会看着容易用着难,还是要多动手的。



精选文章

从符号到嵌入:计算社会科学的两种文本表示

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多