4

I recently discovered that you can include your own LaTeX class in an R-Markdown doc to change the appearance of the PDF. Here is a minimal example:

R Markdown

---
title: "Test"
date: "`r format(Sys.time(), '%d %B, %Y')`"
documentclass: book
output:
  pdf_document:
    citation_package: natbib
    toc: yes
    toc_depth: 3
    number_sections: true
fontsize: 12pt
--- 

# A
## AA
### AAA
### AAA
## AB
# B

This works as intended.

enter image description here

But when I define my own class, the numbering is preceded by 0s and the page numbering is off.

myclass.cls

I place a file called "myclass.cls" in the same direcoty as the RMD file above and change documentclass: myclass:

\NeedsTeXFormat{LaTeX2e}

\ProvidesClass{glasgowthesis}

\LoadClass{book}

My understanding is that this should simply call the same class as above but the file now looks like this:

enter image description here

Maybe somebody can give me a hint what I'm doing wrong. I would like to copy the book class 1:1 before starting to change things.

JBGruber
  • 11,727
  • 1
  • 23
  • 45

1 Answers1

4

I found the solution in the bookdown book and wanted to share it in case anyone wanders off to this question through google etc.

Note that when you change documentclass, you are likely to specify an additional Pandoc argument --top-level-division=chapter so that Pandoc knows the first-level headers should be treated as chapters instead of sections (this is the default when documentclass is book)

So this YAML header solved the issue:

---
title: "Test"
date: "`r format(Sys.time(), '%d %B, %Y')`"
documentclass: myclass
output:
  pdf_document:
    pandoc_args: --top-level-division=chapter
    citation_package: natbib
    toc: yes
    toc_depth: 3
    number_sections: true
fontsize: 12pt
--- 

# A
## AA
### AAA
### AAA
## AB
# B
JBGruber
  • 11,727
  • 1
  • 23
  • 45