Как получить (математику LaTeX) набранную матрицу с границами в выводе HTML из *.Rmd?

Следующий rmarkdown отлично работает при компиляции в PDF (через LaTeX), но не при компиляции в HTML (через Markdown).

PDF (через LaTeX)

---
title: "test"
author: "Maximilian Held"
output: pdf_document
documentclass: memoir
---

(@matrix-test2) $$
\bordermatrix{
  ~       & Petra & Ingrid \cr
  Petra   & 1     & 0 \cr
  Ingrid  & 0     & 1 \cr
}
$$

tex


HTML (через Markdown)

---
title: "test"
author: "Maximilian Held"
output: html_document
documentclass: memoir
---

(@matrix-test2) $$
\bordermatrix{
  ~       & Petra & Ingrid \cr
  Petra   & 1     & 0 \cr
  Ingrid  & 0     & 1 \cr
}
$$

урожаи

html

Что с этим делать и на чьей стороне это (Pandoc? Markdown? MathML?)


person maxheld    schedule 09.06.2015    source источник
comment
Я также добавил функцию R для программного создания таких матриц из объектов R, если кому-то интересно: stackoverflow.com/a/30740672 /3403196   -  person maxheld    schedule 09.06.2015
comment
katexR может обрабатывать functions , но я не уверен, что он может обрабатывать матричную среду.   -  person user227710    schedule 09.06.2015
comment
К вашему сведению, MathJax в настоящее время не поддерживает \bordermatrix, потому что он (пока) не поддерживает columspan/rowspan из спецификации MathML (это наш внутренний формат). См. также github.com/mathjax/MathJax/issues/1127.   -  person Peter Krautzberger    schedule 22.06.2015


Ответы (3)


knitr, инструмент, обычно используемый для преобразования RMarkdown в HTML/PDF (из LaTeX)/DOCX, использует Пандок. Pandoc — хороший инструмент для преобразования Markdown в HTML и LaTeX, который позволяет использовать математические среды LaTeX внутри Markdown, например.

$a x^2 + b x + c = 0$

or

$$a x^2 + b x + c = 0$$

or

\begin{equation}
a x^2 + b x + c = 0
\end{equation}

должным образом конвертируются Pandoc. Pandoc также поддерживает amsmath, очень популярный пакет LaTeX для математики. К сожалению, Pandoc не поддерживает все команды/среды (La)TeX, как вы обнаружили.

Что я всегда делаю, работая с Pandoc, так это стараюсь не усложнять. В случае, который вы представляете, я бы использовал обычные таблицы вместо матрицы.

person Raniere Silva    schedule 09.06.2015

У Pandoc есть несколько различных вариантов математического рендеринга при экспорте в HTML.

Вы можете выбирать между использованием различных библиотек JavaScript, таких как jsMath, MathJax и KaTeX, но я думаю, что ни один из них не поддерживает команду \bordermatrix. Существует также MathML, который поддерживается немногими браузерами. Наконец, если вы действительно хотите, чтобы расширенные математические команды TeX, подобные этой, работали, Pandoc может работать с GladTeX или mimeTeX для рендеринга математических вычислений в изображения, которые будут встроены в HTML.

person mb21    schedule 10.06.2015

Я считаю такое поведение нормальным, потому что \bordermatrix — это команда LaTeX, и она хорошо работает при компиляции PDF (который использует LaTeX), но я не думаю, что прямую разметку LaTeX можно преобразовать в HTML даже в обычном документе без конкретной спецификации класса ( Вы используете мемуары на самом деле).

---
title: "prova"
author: "SabDeM"
date: "09 giugno 2015"
output: html_document
---

\begin{equation}
x^2
\end{equation}

Этот пример все еще не работает. Поэтому я думаю, что очень вероятно, что вам нужно конвертировать по-другому. Я советую вам сохранить ваши данные в объекте R, а затем использовать функцию kable и изменить формат на html или latex, когда захотите.

Редактировать

Я увидел, что \bordermatrix - это даже не команда LaTeX, а обычная команда TeX. Это может ухудшить или улучшить ситуацию, это зависит от внутренней структуры разбора вязания, о которой я понятия не имею.

person SabDeM    schedule 09.06.2015