R bookdown - 自定义标题页

use*_*727 6 latex r r-markdown bookdown

如何使用bookdown自定义标题页?

我尝试在YAML标头中使用以下代码.

includes:
  in_header: preamble.tex
  before_body: body.tex
Run Code Online (Sandbox Code Playgroud)

body.tex文件非常简单,仅用于测试:

\begin{titlepage}
Hello world
\end{titlepage}
Run Code Online (Sandbox Code Playgroud)

Ral*_*ner 8

<R-Library>/rmarkdown/rmd/latex/default-1.17.0.2.tex我们看到的LaTeX模板中

\begin{document}
$if(title)$
\maketitle
$endif$
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$

$for(include-before)$
$include-before$
Run Code Online (Sandbox Code Playgroud)

这意味着\maketitle如果title在YAML标头中定义了a,则创建标题页.类似的abstract.如果您从YAML标题中删除这两个标记,则该文件中的内容body.tex将是第一个要处理的内容,您可以自由地在那里自定义标题页.

有关替代方法,请参阅此问题的答案.


use*_*727 3

我最终使用 yaml 模板标签编辑该文件以引用 R 项目目录中的模板_output.yml副本。default-1.17.0.2.tex

bookdown::gitbook:
  css: style.css
  config:
    toc:
      before: |
        <li><a href="./">A Minimal Book Example</a></li>
      after: |
        <li><a href="https://github.com/rstudio/bookdown" target="blank">Published with bookdown</a></li>
    edit: https://github.com/rstudio/bookdown-demo/edit/master/%s
    download: ["pdf", "epub"]
bookdown::pdf_book:
    fig_caption: true
    number_sections: yes
    includes:
        in_header: preamble.tex
    latex_engine: xelatex
    citation_package: natbib
    keep_tex: yes
    template: template.tex
bookdown::epub_book: default
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我在编译 pdf 时出错(!未定义的控制序列...),因此我包含了一个 Latex 命令\usepackage{graphicx}template.tex修复它。现在假设我可以自由地自定义标题页和任何内容。