Вертикальная полоса прокрутки для длинных функций со слайдами knitr
Можно ли сделать вертикальную полосу прокрутки для длинных функций с помощью слайдов knitr (используя пользовательский стиль xaringan)? Я пробовал некоторые варианты, основанные на этом предыдущем вопросе Как заставить вертикальную полосу прокрутки появляться в кусках кода RMarkdown (html view), но не представлял, как это сделать только для длинных функций (высота которых выходит за рамки). Любой совет приветствуется.
---
title: "title"
subtitle: "subtitle"
author: "author"
date: "2017"
output:
xaringan::moon_reader:
lib_dir: libs
css: ["default", "style.css"]
nature:
highlightStyle: zenburn
highlightLines: true
countIncrementalSlides: false
---
```{r , echo=FALSE, include=FALSE}
library(knitr)
opts_chunk$set(fig.align='center', message=TRUE, error=TRUE, warning=TRUE, tidy=TRUE, comment = "##", echo = TRUE, dev='svg')
options(width=65)
```
```{r}
fu <- function(x){
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
}
```
3 ответа
В вашем style.css
, создайте класс, который определяет y переполнение как прокрутку и желаемую высоту div (см. этот ответ SO в качестве ссылки)
.pre {
height: 10pc;
overflow-y: scroll;
}
Затем примените этот класс CSS к блоку кода:
.pre[
```{r}
fu <- function(x){
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
}
```
]
Вы пробовали решение из этого ответа
.scrollable-slide {
height: 800px;
overflow-y: auto !important;
}
Я не специалист по CSS, поэтому не могу гарантировать, что это надежное решение, но добавление max-height и overflow-y в стилизацию блоков кода, похоже, работает хорошо. При необходимости измените максимальную высоту, 200px довольно короткая и используется только для демонстрации того, как она работает:
<style>
pre.sourceCode {
max-height: 200px;
overflow-y: auto;
}
</style>
Я не уверен, что если имя класса для блоков кода меняется с разными форматами вывода, я использовал slidy_presentation
поскольку у меня не было установленного рендерера, возможно, вам придется проверить класс в выходных данных.