error 43 in pandoc: render Rmd with rmarkdown include LaTeX qtree

自古美人都是妖i 提交于 2019-12-14 02:12:08

问题


I am trying to produce a tree diagram in a Rmd file I expect to look like this:

Using rmarkdown's render function.

But get an error 43 I do not know how to interpret. How can I get the pdf to render? What's causing the error?

Rmd file

---
title: "testtree"
header-includes:
   - \usepackage{qtree}
output:
    pdf_document
---

\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]

Success 

Error message

> rmarkdown::render("testtree.Rmd", "all")


processing file: testtree.Rmd
  |.................................................................| 100%
  ordinary text without R code


output file: testtree.knit.md

"C:/Users/trinker/AppData/Local/Pandoc/pandoc" +RTS -K512m -RTS testtree.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output testtree.pdf --template "C:\R\R-3.2.2\library\rmarkdown\rmd\latex\default-1.14.tex" --highlight-style tango --latex-engine pdflatex --variable "geometry:margin=1in" 
! Paragraph ended before \doanode was complete.
<to be read again> 
                   \par 
l.90 

pandoc.exe: Error producing PDF from TeX source
Error: pandoc document conversion failed with error 43
In addition: Warning message:
running command '"C:/Users/trinker/AppData/Local/Pandoc/pandoc" +RTS -K512m -RTS testtree.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output testtree.pdf --template "C:\R\R-3.2.2\library\rmarkdown\rmd\latex\default-1.14.tex" --highlight-style tango --latex-engine pdflatex --variable "geometry:margin=1in"' had status 43 
> 

The following .Rnw document compiles successfully:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{qtree}

\begin{document}

Here is a code chunk.

\Tree [.S a [.NP {\bf b} c ] d ]

You can also write inline expressions, e.g. $\pi=\Sexpr{pi}$, and \Sexpr{1.598673e8} is a big number.

\end{document}

回答1:


Pandoc turns the last two closing brackets ] ] as {]} {]}, a behavior you can see if you use output option keep_tex: true. I am not sure whether this is a bug, you should ask this on the pandoc mailing-list or file a report.

A quick fix is to use pandoc's ability to ignore the code inside an environment and surround your command with a dummy environment:

---
title: "testtree"
header-includes:
   - \usepackage{qtree}
   - \newenvironment{dummy}{}{}
output:
    pdf_document:
      keep_tex: true
---

\begin{dummy}
\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]
\end{dummy}

Success 


来源:https://stackoverflow.com/questions/33524968/error-43-in-pandoc-render-rmd-with-rmarkdown-include-latex-qtree

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!