LaTex

LateX输出的相关设置

安装tinyTeX 参看谢益辉TinyTeX 安装tinytex install.packages('tinytex') tinytex::install_tinytex() 测试并调用tlmgr命令安装latex包 writeLines(c( '\\documentclass{article}', '\\begin{document}', 'Hello world!', '\\end{document}' ), 'test.tex') tinytex::pdflatex('test.tex')

Latex pdf和html输出下ggplot绘图中文字体显示问题

中文字体问题总是会在时不时出来捣乱。今天就碰到了ggplot2绘图时,latex pdf输出和html网页输出显示不一致的问题(类似的 问题报告)。 问题描述 google神搜一遍,大家普遍把问题指向: 操作系统OS问题。Linux/Mac OS普遍采用UTF-8编码格式,而Windows系统则坚持GBK编码格式。因此,如果Rstudio里Rmarkdown文件用UTF-8编码,自然就会导致Windowns粉出现悲催的混乱事件。Windowns系统下还可能存在本地字体库不全的问题。 中文字体库问题。除了系统阵营的锅,中文字体本身也会给编码世界带来混乱。其实不单是中文字体,CJK字体库就是专门为了解救中文-日文-韩文字体等东亚语言字体问题的。另外就是,字体库有“真体”(TrueType Collection 字体文件 (.ttc))等字体版本。因此,latex包\usepackage{xeCJK}渲染时,可能会提示错误(类似报告1;报告2) engine或dev问题。第三个锅就是软件的问题了。其一,bookdown下默认的Latex引擎pdflatex对Unicode characters支持不好,需要改用xelatex引擎(yihuixie留爪)。其二,绘图装置dev也有小九九类似报告。最关键的是绘图装置可以自己根据需要设定,包括:dev=‘cairo_pdf’;dev=‘pdf’;dev=‘svg’(见友情提示)。 解决办法 (windowns系统)安装缺少的字体库。大概就先去看看“c:/windows/fonts”目录吧!。也可以在R中用package如 "showtext"来安装。——不说这个了,都是泪。 latex中设定header.tex的包调用。最重要的\usepackage{xeCJK},大抵如下: \usepackage{xeCJK} %\setCJKmainfont{SimSun} \setCJKmainfont{宋体} % 字体可以更换 \setCJKmonofont{simsun.ttc} % for \textsf \setmainfont{宋体} % 設定英文字型 \setromanfont{Georgia} % 字型 \setmonofont{Courier New} Rmarkdown中设定engine和dev。这个地方倒是有一个逻辑性的问题我之前一直没有弄清楚。engine设好后(如前,最好用xelatex引擎),不同输出形式(pdf、html)对绘图转置dev需求是不一样的,因此需要考虑latex_engine和dev所处的环境。这个环境不一样,控制的范围自然就不同,但大概有三个级别:a. yaml区域的全局性- output环境; b. R代码块的文档级设置;c.特定R代码块的设置。 环境1:yaml区域的全局性设置 output: bookdown::pdf_document2: latex_engine: xelatex dev: cairo_pdf 环境2:R代码块的文档级设置 {r global_options,echo=FALSE, message=FALSE} knitr::opts_chunk$set(fig.align='center', dev="cairo_pdf", echo=FALSE, fig.pos = 'H') # 环境3:特定绘图R代码块环境 {r common-get-sum,echo=FALSE, dev="cairo_pdf", message=FALSE,error=FALSE,warning=F, fig.

bookdown下Latex pdf格式输出技巧清单

1 配置及相关设置 1.1 yaml信息的设置 2 表格的HTML和LaTeX“和谐共存” 2.1 注意bookdown的渲染方式 2.2 环境参数的全局性影响 2.3 表格中插入有图片 2.3.1 latex宏包longtable的使用 2.4 表格中字符格式(如加粗) 2.5 表格中显示数学公式 3 block的使用 3.1 定理和证明block 3.2 个性化blocks 3.3 注意事项 4 Latex输出各种“梗” 4.1 fig.cap 4.2 latex list 4.3 段落首行缩进 4.4 页边距调整 4.5 正确设置章序号 4.6 正确处理页码序号 5 诡异现象 5.1 编译报错但删除临时文件又好了 6 blogdown相关话题(hugo academic) 6.1 通过静态页面的使用 6.2 直接引用本地数据和图片文件 bookdown编写LaTex书籍中的注意事项。 1 配置及相关设置 1.1 yaml信息的设置 只有index.Rmd具有设置yaml信息的地位! index.

Rmarkdown下自动化编译Latex公式输出

“计量经济学”形式的数学公式 本科生课程《计量经济学》会大量使用各类公式。这些公式大概有两类: 理论公式:这些数学公式的呈现基本上用不到数据报告的结果。在Rmarkdown文档中处理办法相对简单,直接使用LaTex形式代码输入即可。 报告公式:这些数学公式的呈现,跟某些数据分析报告紧密联系。此时,手工输入LaTex将会变得很不现实!一个系统性的解决思路是,利用Rmardown chunk 自己编写代码块。前边分析步骤负责出数据报告结果,后面Chunk里公式创造时直接调用数据报告的各类数值。 所以,如果一切顺利,“计量经济学”课程的大量报告公式,都可以自动地使用R函数调用实现,可谓一本万利,合算得很! 代码实现过程中的各种“梗” 实现思路倒是很清晰,Rmarkdown下的操作也是可行的。下面就是需要撸起袖子加油干,找到“聪明”的实现办法,破除各种“梗”! 格式选择真是一个大问题:关于pdf、html、word输出形式 选择Rmarkdown的一个很重要理由,就是它可以实现一份文档种格式输出。这个“理想”确实比较宏大。在数学公式领域,起码就有这几个问题: 数学公式友好度差别较大。word比较另类,数学公式支持是最糟糕的;Latex(pdf)下是最灵活的。html则最通用。所以,复杂的公式,在latex(pdf)下OK,放到word里可能就吃不消了。 package实现各不相同。如果写书,最好就是用bookdown包;如果做演示slide可以用Xaringan包;写网站文章,可以用blogdown。对于数学公式而言,最需要注意是:是否需要交叉引用(cross reference)公式。基本就是两种情形:写slide和blog默认是不交叉应用公式的;写book则必然需要的。 数学公式的排版(alignment) 这个部分折腾我很久。因为主要使用Latex语法形式来编写R chunk代码。所以必须要熟悉Latex math equation的公式环境(environment)。 独立公式环境: \begin{equation} ... \end{equation} \begin{align} ... \end{align} \begin{aligned} ... \end{aligned} \begin{alignedat}{3} ... \end{alignedat} 组合公式环境: cat( "\\begin{equation}", "\\begin{alignedat}{999}", "&\\widehat{Y}=&&+17.81&&+0.62X\\\\", "&\\text{(t)}&&(1.9238)&&(11.9968)\\\\", "&\\text{(se)}&&(9.2556)&&(0.0516)\\\\", "&\\text{(fitness)}&& n=10;&& R^2=0.9473;&& \\bar{R^2}=0.9408\\\\", "& && F^{\\ast}=143.92;&& p=0.0000", "\\end{alignedat}", "\\end{equation}") \[\begin{equation} \begin{alignedat}{999} &\widehat{Y}=&&+17.81&&+0.62X\\ &\text{(t)}&&(1.9238)&&(11.9968)\\ &\text{(se)}&&(9.