1

我最初在这里发布了问题:

使用 xelatex 的 Rmarkdown

我已经重新安装了,但现在我遇到了一个全新的问题。

使用以下代码(在 .Rmd 文件中):

---
header-includes:
- \usepackage{graphicx}
output: 
  pdf_document:
    latex_engine: xelatex
---

```{r}


knitr::include_graphics("F:/Big Folder/My Folder/image.png")

```

我收到以下错误:

! Missing $ inserted.
<inserted text> 
            $
l.134 .../Big Folder/My Folder/image}

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

我认为它与路径中的空间有关,因为当我将图像直接放在F中时,它可以正常工作。

不幸的是,这个项目要求我使用名称中带有空格的文件夹。

我在 Windows 10 64 位,运行 MikTex 2.9 和更新的包(包括 fontspec)。Miktex 安装在程序文件中,但我也尝试安装到不同的文件夹,但结果相同。

我还在运行一个最近安装/更新的 rstudio,其中包含更新的 knitr 和 rmarkdown 包。

确实适用于 pdflatex,即使文件名中有空格。

4

1 回答 1

1

明白了,实际的图像文件被格式化为 image_something.png。

“_”将它扔掉并移除它修复它。

另外,如果我想保留下划线,我需要添加两个转义字符“\\”。

F:/Big Folder/image\\_something.png

这与非 rmarkdown 乳胶解决方案有些不同,因为它只需要一个转义字符。

此解决方案已从https://tex.stackexchange.com/questions/266575/how-can-i-write-an-under-dash-in-text-without-invoking-italics-or-some-weird-fon修改.

我仍然会好奇为什么 pdflatex 上允许使用空格但 xelatex 不允许使用空格。

于 2017-11-21T14:36:40.580 回答