回到三月份,我问了一个问题,得到了一个答案,在R bookdown提供的pdf文档中包括封面:
R bookdown - cover page and appendix
我尝试了解决方案,并得出以下结果:
在index.rmd中使用yaml:
output:
pdf_document:
includes:
before_body: frontpage.tex
number_sections: yes
toc: yes
toc_depth: 3
site: bookdown::bookdown_site
documentclass: book
classoption: letterpaper
标题仍然出现在封面和章节“措辞”之前。在章节标题中(即'第1章'在章节标题的实际词之前)消失了。每章的章节编号都以0等开头。
如果我取出上述标题中的包含条款,作者将作为第一页出现,然后是目录,所有章节标题和章节编号都会正确显示 - 但当然没有封面或版权页面。< / p>
frontpage.tex如下所示:
\frontmatter
\includegraphics {coverpage.png}
This edition first published August 2017 etc
如何在标题之前,版权页面之前和目录之前获得封面,并且章节标题即(章节标题之前的章节和数字以该顺序呈现并且正确。
到目前为止,R bookdown在书籍布局和格式方面做得非常出色,但我似乎无法做出这些需要工作的典型事情。...谢谢
答案 0 :(得分:3)
要在bookdown生成的pdf文件中的标题页之前获得封面,诀窍是关闭LaTeX的 \ maketitle 命令,创建封面,然后转 \ maketitle 如果你想要标题页面,请重新开启并执行它。
从标准bookdown demo开始,将以下两行附加到preamble.tex
的末尾\let\oldmaketitle\maketitle
\AtBeginDocument{\let\maketitle\relax}
这会将 \ maketitle 命令保存为 \ oldmaketitle ,然后关闭原始 \ maketitle 。在同一目录中,现在创建一个包含以下行的 before_body.tex 文件
\thispagestyle{empty}
\begin{center}
{\Huge A BOOK}
\includegraphics{cover.png}
{\huge by Me}
\end{center}
\let\maketitle\oldmaketitle
\maketitle
这会在输出pdf的开头插入一个页面,然后将 \ maketitle 返回到其原始状态,然后执行它。如果您已有before_body.tex个文件,只需将行添加到最后。在上面的例子中,我在图像之前和之后都包含了一些文本,只是为了表明一个人可以。
最后,您需要将封面图片文件( cover.png )放在同一目录中。并构建您的pdf_book。这将产生一个带有标题的封面页(“A BOOK”),然后是封面图片,然后是作者(“by Me”)。
在这个例子中,我使用了png文件,但pdf或jpg文件也可以正常工作。如果您有一个更复杂的目录结构,如标准bookdown example,您可能必须修改必要文件的路径,例如“latex / preamble.tex”而不是“preamble.tex”。