问题
I have a reproducible error with pander (+ knitr): When a table with caption and a plot is put directly to each other, I cannot create a PDF File. I use pander 0.5.1, knitr 1.7, R version 3.1.1, Miktex + RStudio on Windows.
So the following will produce the error (see also my List of errors and non-errors below):
```{r, echo=FALSE, eval=TRUE}
pander(cor(cars), caption="Whatever" ) # or some other captioned table
hist(cars$speed) #or some other plot
```
pandoc.exe: Error producing PDF from TeX source Fehler: pandoc document conversion failed with error 43 Zus�tzlich: Warnmeldung: Ausf�hrung von Kommando '"C:/Program Files/RStudio/bin/pandoc/pandoc" Teste_markdown_Cor+Hist.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures
--output Teste_markdown_Cor+Hist.pdf --template "C:\Users\jbothe\Documents\R\win-library\3.1\rmarkdown\rmd\latex\default.tex"
--highlight-style tango --latex-engine pdflatex --variable "geometry:margin=1in"' ergab Status 43 Ausf�hrung angehalten
When I manually copy&paste the output from pander, the issue seems to be with an empty line before the plot:
Doesnt Work:
--------------------------
speed dist
----------- ------- ------
**speed** 1 0.8069
**dist** 0.8069 1
--------------------------
Table: K
```{r, echo=FALSE, eval=FALSE}
hist(cars$speed)
```
Works without Error
--------------------------
speed dist
----------- ------- ------
**speed** 1 0.8069
**dist** 0.8069 1
--------------------------
Table: K
```{r, echo=FALSE, eval=FALSE}
hist(cars$speed)
```
But even if I put different empty lines in the code-chunk between pander and the plot, the error continues
List:
---
title: "Teste Cor + Hist"
output: pdf_document
---
# Does not work
```{r, echo=FALSE}
library(pander)
```
Does not work:
```{r, echo=FALSE, eval=TRUE}
pander(cor(cars), caption="Korrelationen" )
hist(cars$speed)
```
Does not work :
```{r, echo=FALSE, eval=FALSE}
pander(cor(cars), caption="Korrelationen" )
plot(cars)
```
Does not work:
```{r, echo=FALSE, eval=FALSE}
pander(cor(cars), caption="K" )
plot(cars)
```
Does not work:
```{r, echo=FALSE, result='asis', comment=NA, eval=FALSE}
pander(cor(cars), caption="Korrelationen" )
#several line breaks
hist(cars$speed)
```
Doesnt Work:
--------------------------
speed dist
----------- ------- ------
**speed** 1 0.8069
**dist** 0.8069 1
--------------------------
Table: K
```{r, echo=FALSE, eval=FALSE}
hist(cars$speed)
```
# Works without Error
--------------------------
speed dist
----------- ------- ------
**speed** 1 0.8069
**dist** 0.8069 1
--------------------------
Table: K
```{r, echo=FALSE, eval=FALSE}
hist(cars$speed)
```
Works:
```{r, echo=FALSE, eval=TRUE}
cat("Korrelationen")
hist(cars$speed)
```
Works:
```{r, echo=FALSE, eval=TRUE}
pander(cor(cars), caption="Korrelationen" )
cat("Korrelationen")
hist(cars$speed)
```
Works:
```{r, echo=FALSE, eval=TRUE}
cat("table: Korrelationen")
hist(cars$speed)
```
Works:
```{r, echo=FALSE, result='asis', comment=NA, eval=TRUE}
pander(cor(cars), caption="Korrelationen" )
cat("table: Korrelationen")
hist(cars$speed)
```
回答1:
I found a workaround manualy adding a lineabreak at the end of the caption. But I still think this should be considered a bug?!?
Works:
```{r, echo=FALSE, eval=TRUE}
pander(cor(cars), caption="whatever text\n" )
hist(cars$speed)
```
来源:https://stackoverflow.com/questions/26861074/issue-with-creating-pdf-file-with-panderknitr-error-when-putting-table-with-ca