Используйте дополнительные латексные пакеты для математических выражений в RMarkdown `output =" html_document "` - PullRequest
0 голосов
/ 06 сентября 2018

Я знаю, как использовать дополнительные Latex-пакеты для вывода в формате pdf из файлов .Rmd, используя

---
header-includes:
   - \usepackage{mathtools}
---

в заголовке YAML.

Однако, это (конечно) не работает, если указать output: html_document.

---
output: html_document
header-includes:
   - \usepackage{mathtools}
---

Использование дополнительных Latex-пакетов также может представлять интерес для output: html_document, особенно в математических выражениях (MWE ниже)

---
title: "MWE"
output: html_document
header-includes:
   - \usepackage{mathtools}
---

## Use "Defined by" Symbol

$$sin(x) \coloneqq \frac{opposite}{hypothenuse}$$

1 Ответ

0 голосов
/ 06 сентября 2018

MathJax предлагает несколько расширений , а также сторонние расширения. Если желаемый пакет недоступен таким образом, то все становится сложнее.

Простые команды, такие как \coloneqq, могут быть воссозданы с использованием \newcommand. Самый простой способ - добавить их через опцию include-before. Используя ваш MWE с решением от Математики Meta SE, вы получите:

---
title: "MWE"
output:
  html_document: default
include-before:
- '$\newcommand{\coloneqq}{\mathrel{=}}$'
---

## Use "Defined by" Symbol

$$sin(x) \coloneqq \frac{opposite}{hypothenuse}$$

Выход:

Screenshot of MWE exported as HTML

Фон

RMarkdown построен на основе pandoc , который выполняет большинство преобразований формата. Pandoc создает PDF через LaTeX (по умолчанию) и просто включает любые необработанные команды LaTeX, которые приведены в источнике. При просмотре \usepackage{mathtools} пакет не анализируется, а команда просто дословно добавляется к промежуточному LaTeX. Однако при экспорте в HTML не имеет смысла проходить через команды LaTeX, поэтому любая такая команда будет просто исключена из вывода, поэтому любые \usepackage в вашем документе не будут влиять на вывод HTML.

Альтернативное решение

Если вы используете очень сложные LaTeX-пакеты, то вы можете рассмотреть возможность настройки сложного конвейера для его дальнейшего использования: например, можно использовать pandoc filter , чтобы извлечь все уравнения, скомпилировать каждое уравнение как отдельный документ, а затем преобразовать полученный PDF в SVG. Наконец, этот SVG может быть включен в вывод HTML. Это нетривиально и, вероятно, не стоит усилий. Аналогичный подход рекомендуется для включать изображения Ti k Z .

...