Использование Rmarkdown (pagedown) и изменение содержания - PullRequest
4 голосов
/ 12 октября 2019

Привет, ребята. Я пытаюсь решить эту проблему, но у меня нет пути:

Это мой код:

---
title: "A Multi-page HTML Document"
author: "Yihui Xie and Romain Lesur"
date: "`r Sys.Date()`"
output:
  pagedown::html_paged:
    toc: true
    toc_depth: 3
    # change to true for a self-contained document, but it'll be a litte slower for Pandoc to render
    self_contained: false
---

# Exercise 1{-}

<div style="width: 100%; height: 20px; border-bottom: 1px solid black; text-align: center">
  <span style="font-size: 40px; background-color: white; padding: 0 10px;">
    Exercicio 1 <!--Padding is optional-->
  </span>
</div>

Я хочу сохранить структуру таблицы содержания. Другими словами, я хочу нажать на «Упражнение 1», и оно перенесет меня на страницу первого упражнения. НО Я хочу, чтобы заголовок был таким настраиваемым заголовком ниже (я хочу нажать «Упражнение 1», чтобы увидеть только этот стиль Упражнения 1 ниже):

<div style="width: 100%; height: 20px; border-bottom: 1px solid black; text-align: center">
  <span style="font-size: 40px; background-color: white; padding: 0 10px;">
    Exercicio 1 <!--Padding is optional-->
  </span>
</div>

Я свободен?

Например, если я сделаю это:

# {-}
<div style="width: 100%; height: 20px; border-bottom: 1px solid black; text-align: center">
  <span style="font-size: 40px; background-color: white; padding: 0 10px;">
    Exercicio 1 <!--Padding is optional-->
  </span>
</div>

Слово "Упражнение 1" в моем оглавлении исчезает.

Большое спасибо за вашу помощь

Laura

1 Ответ

3 голосов
/ 14 октября 2019

Оглавление автоматически создается Pandoc: его записи строго соответствуют заголовкам разделов. Вот почему в последнем примере (с # {-}) слово «Упражнение 1» исчезает в оглавлении.

Есть много способов достичь вашей цели. Учитывая ваш пример, наиболее простым является, вероятно, использование CSS.

Учитывая, что эта строка уценки

# Exercise 1{-}

ведет к этому фрагменту HTML

<div id="exercise-1" class="section level1 unnumbered">
  <h1>Exercise 1</h1>
  ...
</div>

Вы можете скрыть содержимое h1 с помощью следующего объявления CSS:

h1 {
  display: none;
}

Для такого небольшого CSS вы можете использовать движок knitr CSS в вашем файле Rmd:

---
title: "A Multi-page HTML Document"
author: "Yihui Xie and Romain Lesur"
date: "`r Sys.Date()`"
output:
  pagedown::html_paged:
    toc: true
    toc_depth: 3
    # change to true for a self-contained document, but it'll be a litte slower for Pandoc to render
    self_contained: false
---

```{css, echo=FALSE}
h1 {
  display: none;
}
```

# Exercise 1{-}

<div style="width: 100%; height: 20px; border-bottom: 1px solid black; text-align: center">
  <span style="font-size: 40px; background-color: white; padding: 0 10px;">
    Exercicio 1 <!--Padding is optional-->
  </span>
</div>
...