如何在 Rmarkdown 演示文稿中设置定理环境

how to set up theorem environment in the Rmarkdown presentation

我是 Rmarkdown 的新手,打算使用 ioslides/slidy/xaringan 来做我的演示。

我以前用 beamer 做演示。在 beamer 中,我有专为数学定理设计的定理环境。我希望能够在 ioslides/slidy/xaringan 中拥有那种格式。我知道我可以使用 $$...$$ 来包含乳胶代码并可以显示方程式。但是,这还不能满足我的需求。

我也知道在 bookdown 中可以有定理环境。但我不知道如何在 ioslides/slidy/xaringan 输出格式。

这对于评论中的讨论来说太长了,所以这里是一个答案。下面定义了一些受above-mentionedblog post:

中思路启发的样式

styles.css

.theorem {
  display: block;
  font-style: italic;
  font-size: 24px;
  font-family: "Times New Roman";
  color: black;
}
.theorem::before {
  content: "Theorem. ";
  font-weight: bold;
  font-style: normal;
}
.theorem[text]::before {
  content: "Theorem (" attr(text) ") ";
}
.theorem p {
  display: inline;
}

要在 rmarkdown 演示文稿中使用这些样式,您可以通过 YAML header 包含它们。对于 ioslides,它是这样工作的(类似于 slidy 和 xaringan):

ioslides.Rmd(请注意,这需要 styles.css 与 ioslides.Rmd 在同一文件夹中)

---
title: "Theorem demo"
output:
  ioslides_presentation:
    css: styles.css
---

您现在可以使用 class theorem<div> 元素创建定理:

## CLT

<div class="theorem" text='CLT'>
  The CLT states that, as $n$ goes to infinity, the sample average $\bar{X}$
  converges in distribution to $\mathcal{N}(\mu,\sigma^2/n)$.
</div>

编辑:哥本哈根风格

完全重新创建 beamer 样式很麻烦,但通过一些 CSS 技巧您可以接近。这是一个类似于 theme: copenhagen.

的示例
.theorem {
  display: block;
  font-style: italic;
  font-size: 24px;
  font-family: "Times New Roman";
  color: black;
  border-radius: 10px;
  background-color: rgb(222,222,231);
  box-shadow: 5px 10px 8px #888888;
}
.theorem::before {
  content: "Theorem. ";
  font-weight: bold;
  font-style: normal;
  display: inline-block;
  width: -webkit-fill-available;
  color: white;
  border-radius: 10px 10px 0 0;
  padding: 10px 5px 5px 15px;
  background-color: rgb(38, 38, 134);
}
.theorem p {
  padding: 15px 15px 15px 15px;
}