Pandoc文档转换失败,错误代码为43: pdflatex:未找到内存转储文件。

43

RStudio: 0.98.994 操作系统: Microsoft Windows 7 Ultimate Edition, 64位 Service Pack 1 MiKTeX: 2.9.4503

您好,

当我尝试编织 PDF 文档时,出现以下错误:

pandoc.exe: 从 TeX 源文件生成 PDF 时出错。 这是 pdfTeX,版本 3.1415926-1.40.11(MiKTeX 2.9) pdflatex: 找不到内存转储文件。 pdflatex: Data: pdflatex.fmt

14个回答

27
我也尝试使用devtools::install_github('rstudio/rmarkdown'),但当我在文档中添加'fig.align='center'到ggplot2图时仍然会出现错误。它可以作为HTML工作,但不适用于PDF。
在看到isomorphismes的帖子后,我点击了knit PDF按钮旁边的齿轮符号,然后在高级选项卡下将LaTeX引擎更改为xelatex。之后,我不再收到错误消息,并且我的PDF文档创建没有问题。
谢谢。

1
当错误是由于图像对齐块选项引起时,将LaTeX引擎更改为xelatex对我有用。 - BazookaDave
我曾经遇到过同样的问题,将引擎更改为lualatex后,使用xelatex会出现缺少fontconfig文件的错误。 - Konrad

24

非常感谢,这个全方位的解决方案对我很有帮助。 - Sam Swift
这真的帮了我很多。我所做的就是运行代码 devtools::install_github("rstudio/rmarkdown")。现在它可以工作了。谢谢!:D - Developer

11

我尝试了以上的方法,但在将内容转换为PDF时未能成功(同时我还希望保留科学计数法)。问题出在生成的latex代码中包含了未经$括号包围的"\times"。在markdown中,我只需在内联R代码的两侧加上$即可解决问题,例如:

$p = `r signif(cor.HF$p.value, 2)`$

瞧!


8

很高兴与您分享我的解决方案。

---
title: "Untitled"
author: "-----"
date: "21/6/2017"
output: 
  pdf_document: 
    latex_engine: xelatex
---

2
虽然其他解决方案对我没有用,但这个有效。 - Joshua Rosenberg

3
我能够在我的情况下解决它。当我将浮点值添加到R试图显示为科学计数法的文本中时,我从Rmd生成PDF时遇到了这个错误。例如,它试图添加文本“5.2027472 e10-5”而不是“520274.72”,这导致latex代码\textbf{5.2027472\times 10\^{}{5}}无法编译。我通过使用format(....,scientific=FALSE)解决了这个问题。
r format(round(txn_pd,2),scientific=FALSE)替换r round(txn_pd,2)

2

当我尝试添加内联r代码r test1$p.value时,遇到了这个问题,这是一个非常小的p值来自t检验。错误信息如下:

> ! Missing $ inserted.  
>  <inserted text>  
>            $  
>l.147   9.0044314\times  
>
>pandoc: Error producing PDF
>Error: pandoc document conversion failed with error 43
>Execution halted

我认为问题在于pdflatex引擎在指数符号中显示小p值时出现了问题。我通过点击knit按钮旁边的齿轮符号,然后在输出选项、高级选项卡下将LaTeX引擎更改为lualatex来解决了这个问题,或者您可以将p值报告为p < 0.001


2

我遇到了同样的问题,devtools::install_github('rstudio/rmarkdown') 对我没用。我需要

rmarkdown::render('in.md',

      output_format=pdf_document(latex_engine='xelatex')

      )

使用新命令(在单独的一行上使用xelatex)进行操作。

1
如果您的R代码中使用的内联值处于科学计数法格式(太小或太大),请按照以下方式进行格式化:
r format(x, digits=n)替换r x,其中n是任何数字。

1

对我来说,问题出在我的标题中使用了加号。例如gene + treatment。这会导致错误,但当我将其移除后,就可以正常工作了。


0

我确实尝试使用xelatex引擎,但仍然收到了“找不到xetex.def”的错误。这是另一种解决方法。

output:
  pdf_document: 
    keep_tex: yes
    latex_engine: xelatex

然后在您的TEX编辑器中打开.tex文件,并像往常一样构建pdf。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接