The generation of the epub option for bookdown is not making table captions correctly. Every table has the markdown label also showing in the table caption. This occurs for tables that are basic markdown tables and tables that are generated from kable in a knit chunk. Here is an example output. As you can see, the reference in the text is good, but the caption should read Table 2.4: Time of arrivals and service times for 8 customer. But, instead, it is showing the chunk label (#tab:ArrServTime). The PDF output does not have this problem, nor does the HTML output. It is occurring only in the epub ouput. Since this is occurring in every table, I am wondering if this is a bug or some configuration option that I am missing.
Has anyone else experienced this issue? Is there a work around?
Related
I'm having a problem with assigning LaTeX environments within an RMarkdown for-loop code-chunk.
In short, I've written an R Markdown document and a series of R-scripts to automatically generate PDF reports at the end of a long data analysis pipeline. The main section of the report can have a variable number of sections that I'm generating using a for-loop, with each section containing a \subsection heading, a datatable and plot generated by ggplot. Some of these sections will be very long (spanning several pages) and some will be very short (~1/4 of a page).
At the moment I'm just inserting a \pagebreak at the end of each for-loop iteration, but that leaves a lot of wasted space with the shorter sections, so I'm trying to "group" each section (i.e. the heading, table and chart) so that there can be several per page, but they will break to a new page if the whole section won't fit.
I've tried using a figure or minipage environment, but for some reason those commands are printed as literal text when the plot is included; these work as expected with the heading and data table, but aren't returned properly in the presence of the image.
I've also tried to create a LaTeX samepage environment around the whole subsection (although not sure this will behave correctly with multi-page sections?) and then it appears that the Markdown generated for the plot is not interpreted correctly somewhere along the way (Pandoc?) when it's within that environment and throws an error when compiling the TeX due to the raw Markdown ![]... image tag.
Finally, I've also tried implementing \pagebreak[x] and \nopagebreak[y] hints at various points in the subsection but can't seem get these to be produce the desired page breaking behaviour.
I've generated an MWE that reproduces my issues below.
I'd be really grateful for any suggestions on how to get around this, or better ways of approaching "grouping" of elements that are generated in a dynamic fashion like this?
---
title: "Untitled"
author: "I don't know what I'm doing"
date: "26/07/2020"
output:
pdf_document:
latex_engine: xelatex
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, dev = "cairo_pdf")
```
```{r cars, results='asis'}
for (i in 1:5){
cat("\\begin{figure}")
cat(paste0("\\subsection{This is subsection ",i,"}"))
cat("\\Huge Here's some bulk text that would represent a data table... kasvfkwsvg fiauwe grfiwgiu iudaldbau iausbd ouasbou asdbva asdbaisd i iuahihai hiuh iaiuhqijdblab ihlibljkb liuglugu h uhi uhi uhqw iuh qoijhoijoijoi qwegru wqe grouw egq\\newline")
plot(mtcars$wt,mtcars[,i])
cat("\\end{figure}")
}
```
Edit to add: interestingly these figure and minipage environments seems to work as expected when executing the same example in an .Rnw using knitr... so does that narrow it down to an issue with Pandoc? Again, any help much appreciated!
What happens is that the raw TeX commands are not treated as TeX when going through Markdown. You can fix that by explicitly marking the relevant snippets as LaTeX:
for (i in 1:5){
cat("`\\begin{figure}`{=latex}")
cat(paste0("\\subsection{This is subsection ",i,"}"))
cat("\\Huge Here's some bulk text that would represent a data table... kasvfkwsvg fiauwe grfiwgiu iudaldbau iausbd ouasbou asdbva asdbaisd i iuahihai hiuh iaiuhqijdblab ihlibljkb liuglugu h uhi uhi uhqw iuh qoijhoijoijoi qwegru wqe grouw egq\\newline")
plot(mtcars$wt,mtcars[,i])
cat("`\\end{figure}`{=latex}")
}
See the generic raw attribute section in the pandoc manual for details.
When I knit the R Markdown document, my tables (created in kableExtra) show up if I do not save them (using save_kable [saving to PDF]). However if I save them, the tables are no longer rendered and shown in the R Markdown document. Is there a way to stop this from happening?
I have a word document with notes from a class. In this document there are images (screenshots from the lecture). I am hoping to make a book, hopefully in bookdown, to help me organize my notes and my R code. I used pandoc to convert the word document and extracted the images, but only some of the images are showing up when i knit the markdown output in RStudio. Any idea why some would show and some wouldnt? COuld it be because i'm changing the .md that pandoc gives to .rmd and they just dont play well together?
I used stargazer for some regression tables in my r markdown document. I would like some of the tables to appear on a particular page.
The code for my regressions/stargazer tables is located near text that I want them to appear next to. However, the tables display toward the bottom of the document.
As answered here already, first, you would have to include table.placement = "H" argument into stargazer() function. You may need to put header-includes - \usepackage{float} in the YAML section, too.
I try to reference to a single footnote in a few places in the text. However, with the code below, I've got two footnotes with the same content.
---
title: "My document"
output: html_document
---
One part of the text [^1].
Two pages later [^1].
[^1]: My footnote
Is it possible to reference more than once to a specific footnote using rmarkdown?
I had the same problem. I used html tags which worked really well. Whatever you want as superscript just put between the <\sup> like below:
<sup> text </sup>
jan 6 2023 update:
now I use quarto which is eally easy as you can just use do[^1]
[^1]footnote text
My workaround here is to just do it manually using inline latex mathmode (e.g, \(^2\) ).. Annoying, but even if they had a solution, you'd have to remember the citation number anyways...
I would suggest you to go with latex solution if you do not have many footnotes per page. By latex solution I mean:
(in Markdown, use Latex to superscript the footnote number)
First part$^1$
(and the next one)
Second part$^2$
(at the end of your text add *** to create a line across the document)
(under the line, add the text below:)
1, 2: Text for your footnote
On the other hand, there is a thread created on this specific R-Markdown bug. Maybe take a look at it, in this link.
Hope I helped somehow.