我知道如何使用
从.Rmd文件的pdf格式输出中使用附加的Latex软件包。---
header-includes:
- \usepackage{mathtools}
---
在YAML标头中。
但是,如果有人指定output: html_document
,这当然不起作用。
---
output: html_document
header-includes:
- \usepackage{mathtools}
---
output: html_document
也可能需要使用附加的Latex-Packages,尤其是在数学表达式中(见下文MWE)
---
title: "MWE"
output: html_document
header-includes:
- \usepackage{mathtools}
---
## Use "Defined by" Symbol
$$sin(x) \coloneqq \frac{opposite}{hypothenuse}$$
答案 0 :(得分:2)
MathJax提供了许多extensions,并且还有第三方扩展。如果无法通过这种方式获得所需的软件包,那么事情会变得很困难。
可以使用\coloneqq
重新创建简单的命令,例如\newcommand
。最简单的方法是通过include-before
选项添加它们。将您的MWE与数学Meta SE中的solution结合使用,您将获得:
---
title: "MWE"
output:
html_document: default
include-before:
- '$\newcommand{\coloneqq}{\mathrel{=}}$'
---
## Use "Defined by" Symbol
$$sin(x) \coloneqq \frac{opposite}{hypothenuse}$$
输出:
RMarkdown是围绕pandoc构建的,它执行大多数格式转换。 Pandoc通过LaTeX创建PDF(默认情况下),并将仅包含源中提供的所有原始LaTeX命令。看到\usepackage{mathtools}
时,不分析该软件包,但仅将命令逐字添加到中间LaTeX中。但是,在导出为HTML时,通过LaTeX命令没有任何意义,因此任何此类命令都将从输出中省略,因此文档中的任何\usepackage
都不会影响HTML输出。 / p>
如果您使用的是非常复杂的LaTeX软件包,则可以考虑设置一个复杂的管道以继续使用它:例如,可以使用pandoc filter提取所有方程式,并将每个方程式编译为单独的文档,然后将生成的PDF转换为SVG。最后,该SVG然后可以包含在HTML输出中。这是不平凡的,可能不值得付出。建议对include TikZ pictures使用类似的方法。