Bookdown: установка разрывов страниц

#r #bookdown

#r #bookdown

Вопрос:

Я не могу узнать, как сделать разрыв страницы в R bookdown. Под разрывом страницы я подразумеваю, что содержимое одной страницы отображается как один веб-сайт.

По умолчанию перед каждым новым разделом всегда есть разрыв страницы (например # Chapter 1 ). Итак, если я запускаю render_book каждый раздел, он становится одним HTML-файлом. Но, если у меня много подразделов, эти сайты становятся очень длинными.

Я хотел бы иметь разрывы страниц перед каждым подразделом (например ## Chapter 1.1 ).

До сих пор я пытался добавить newpage , pagebreak , --------------- в .Rmd или просто предоставить файлы .Rmd в той же структуре, в которой я хотел бы иметь их в виде файлов .html. В любом случае, файлы .html всегда создаются в соответствии с разделами.

Ответ №1:

Я думаю, что это задается split_by аргументом, gitbook как описано здесь .

Звучит так, как будто вы используете chapter , но вы хотите использовать section

split_by Аргумент указывает, как вы хотите разделить вывод HTML на несколько страниц, и его возможные значения:

  • rmd : используйте базовые имена файлов входных файлов Rmd для создания имен файлов HTML, например, сгенерировать chapter3.html для chapter3.Rmd ;
  • none : не разделяйте HTML-файл (книга будет представлять собой один HTML-файл);
  • chapter : разделить файл по заголовкам первого уровня;
  • section : разделите файл по заголовкам второго уровня;
  • chapter number и section number : аналогично chapter и section , но файлы будут пронумерованы;

Комментарии:

1. Вы можете использовать его с render_book() . Выходные форматы в bookdown обычно предназначены для bookdown::render_book() , а некоторые также работают rmarkdown::render() . Этот ответ применим к любой функции формата вывода в bookdown, которая содержит split_by аргумент.

2. @Yihui это полезно знать. Я был удивлен, в документации render_book не упоминается split_by аргумент, и даже ... документация предназначена только для preview_chapter , ничего о том, что render_book ... передается.

3. Указанная страница справки ?bookdown::render_book ... была передана rmarkdown::render() . split_by не является аргументом bookdown::render_book() или rmarkdown::render() ; это аргумент bookdown::gitbook .

4. Я знаю, что это было давно, но вы можете установить его в качестве опции в _output.yml : split_by: section в bookdown::gitbook: части.