Search code examples
rlatexr-markdownbeamer

Rmarkdown beamer_presentation: "missing \item" LaTex error if an R chunk is included and fancybox used


I want to use the LaTeX \ovalbox{} command from the fancybox package in an Rmarkdown beamer_presentation, knitted from within RStudio. However, as soon as I add a simple R chunk, I get an "! LaTeX Error: Something's wrong--perhaps a missing \item."

This is a minimum reproducible example:

---
output:
  beamer_presentation
header-includes: |
  \usepackage{fancybox}
---

## Slide 1

\ovalbox{an oval box}
```{r}
print("x")
```

I can hand-solve the problem afterwards in the .tex file by moving the \usepackage{fancybox} command before the \usepackage{fancyvrb} command which is automatically inserted during the knitting.

Any suggestions how to avoid this problem in the first place?


Solution

  • Seems the packages are fighting over how to mess with verbatim environments.

    Normally one could simply load them in a different order, but of course rmarkdown makes such a simple task a lot more complicate. You can make your document compile using this hack (don't try to use any of the verbatim commands from fancybox, this might explode...):

    ---
    output:
      beamer_presentation
    header-includes: |
      \let\VerbatimEnvironmentsave\VerbatimEnvironment
      \usepackage{fancybox}
      \let\VerbatimEnvironment\VerbatimEnvironmentsave
    ---
    
    ## Slide 1
    
    \ovalbox{an oval box}
    ```{r}
    print("x")
    ```