RMarkdown-> PDF knitr转换文档中的LaTeX数学公式出现乱码或缺失

时间:2015-05-23 07:50:30

标签: r latex knitr pandoc miktex

我正在使用Rstudio编写RMarkdown文档,我通过knitr和pandoc在Windows上使用MiKTeX将其转换为PDF。 LaTeX引擎是xelatex。

我的.Rmd文件YAML标题:

---
title: "My Title"
author: "Me"
geometry: margin=2cm
output:
  pdf_document:
    fig_caption: no
    fig_height: 4
    fig_width: 6
    latex_engine: xelatex
  html_document:
    css: styles.css
    keep_md: no
fontsize: 10pt
---

在我的文字中

...parameter $\lambda=0.2$ with...

我得到"参数= 0 2" - 缺少lambda甚至点都没有。

这一行

mean of $\frac{1}{\lambda}=5$ of the

变成

enter image description here

编辑:当我尝试添加实验时(我在Windows上)

mainfont: Arial

到YAML标题我得到一个pandoc错误

! Undefined control sequence.
\fontspec_calc_scale:n ...ec_tmpb_dim }\fp_div:Nn 
                                                  \l_fontspec_tmpa_fp {\l_fo...
l.18     \setmainfont{Arial}

pandoc.exe: Error producing PDF from TeX source
Error: pandoc document conversion failed with error 43

更新

运行pdflatex report1.pdf可生成正确的PDF。

RStudio运行"C:/Program Files/RStudio/bin/pandoc/pandoc" report1.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output report1.pdf --template "D:\Documents\R\win-library\3.2\rmarkdown\rmd\latex\default.tex" --highlight-style tango --latex-engine xelatex

所以看来别处推荐的引擎" xelatex"产生错误的输出,而" pdflatex"作品。不幸的是我忘了一些来源的理由。因此我几天前切换到xelatex时,我只记得强烈建议在RStudio而不是pdflatex中使用knitr。

1 个答案:

答案 0 :(得分:2)

我发布此答案是为了提高@ user1983395关于此错误的评论的可见性。

我遇到了与OP相同的错误。 pdflatex刚刚产生了上述错误,只要调用了数学公式($ X_i $或$$ X_i $$),xelatex就会产生错误。

运行C:\Program Files\MiKTeX 2.9\miktex\bin\x64\updmap.exe后,我能够使用pdflatexxelatex生成pdf。请注意,您可能需要将其作为管理员运行。