早在三月份,我就在 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
标题仍然出现在封面之前,并且章节标题中的章节“措辞”(即章节标题实际单词之前的“第一章”)消失了。每章的章节编号都以0等开头。
如果我去掉上面的包含子句 - 标题和作者出现在首页,然后是目录,所有章节标题和章节编号都会正确显示 - 但当然没有封面或版权页。
frontpage.tex 如下所示:
\frontmatter
\includegraphics {coverpage.png}
This edition first published August 2017 etc
如何在标题之前获得封面页,在标题之后和目录之前获得版权页,并让章节标题即(章节标题之前的单词章节和数字按该顺序正确呈现。
到目前为止,R bookdown 在书籍布局和格式方面做得非常出色,但我似乎无法制作这些工作所需的典型内容。
谢谢...
最佳答案
要在 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。这将生成一个带有标题(“一本书”)的封面页,后面是封面图片,然后是作者(“by Me”)。
在此示例中,我使用了 png 文件,但 pdf 或 jpg 文件也可以正常工作。如果您有更复杂的目录结构,如标准 bookdown example 中所示,您可能需要修改必要文件的路径,例如“latex/preamble.tex”而不是“preamble.tex”。
关于r - R bookdown 中标题前的封面页和版权声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45963505/