使用自定义的LaTeX类改变R Markdown中的编号。

问题描述 投票:0回答:1

我最近发现,你可以在一个R-Markdown文档中包含你自己的LaTeX类来改变PDF的外观。下面是一个最小的例子。

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

这样就可以按原计划工作了。

enter image description here

但是当我定义我自己的类时,编号前面是0,页面编号也不对。

myclass.cls

我将一个名为 "myclass.cls "的文件放在与上面的RMD文件相同的方向,并将其改为 documentclass: myclass:

\NeedsTeXFormat{LaTeX2e}

\ProvidesClass{glasgowthesis}

\LoadClass{book}

我的理解是,这应该是简单地调用与上面相同的类,但现在的文件是这样的。

enter image description here

也许有人能给我点提示,我做错了什么。我想在开始修改之前先把书中的类1:1复制过来。

r latex r-markdown knitr
1个回答
2
投票

我找到了解决方案 廉价书 并想把它分享给大家,以防有人通过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
© www.soinside.com 2019 - 2024. All rights reserved.