Реализация стиля CSS для разрывов страниц «разбивает» оглавления в R Markdown - PullRequest
0 голосов
/ 23 января 2019

Из-за проблем с тем, чтобы мой документ выглядел приятным при экспорте knitr в pdf, я преобразовываю html-файл для моего проекта Markdown в pdf с помощью утилиты wkhtmltopdf cmd line.

Очень простой документ по Markdown повторяет мою проблему:

---
title: "Untitled"
output: 
  html_document:
    df_print: paged
    toc: true
    number_sections: true
---

## ALPHA Header

### Alpha sub-1

### Alpha sub-2

## BETA Header

### Beta sub-1

### Beta sub-2

При этом генерируется html-файл с оглавлением - но при переходе к преобразованию этого файла через wkhtmltopdf нет разрывов страниц.

Я получил ответы от этого запроса Github, пытаясь реализовать рекомендованный тип пользовательского стиля CSS. Обратите внимание, я не очень много знаю HTML / CSS.

Я изменил код уценки после YAML (который остается неизменным) на:

<style type="text/css" media="screen,print">
       /* Page Breaks */

/***Always insert a page break before the element***/
       .pb_before {
           page-break-before: always !important;
       }
</style>

<div class="page1 pb_before">
## ALPHA Header
</div>
<div class="page2 pb_before">
### Alpha sub-1
</div>
<div class="page3 pb_before">
### Alpha sub-2
</div>
<div class="page4 pb_before">
## BETA Header
</div>
<div class="page5 pb_before">
### Beta sub-1
</div>
<div class="page6 pb_before">
### Beta sub-2
</div>

Вязав эту версию, система нумерации для заголовков и оглавления исчезла, однако теперь, когда я собираюсь преобразовать html-файл в pdf с помощью wkhtmltopdf, я теперь получаю отдельную страницу для каждого заголовка.

Так что мой вопрос - как мне объединить их вместе, после чего у меня есть оглавление и пронумерованные заголовки после экспорта в html, а также предварительно подготовленный код html / CSS, чтобы позволить мне иметь разрывы страниц после каждого заголовка когда я конвертировал через wkhtmltopdf.

1 Ответ

0 голосов
/ 24 января 2019

Я нашел хакерское решение для этого:

Вставка:

<div class="page1 pb_after">
&nbsp;
</div>

Перед каждым заголовком я хочу отдельную страницу для.

...