R bookdown中标题前的封面和版权声明?

时间:2017-08-30 14:47:28

标签: r latex r-markdown bookdown

回到三月份,我问了一个问题,得到了一个答案,在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在书籍布局和格式方面做得非常出色,但我似乎无法做出这些需要工作的典型事情。

...谢谢

1 个答案:

答案 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”。