#r #r-markdown #knitr
Вопрос:
Я составлял сводный отчет о данных, используя rmdformats
пакет в RMarkdown. Я использовал опцию «плавающее оглавление», однако я заметил, что в достаточно больших документах (мой документ имеет по крайней мере 15 заголовков первого порядка в силу своей природы) более поздние части документа отрезаны и их нелегко выбрать без прокрутки вручную. Это настройки, которые я использовал…
output:
rmdformats::html_clean:
highlight: haddock
toc: TRUE
toc_depth: 3
toc_float: TRUE
number_sections: TRUE
thumbnails: FALSE
code_folding: show
df_print: paged
DT: datatable
Я пытался найти способ добавить более ручную полосу прокрутки в плавающее оглавление в RMarkdown, чтобы, если я захочу перейти к более позднему заголовку документа, я мог просто щелкнуть по заголовку этого раздела и перейти к нему. Есть ли какой-нибудь способ добиться этого?
Ответ №1:
Используя поваренную книгу Rmarkdown и используя немного HTML/CSS, мы получаем селектор TOC, а затем добавляем некоторые встроенные CSS, которые вы можете изменить max-height
(и, вероятно max-width
,) в соответствии с вашими потребностями.
CSS
```{css}
html body.preload div.container-fluid.main-container div.row div.col-md-2 div#toc
{
max-height: 200px;
overflow-y: auto;
background-color: inherent;
}
```
Что дает нам ваш прокручиваемый TOC
весь код R
---
author: Daniel
title: "R"
output:
rmdformats::html_clean:
highlight: haddock
toc: TRUE
toc_depth: 3
toc_float: TRUE
number_sections: TRUE
thumbnails: FALSE
code_folding: show
df_print: paged
DT: datatable
---
```{css}
html body.preload div.container-fluid.main-container div.row div.col-md-2 div#toc
{
max-height: 200px;
overflow-y: auto;
background-color: inherent;
}
```
# Chapter 1
# Chapter 2
# Chapter 3
# Chapter 4
# Chapter 5
# Chapter 6
# Chapter 7
# Chapter 8
Возможно, вы уже знаете, но обычный html_document
с теми же настройками YAML даст вам прокручиваемый TOC, если дисплей недостаточно велик для отображения всего TOC.