pandoc文档转换失败,错误43:pdflatex:找不到内存转储文件

问题描述 投票:41回答:14

RStudio:0.98.994操作系统:Microsoft Windows 7旗舰版,64位Service Pack 1 MiKTeX:2.9.4503

嗨,

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

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

rstudio pandoc
14个回答
26
投票

我也尝试了devtools :: install_github('rstudio / rmarkdown'),但是当我将'fig.align ='center'添加到我的文档中的ggplot2图时,仍然出现错误。它可以用作HTML,但不能用作PDF。

在看到isomorphismes的帖子后,我点击了编织PDF按钮旁边的齿轮符号,然后在高级选项卡下我将LaTeX Engine更改为xelatex。之后,我不再收到错误消息,我的PDF文档创建没有问题。

谢谢。


0
投票

就我而言,它只是通过编辑以下的作者字段来解决:

---
title: "Document Title"
author: '-----'
date: "21-03-2017"
output: pdf_document
---

默认的'-----'会产生错误,但用任何东西替换它(例如'Juan')就解决了这个问题。


0
投票

我刚遇到这个问题已经解决了。我没有像其他人在帖子中那样使用任何代码。我假设你已经安装了所有这些基本的东西:R,RStudio,rmarkdown软件包,knitr软件包和MikTex基本安装(我知道这是非常基本的,但我希望那些初学者知道你需要这些东西到让这件事发生)。如果您遇到此问题,请转到R GUI,升级rmarkdown软件包,它应该可以正常工作。请注意,如果您将LaTeX Engine更改为xelatex作为最高投票的海报,它可能对您不起作用,至少它不适合我。我保留了我的乳胶发动机(pdflatex)。


0
投票

我有一个类似的问题。我的解决方案是删除YAML标题参数中的“前导”时段:

不起作用:

---  
title: “1. Title”  
output: pdf_document  
---  

输出文件:example.knit.md

! \ reserved @ a的参数有一个额外的}。 \ par l.79 \ end {enumerate}}

pandoc:生成PDF错误:pandoc文档转换失败,错误43执行暂停

作品:

---
title: “1 Title”
output: pdf_document
---

0
投票

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

output:
  pdf_document: 
    keep_tex: yes
    latex_engine: xelatex

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


0
投票

我遇到了类似的问题。在我的情况下,错误发生是因为在$符号内放了一个百分比。像这样,

$ 95%$,我删除了%符号,一切正常。


24
投票

我在这里找到了答案:http://rmarkdown.rstudio.com/tufte_handout_format.html#comment-1582377678

问题是你需要将\usepackage[utf8]{inputnc}添加到rmarkdown包中的tufte-handout.tex文件的前导码中。

这是固定的:https://github.com/rstudio/rmarkdown/commit/484d5b8e903e0e0c75c82f707efa35f9fd9a52b0

要更新rmarkdown软件包,可以直接在RStudio命令行中使用

devtools::install_github("rstudio/rmarkdown")

10
投票

编织成PDF时,上述所有内容都不适合我(我想保留科学记法)。问题是生成的乳胶代码包括“\ times”而没有必要的包围$。在降价时,我简单地用$'s括起内联R代码,如下所示:

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

瞧!


7
投票

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

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

3
投票

我能够在我的情况下修复它。如果我将浮点值添加到R试图显示为科学记数法的文本中,则从Rmd生成PDF时遇到了该错误。例如,它试图添加文本“5.2027472 e10-5”而不是“520274.72”,这导致未编译的乳胶代码\ textbf {5.2027472 \ times 10 \ ^ {} {5}}。我用格式(....,scientific = FALSE)包装它来修复它。

取代r round(txn_pd,2)

r format(round(txn_pd,2),scientific=FALSE)


2
投票

我有同样的问题,devtools::install_github('rstudio/rmarkdown')不适合我。我需要

rmarkdown::render('in.md',

      output_format=pdf_document(latex_engine='xelatex')

      )

与小说命令(使用xelatex)在自己的行上。


2
投票

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

> ! 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值时遇到麻烦。我通过单击编织按钮旁边的齿轮符号解决了问题,然后在输出选项下,高级选项卡我将LaTeX Engine更改为lualatex,或者您只需将p值报告为p <0.001。


1
投票

如果您使用R代码中的科学格式(太小或太大)的内联值,请将它们格式化为:

取代r x

r format(x, digits=n),其中n是什么。


1
投票

对我来说,这是因为在我的标题上我放了+标志。例如gene + treatment.这个错误,但当我删除它,它的工作原理。

© www.soinside.com 2019 - 2024. All rights reserved.