R bookdown - 自定义标题页

时间:2018-01-24 23:14:21

标签: r latex r-markdown bookdown

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

我尝试在YAML标题中使用以下代码。

includes:
  in_header: preamble.tex
  before_body: body.tex

body.tex文件非常简单,只是为了测试:

\begin{titlepage}
Hello world
\end{titlepage}

2 个答案:

答案 0 :(得分:5)

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

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

$for(include-before)$
$include-before$

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

有关替代方法,请参阅this question的答案。

答案 1 :(得分:1)

我最终编辑了_output.yml文件,使用yaml模板标记在我的R项目目录中引用了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

由于某种原因,编译pdf时出错(!未定义的控制序列...)所以我在\usepackage{graphicx}中包含了一个乳胶命令template.tex来修复它。现在假设我可以自由定制标题页面。