Rmarkdown: use Komadown and Specify Pandoc Arguments - r-markdown

Hi at all i have the following Problem:
I'm using Rmarkdown to write a Dokument. I'm also using the komadown package to use some bookdown features for referencing and be able to use the scrartcl document Class (Latex Output). I want to specify a citation style using a .csl file.
Normaly a simple csl: FILENAME.csl in the YAML header does the trick. But with the Komadown package this doesn't work.
My YAML Header is as follows, it finds my bibliography but it doesn't find the .csl file :(
---
title: "Komadown Try"
bibliography: library.bib
csl: kaktus.csl
output: komadown::scrartcl
---
Furthermore i want to set the keep_tex option to TRUE or yes but this also doesn't work.
Many thanks in advance. Would be awesome if someone could help me out.

i just got an answer to my questions. Maybe It'll help others that run into the same problem.
I can specify the csl file now. There was a bug in the code and the developer has fixed it. Currently the latest Version isn't on Cran so you have to download the developer Version from Github:
# install.packages("devtools")
devtools::install_github("jolars/komadown")
If you have done that you can specify the csl and the keep_tex argument as follows:
---
title: "Thesis Template"
bibliography: library.bib
output:
komadown::scrartcl:
keep_tex: yes
csl: kaktus.csl
---

Related

Why won't RMarkdown with Bookdown recognize Tufte formatting?

I am working on a Bookdown project and would like to use Tufte formatting.
I downloaded the Bookdown demo and the tufte package. Then, I simply changed the YAML in index.Rmd to:
---
title: "A Minimal Book Example"
author: "Yihui Xie"
date: "`r Sys.Date()`"
site: bookdown::bookdown_site
output:
bookdown::tufte_html_book:
toc: yes
css: toc.css
documentclass: book
bibliography: [book.bib, packages.bib]
biblio-style: apalike
link-citations: yes
github-repo: rstudio/bookdown-demo
description: "This is a minimal example of using the bookdown package to write a book. The output format for this example is bookdown::gitbook."
---
Where the only change is in the output: option, which is specified by the Bookdown book
And then tried both the Knit button and bookdown::render_book(). The demo built successfully.
However, it did not produce Tufte formatting. Instead I get default formatting, with a white background, non-italic section headings, and footnotes instead of margin notes (I added a footnote to the doc on a second run to make this visible):
I also tried this with different spacing before the "bookdown"/"toc" etc. stuff, and with tufte::tufte_html: default instead of any of the "bookdown"/"toc" stuff.
What do I need to do to get Bookdown to recognize the Tufte formatting request? I feel like I am missing something exceedingly simple.

Tufte RMarkdown Document - Self Contained Option?

I would like to distribute the HTML variant for the theme to be a self-contained HTML file. Is that possible? The following YAML header built the gorgeous file, but appears to have dependencies via the form of cache and files folders.
---
title: "Tufte Handout"
subtitle: "An implementation in R Markdown"
author: "JJ Allaire and Yihui Xie"
date: "`r Sys.Date()`"
output:
tufte::tufte_html:
self_contained: true
---
I think you may not be looking closely enough at this, or looking from the wrong angle:
Self-contained asks for just that;
what your question notes are cache files
which are "merely" used to produced said self-contained file more easily.
Should work for tufte, tint and everything else running through the same machinery.

Full author list for first citation in a chapter [apa.csl]

