2017-04-30 4 views
3

Wie erreichen Sie römische Ziffern für Dinge wie Vorwort, Bestätigung usw. und starten Sie die arabische Nummerierung bei 1 für die erste Seite des ersten Kapitels in R Bookdown neu.Seitennummerierung in R Bookdown

Ich bin zu wollen, um pdf in bookdown zu machen, haben aber keine gute Informationen zu finden, wie die Seitennummerierung ähnliche

dank

Antwort

7

PDF-Ausgabe mit LaTeX mit der book Dokumentenklasse produziert wird sich ändern. In dieser Klasse können Sie \frontmatter, \mainmatter und \backmatter verwenden, um verschiedene "Teile" des Buches zu trennen. Um dies zu verwenden, um mit bookdown tat ich folgendes:

  • Start mit einer Kopie des https://github.com/seankross/bookdown-start
  • Kopie <R-library-path>/rmarkdown/rmd/latex/default-1.17.0.2.tex als book.tex in das Arbeitsverzeichnis
  • Update book.tex\frontmatter, \mainmatter und \backmatter (diff unten schließen)
  • Update _output.yml zu book.tex als template (diff beziehen unten)

Mit diesen Änderungen wurde die PDF-Datei mit bookdown (römische Kleinbuchstaben) für die ToC verwendet und mit arabischen Zahlen für den tatsächlichen Körper neu gestartet. Hier ist der Unterschied zwischen Versionen:

diff --git a/_output.yml b/_output.yml 
index 112cf5b..b211ba7 100644 
--- a/_output.yml 
+++ b/_output.yml 
@@ -13,5 +13,6 @@ bookdown::pdf_book: 
    in_header: preamble.tex 
    latex_engine: xelatex 
    citation_package: natbib 
+ template: book.tex 
bookdown::epub_book: 
    stylesheet: style.css 
diff --git a/book.tex b/book.tex 
index 0f9979d..3d03540 100644 
--- a/book.tex 
+++ b/book.tex 
@@ -235,6 +235,9 @@ $header-includes$ 
$endfor$ 

\begin{document} 
+$if(book-class)$ 
+\frontmatter 
+$endif$ 
$if(title)$ 
\maketitle 
$endif$ 
@@ -263,8 +266,14 @@ $endif$ 
$if(lof)$ 
\listoffigures 
$endif$ 
+$if(book-class)$ 
+\mainmatter 
+$endif$ 
$body$ 

+$if(book-class)$ 
+\backmatter 
+$endif$ 
$if(natbib)$ 
$if(bibliography)$ 
$if(biblio-title)$ 
0

Ich denke, es könnte einfacher sein, nur das Beispiel folgen @yihui in seinem eigenen bookdown krantz example verwendet:

die folgenden Dateien hinzufügen, vielleicht in einem /latex Unterordner:

  • preamble.tex mit dem Latex \frontmatter Befehl am Ende,
  • after_body.tex mit dem Latex \backmatter Befehl

Dann vor dem ersten tatsächlichen Hauptkörper, fügen Sie einfach den \mainmatter Befehl (nur in Latex), sagen wir, Ihre index.Rmd (je nachdem, welche Ihrer *.Rmd s ist zunächst konventionell index.Rmd).

Dann Ihre _output.yml wie so zu ändern:

bookdown::pdf_book: 
    includes: 
    in_header: latex/preamble.tex 
    after_body: latex/after_body.tex 

Diese streut die richtigen \frontmatter, \mainmatter und \backmatter Befehle in Ihr pandoc-ed Latex Buch. Es wird von den meisten Style-Dateien respektiert, um sicherzustellen, dass die arabische Nummerierung nur in der Hauptsache beginnt.

Dies ist auch in der publishing chapter des Bookdown-Buch dokumentiert.