Home > database >  LaTex fails to compile PDF
LaTex fails to compile PDF

Time:01-10

Since yesterday, I get a confusing error, when trying to knit my Markdown files to PDF. I get this warning:

This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
I was unable to find any missing LaTeX packages from the error log Chapter-5-1.log.
! Extra }, or forgotten \endgroup.
\endwraptable ...kip \egroup \box \z@ \fi \egroup 
                                                  \WF@floatstyhook \def \wid...
l.156 \end{wraptable}

Fehler: LaTeX failed to compile Chapter-5-1.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips. See Chapter-5-1.log for more info.
Ausführung angehalten

The problem seems to be the kable tables, which have been knit in prior tries just nicely. In the error log, this is printed:

Overfull \hbox (165.80571pt too wide) in paragraph at lines 142--158
 [][] 
 []

! Extra }, or forgotten \endgroup.
\endwraptable ...kip \egroup \box \z@ \fi \egroup 
                                                  \WF@floatstyhook \def \wid...
l.158 \end{wraptable}

A friend of mine tried to compile the tex file directly to PDF, but got the same error. We where not able to find a missing } or any other error in the coding. All tables and code is running without error in the markdown preview.

I get the same error, when I try to knit a document with a dummy table, so I hope that works as a reproducible example.

---
title: "Chapter 5"
author: "Moiken Hinrichs"
date: "`r format(Sys.time(), '%d.%m.%Y')`"
header-includes:
   - \usepackage{caption}
   - \usepackage{float}
   - \captionsetup[figure]{font=footnotesize}
   - \usepackage{subfig}
   - \usepackage{flafter}
   - \usepackage{footmisc}
output: 
  bookdown::pdf_document2:
     extra_dependencies: ["flafter"]
     number_sections: true
     toc: false
latex_engine: xelatex
classoption: twoside
keep_tex: true
---


```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
library(kableExtra)
library(dplyr, quietly=T)
library(tidyr)
```



```{r prox}
column1 <- c("Bert", "Angela", "Nico", "Pam", "Max")
column2 <- c(33, 54, 85, 96, 57)
prox <- data.frame(column1, column2)
prox[nrow(prox) 1, ] <- c('Total', sum(prox$column2))

kable(prox, booktabs = T, linesep = "",
      col.names = c("Name", "Count"),
      caption = "Number of items") %>%
  kable_styling(latex_options = "striped", position = "float_right") %>%
  row_spec(5, hline_after = T) %>%
  row_spec(6, bold = T)
```

R studio and tinytex are updated. I tried all the debugging tips and uninstalled and installed tinytex new. The same error is also happening when I try to knit on another computer. I also tried to change from xelatex to pdflatex but the error was the same.

CodePudding user response:

The wrapfig package does not particular like zero width wrapfigure or -table environments with captions. The package documentation has the following to say about the topic:

[...] However, if you specify a width of zero (0pt), the actual width of the figure will determine the wrapping width. A following \caption should have the same width as the figure, but it might fail badly; it is safer to specify a width when you use a caption.

You can avoid the problem by choosing a suitable width:

---
title: "Chapter 5"
author: "Moiken Hinrichs"
date: "`r format(Sys.time(), '%d.%m.%Y')`"
header-includes:
   - \usepackage{caption}
   - \usepackage{float}
   - \captionsetup[figure]{font=footnotesize}
   - \usepackage{subfig}
   - \usepackage{flafter}
   - \usepackage{footmisc}
   - \usepackage{lipsum}
output: 
  bookdown::pdf_document2:
     extra_dependencies: ["flafter"]
     number_sections: true
     toc: false
latex_engine: xelatex
classoption: twoside
keep_tex: true
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
library(kableExtra)
library(dplyr, quietly=T)
library(tidyr)
```

```{r prox}
column1 <- c("Bert", "Angela", "Nico", "Pam", "Max")
column2 <- c(33, 54, 85, 96, 57)
prox <- data.frame(column1, column2)
prox[nrow(prox) 1, ] <- c('Total', sum(prox$column2))

kable(prox, booktabs = T, linesep = "",
      col.names = c("Name", "Count"),
      caption = "Number of items") %>%
  kable_styling(latex_options = "striped", position = "float_right", wraptable_width = "3cm") %>%
  row_spec(5, hline_after = T) %>%
  row_spec(6, bold = T)
```

\lipsum

enter image description here

CodePudding user response:

@samcarter_is_at_topanswers.xyz Your suggestion helped, the PDF is generated, but now the tabels are positioned very akwardly in the text (like in the image). I still don't get, why the compiling failed, when it worked just fine on its own before and I haven't changed anything in the coding or the packages involved. enter image description here

  • Related