как настроить окружение теоремы в презентации Rmarkdown

#css #r-markdown #xaringan #ioslides

#css #r-markdown #xaringan #ioslides

Вопрос:

Я новичок в Rmarkdown и планирую использовать ioslides / slidy / xaringan для создания своей презентации.

Раньше я использовал beamer для создания презентаций. В beamer у меня есть среда теоремы, которая предназначена для математических теорем. Я хочу иметь возможность иметь такой формат в ioslides / slidy / xaringan. Я знаю, что могу использовать $ $ … $$ для включения кода latex и отображения уравнения. Однако этого недостаточно для моих нужд.

Я также знаю, что в bookdown может быть среда теоремы. Но я не знаю, как это сделать в формате вывода ioslides / slidy / xaringan.

Комментарии:

1. ioslides, slidy и xaringan используют MathJax, который не предоставляет среды из amsmath, подобные theorem. Может быть, это поможет: drz.ac/2013/01/17/latex-theorem-like-environments-for-the-web

2. Спасибо за объяснение. Я проверил ссылку там. Он использует Octopress. Я не хочу это использовать. Куда я должен поместить этот HTML-код css в ioslides / slidy / xaringan?

3. Если вы не возражаете, если я спрошу, как вы получили среду теоремы, работающую в beamer? Похоже, что приведенный ниже метод, на который дан ответ, не работает для презентаций beamer, поэтому мне было любопытно, какой у вас метод работы. Спасибо!

Ответ №1:

Это было бы слишком долго для обсуждения в комментариях, поэтому вот ответ. Ниже приведены некоторые стили, вдохновленные идеей из вышеупомянутого поста в блоге:

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. Для ioslides это работает следующим образом (аналогично работает для slidy и xaringan):

ioslides.Rmd (Обратите внимание, что для этого styles.css должен находиться в той же папке, что и ioslides.Rmd)

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

Теперь вы можете создать теорему, используя <div> элемент класса theorem :

 ## 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;
}
  

введите описание изображения здесь

Комментарии:

1. Это так хорошо. Большое вам спасибо! У меня есть дополнительный вопрос. Помните, что в Beamer окружение теоремы имеет рамку вокруг утверждения и некоторый цвет фона и оттенки рамки. Вы случайно не знаете HTML-код, чтобы реализовать это?

2. Это именно то, чего я хотел. Спасибо!!!!! Я желаю вам всего наилучшего.

3. Я пытаюсь включить style.css в xaringan. Казалось, что он не может распознать код latex в среде теоремы. Вы знаете, как решить эту проблему?

4. Я делаю: это потому, что remark.js мешает работе MathJax. Это должно сработать, если вы используете ( ) вместо $ $ для разграничения математики. 🙂

5. Я понимаю. Спасибо!