我正在使用 xaringan
的 r
包用于演示文稿:
https://cran.r-project.org/web/packages/xaringan/index.html
建立在remark.js
库上的。
我想使用两个列布局,即原始remark.js
预告片的类似内容:
https://remarkjs.com/
原始css
规则(嵌入在演示源中)通过:
/* Two-column layout */
.left-column {
color: #777;
width: 20%;
height: 92%;
float: left;
}
.left-column h2:last-of-type, .left-column h3:last-child {
color: #000;
}
.right-column {
width: 75%;
float: right;
padding-top: 1em;
}
问题是,当您在其中一列中使用--
时,它无法按预期工作 - 它应该触发增量幻灯片...
这确实有效,要点逐渐显示:
# Slide 1
- hello
--
- again
---
# Slide 2
- and one
--
- more
,但在列中它不起作用:
.left-column[
# Column 1
- hello
--
- again]
.right-column[
# Column 2
- and one
--
- more]
接下来,在原始的remark.js
css
规范中,右列还由
.pull-left {
float: left;
width: 47%;
}
.pull-right {
float: right;
width: 47%;
}
.pull-right ~ p {
clear: both;
}
又一次,--
不再起作用,在.pull-right
/.pull-left
类中都没有增量步骤,也不是"之间",即首先显示.pull-left
部分,而是.pull-right
部分。这些问题确实在原始的remark.js
中出现,因此在xaringan
软件包中也出现。
毕竟,在右列中至少具有增量幻灯片将是很棒的。有人知道如何解决这个问题吗?我如何修改CSS来实现这一目标?
编辑:
xaringan
中的整个标记,即在rstudio中的rmarkdown
中写的,然后"编织"为:
---
title: "Title"
author: "Myself"
date: "`r format(Sys.Date(), '%d.%m.%Y')`"
output:
xaringan::moon_reader:
css: ["default", "custom.css"]
nature:
highlightStyle: dracula
highlightLines: true
countIncrementalSlides: false
---
```{r setup, include=FALSE}
options(htmltools.dir.version = FALSE)
```
.left-column[
## Left column title
]
.right-column[
A whole sentence
- one `Markdown` bullet point
--
- a second bullet point
]
在文件 custom.css
中,只有左和右列类别没有其他内容,并且从https://remarkjs.com/
它有点黑客,但是您可以使用cond coppl --
的备注的模板功能。
--
告诉RemandJS将上一个幻灯片用作模板。在模板中,您可以使用{{content}}
来确定将下一个内容放在哪里。如果您不这样做,则在模板的末尾附加。这就是为什么--
用于增量幻灯片的原因。
如其他答案中所述,您不能在.class[]
呼叫中使用--
,因为它不是模板。但是,您可以在.class[]
内使用{{content}}
,以便在以前的.class[]
中使用--
将下一个文本将其放入。
这有点黑客,因为我认为它不会具有复杂的增量逻辑。
---
title: "Title"
author: "Myself"
date: "`r format(Sys.Date(), '%d.%m.%Y')`"
output:
xaringan::moon_reader:
css: ["default"]
nature:
highlightStyle: dracula
highlightLines: true
countIncrementalSlides: false
---
```{r setup, include=FALSE}
options(htmltools.dir.version = FALSE)
```
.left-column[
## Left column title
]
.right-column[
A whole sentence
+ one `Markdown` bullet point
{{content}}
]
--
+ a second bullet point
{{content}}
--
+ a third bullet point
{{content}}
--
+ a sub level
在上一个典范中,右列具有逐渐显示的文本。
您不能使用两个破折号--
逐渐显示不完整的元素。当您使用--
拆分段落或列表时,该子集仍然是完整且有效的元素。例如,
- One
- Two
--
- Three
项目- One
和- Two
仍然形成完整且有效的列表。但是,当您像.left-column[]
这样的列分开时:
.left-column[
One paragraph.
--
Another paragraph.
]
子集不再有效降级:
都不是.left-column[
One paragraph.
nor
Another paragraph.
]
是有效的降价,因此无法渲染。基本上,当您使用--
构建增量幻灯片时,您必须问自己,到目前为止,所有文本是否有效。
在您的情况下,您必须手动重复某些元素才能构建增量幻灯片,这当然不是有效的,但这是唯一要走的方法。如果您研究https://remarkjs.com的来源,您将看到Relect.js的作者,例如,例如,
---
layout: false
.left-column[
## What is it?
]
.right-column[
A simple, in-browser, Markdown-driven slideshow tool targeted at people who know their way around HTML and CSS, featuring:
- Markdown formatting, with smart extensions
....
]
---
.left-column[
## What is it?
## Why use it?
]
.right-column[
If your ideal slideshow creation workflow contains any of the following steps:
- Just write what's on your mind
....
]
---
.left-column[
## What is it?
## Why use it?
]
.right-column[
As the slideshow is expressed using Markdown, you may:
- Focus on the content, expressing yourself in next to plain text not worrying what flashy graphics and disturbing effects to put where
....
]
因此,如果在这种情况下,即使是Relect.js的作者也没有魔术,我想对您的问题没有巧妙的解决方案。