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

时间:2014-09-15 20:27:35

标签: rstudio pandoc

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:数据:pdflatex.fmt

14 个答案:

答案 0 :(得分:26)

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

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

谢谢。

答案 1 :(得分: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")

答案 2 :(得分:10)

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

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

瞧!

答案 3 :(得分:7)

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

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

答案 4 :(得分:3)

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

替换 http://$JENKINS_SERVER_URL/job/$JOB_NAME/buildWithParameters

r round(txn_pd,2)

答案 5 :(得分:2)

我遇到了同样的问题而devtools::install_github('rstudio/rmarkdown')对我不起作用。我需要

rmarkdown::render('in.md',

      output_format=pdf_document(latex_engine='xelatex')

      )

使用新命令(使用xelatex)在其自己的行上。

答案 6 :(得分:2)

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

> ! 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引擎更改为 lualatex ,或者您可以将p值报告为 p&lt; 0.001

答案 7 :(得分:1)

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

替换r x

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

答案 8 :(得分:1)

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

答案 9 :(得分:0)

在我的情况下,它只是通过编辑:

中的作者字段来解决

&#13;
&#13;
---
title: "Document Title"
author: '-----'
date: "21-03-2017"
output: pdf_document
---
&#13;
&#13;
&#13;

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

答案 10 :(得分:0)

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

答案 11 :(得分:0)

我有类似的问题。我的解决方案是删除&#34;领先&#34; 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
---

答案 12 :(得分:0)

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

output:
  pdf_document: 
    keep_tex: yes
    latex_engine: xelatex

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

答案 13 :(得分:0)

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

  

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