Markdown 将Rmd中的目录和附属列表分离为PDF文件
最近有人批评我在从R降价文件创建PDF时没有明确区分TOC和从属关系列表 我的YAML就是这个Markdown 将Rmd中的目录和附属列表分离为PDF文件,markdown,r-markdown,knitr,pandoc,tableofcontents,Markdown,R Markdown,Knitr,Pandoc,Tableofcontents,最近有人批评我在从R降价文件创建PDF时没有明确区分TOC和从属关系列表 我的YAML就是这个 --- title: "title" author: - Name author 1: email: paleomariomm@gmail.com institute: [cenieh, ucl1, ppex] correspondence: true - Name author 2: institute: [ubu] institute:
---
title: "title"
author:
- Name author 1:
email: paleomariomm@gmail.com
institute: [cenieh, ucl1, ppex]
correspondence: true
- Name author 2:
institute: [ubu]
institute:
- cenieh: Centro Nacional de Investigación sobre la Evolución Humana (CENIEH), Paseo Sierra de Atapuerca 3, 09002, Burgos, Spain
- ucl1: Department of Anthropology, University College London, London, WC1H 0BW, UK
- ppex: Equipo Primeros Pobladores de Extremadura, Casa de Cultura Rodríguez Moñino, Cáceres, Spain
- ubu: Laboratorio de Evolución Humana, Universidad de Burgos, Edificio I+D+i, Burgos, Spain
output:
pdf_document:
number_sections: yes
pandoc_args:
- '--lua-filter=lua/scholarly-metadata.lua'
- '--lua-filter=lua/author-info-blocks.lua'
toc: yes
toc_depth: 4
---
通过将此Rmd文件转换为PDF,我看到:
如您所知,TOC和附属机构列表之间可能会出现一些潜在的误解,因为附属机构列表就在目录的下方
我想把它们清楚地分开。我想到了不同的可能性:
- 引入一条分隔两个部分的线
- 在从属关系列表的顶部添加一个小标题,称为从属关系
- 颠倒顺序,将从属关系列表放在作者的正下方
我一直在处理这些情况,但没有成功。有没有关于如何实现其中任何一项的想法?附属机构列表将作为主体的一部分添加。Pandoc将目录作为正文的第一项插入,这就是为什么附属机构出现在TOC之后。最好的解决方法是禁用自动TOC插入,并手动调用LaTeX命令
output:
pdf_document:
number_sections: yes
pandoc_args:
- '--lua-filter=lua/scholarly-metadata.lua'
- '--lua-filter=lua/author-info-blocks.lua'
toc: no
然后加上
```{=latex}
\setcounter{tocdepth}{4}
\tableofcontents
```
在文档的顶部。Lua过滤器会将附属关系部分推到目录上方的顶部,pandoc不会更改顺序。正如您所注意到的,一个解决方案是在TOC之后添加一些空间。您可以通过添加
header-includes:
- \usepackage{xpatch}
- \xapptocmd{\tableofcontents}{\vspace{2em}}{}{}
到您的YAML标题。这些lua过滤器来自哪里?它们在我的系统中是未知的。它们都来自GitHub:安装了这些lua过滤器后,我得到错误
[字符串“lua/author info blocks.lua”]:168:尝试调用一个nil值(方法“map”)
,使用pandoc版本2.3.1。顺便说一句,你有没有看过像article
或pinp
这样的软件包提供的格式?你有没有将它们保存在lua文件夹中?@RalfStubner,这可能是由较旧的pandoc版本引起的。看见