I'm writing my dissertation in R markdown. I am using bibtex, pandoc-citeproc, and apa.csl with bookdown. I have new_session: yes in my _bookdown.yml and compiling primarily to PDF (documentclass:book, classoption: oneside).
The system I have is correctly using the full author list in place of "et al." for the first time I cite a 3-6 author work. That said, my adviser wants the full author list for the first time I cite a work per chapter.
Is there an easy way to go about this?
Here is the apa.csl I'm using:
https://github.com/citation-style-language/styles/blob/master/apa.csl
Turns out that a biblatex based solution is indeed very flexible as #moewe showed on TeX.SE. When one combines style=apa with citerest=chapter one gets the effect you are after. In a minimal R-markdown document:
---
output:
pdf_document:
citation_package: biblatex
documentclass: book
bibliography: biblatex-examples.bib
biblio-style: apa
biblatexoptions:
- citereset=chapter
---
# Intro
[#herrmann] and [#yoon]
[#herrmann] and [#yoon]
# Method
[#herrmann] and [#yoon]
[#herrmann] and [#yoon]
# References
Make sure that your TeX system includes the biber program.

Use additional Latex packages for math expressions in RMarkdown `output = "html_document"`

I`m aware how to use additional Latex-packages for pdf-format output from .Rmd files using
---
header-includes:
- \usepackage{mathtools}
---
in the YAML header.
However, this does (of course) not work if one specifies output: html_document.
---
output: html_document
header-includes:
- \usepackage{mathtools}
---
Using additional Latex-Packages could be of interest for output: html_document, too - especially in math expressions (MWE below)
---
title: "MWE"
output: html_document
header-includes:
- \usepackage{mathtools}
---
## Use "Defined by" Symbol
$$sin(x) \coloneqq \frac{opposite}{hypothenuse}$$
MathJax offer a number of extensions, and there are third-party extensions as well. If your desired package is not available in this way, then things get difficult.
Simple commands, such as \coloneqq, can be recreated using \newcommand. The simplest way is to add these via the include-before option. Using your MWE with a solution from Mathematics Meta SE, one gets:
---
title: "MWE"
output:
html_document: default
include-before:
- '$\newcommand{\coloneqq}{\mathrel{=}}$'
---
## Use "Defined by" Symbol
$$sin(x) \coloneqq \frac{opposite}{hypothenuse}$$
Output:
Background
RMarkdown is build around pandoc, which performs most of the format conversions. Pandoc creates PDF via LaTeX (by default), and will simply include any raw LaTeX commands which are given in the source. When seeing \usepackage{mathtools}, the package is not parsed, but the command is simply added verbatim to the intermediate LaTeX. However, when exporting to HTML, it wouldn't make sense to pass through LaTeX commands, so any such command will simply be omitted from the output, so any \usepackage in your document won't effect the HTML output.
Alternative solution
If you are using very complex LaTeX-packages, then you could consider setting up a complex pipeline to still use it: E.g, one could use a pandoc filter to extract all equations, compile each equation as a separate document, and then convert the resulting PDF to SVG. Finally, that SVG can then be included in the HTML output. This is non-trivial and probably not worth the effort. A similar approach is recommended to include TikZ pictures.

Making Beamer Handout in RMarkdown (removing pauses)

Is there a way to convert a Beamer presentation to a handout presentation and remove the pauses? In LaTeX, this can be accomplished by changing the heading from \documentclass{beamer} to \documentclass[handout]{beamer}. What is the analog in RMarkdown?
One note, I have some slides that are incremental and others that are not, so I have used > instead of incremental: true in the YAML header to insert my pauses.
Kindly refer to: https://rmarkdown.rstudio.com/beamer_presentation_format.html for more information.
Following this post, all you need to do is amend your YAML header at the top of your RMarkdown document. Specifically, use classoption: "your_usual_option" to pass whatever argument you would usually pass inside \documentclass[your_usual_option]{beamer}. Here is how I did it for your specific case:
output:
beamer_presentation:
keep_tex: true
classoption: "handout"
To make sure my suggestion is working, I added the keep_tex: true option in the YAML header above and indeed, my .tex file now shows \documentclass[10pt,ignorenonframetext,handout]{beamer}. If I remove the classoption: line, then the .tex file shows \documentclass[10pt,ignorenonframetext,]{beamer}
UPDATE:
I just found another solution, thanks to How can we pass pandoc_args to yaml header in rmarkdown? Probably more what you were looking for I am guessing?
You can alternatively adjust your YAML header with:
beamer_presentation:
pandoc_args: [
# "-M", "classoption=a4paper"
"-M", "classoption=a4paper,handout"
]
Your resulting .tex file will show the "updated" document class.