Использование Rmarkdown (pagedown) и изменение оглавления

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

Это мой код:

---
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» в моем TOC исчезает.

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

Лаура


person Laura    schedule 12.10.2019    source источник
comment
Я считаю, что мне придется создать файл .css. Я прав? Как я могу это сделать?   -  person Laura    schedule 12.10.2019
comment
Возможно, вы захотите взглянуть на stackoverflow.com/questions/52576626/, что может дать вам подсказку, как решить эту   -  person jmcastagnetto    schedule 14.10.2019
comment
Также еще несколько ресурсов: stanford.edu/~vbauer/teaching/websites. html#collapsing-sections и bookdown.org/yihui/ rmarkdown/html-document.html#floating-toc   -  person jmcastagnetto    schedule 14.10.2019


Ответы (1)


Оглавление строится 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>
person RLesur    schedule 14.10.2019
comment
удивительно! Ваш ответ очень помог е. - person Laura; 15.10.2019