我最近发现,你可以在一个R-Markdown文档中包含你自己的LaTeX类来改变PDF的外观。下面是一个最小的例子。
---
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
这样就可以按原计划工作了。
但是当我定义我自己的类时,编号前面是0,页面编号也不对。
我将一个名为 "myclass.cls "的文件放在与上面的RMD文件相同的方向,并将其改为 documentclass: myclass
:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{glasgowthesis}
\LoadClass{book}
我的理解是,这应该是简单地调用与上面相同的类,但现在的文件是这样的。
也许有人能给我点提示,我做错了什么。我想在开始修改之前先把书中的类1:1复制过来。
我找到了解决方案 廉价书 并想把它分享给大家,以防有人通过google等途径去找这个问题。
请注意,当你改变documentclass时,你很可能会指定一个额外的Pandoc参数--top-level-division=chapter,这样Pandoc就知道一级标题应该被当作章节而不是section来处理(当documentclass是book时,这是默认的)。
所以这个YAML头就解决了这个问题。
---
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