And*_*w.T 13 latex r rstudio knitr bookdown
当中文字符串里面的R代码块时,编译后的PDF会在字符串前得到一个冗余空间,如何避免这个额外的空间?请参考github中的最小案例- bookdown-chinese.
Yih*_*Xie 13
此问题是由LaTeX包xeCJK引起的.默认情况下,它会在中文和非中文字符之间添加空格,verbatim环境除外.在您的情况下,代码实际上并不在verbatim环境中,因此您必须让xeCJK知道它不应该自动添加空格.
解决方案是将此行添加到您的LaTeX前导码中(Highlighting环境由Pandoc在将Markdown转换为LaTeX时定义为语法高亮代码,并且它基于fancyvrb包):
\RecustomVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\},formatcom=\xeCJKVerbAddon}
Run Code Online (Sandbox Code Playgroud)
对于R Markdown文档,此行可以保存在.tex文件中,例如preamble.tex,并通过includes选项包含,例如,
output:
pdf_document:
includes:
in_header: preamble.tex
Run Code Online (Sandbox Code Playgroud)
有关完整的技术背景,请参阅此Github问题.