sam*_*erk 6 mathjax knitr r-markdown
我知道如何使用额外的 Latex 包从 .Rmd 文件输出 pdf 格式
---
header-includes:
- \usepackage{mathtools}
---
Run Code Online (Sandbox Code Playgroud)
在 YAML 标头中。
但是,如果指定output: html_document.
---
output: html_document
header-includes:
- \usepackage{mathtools}
---
Run Code Online (Sandbox Code Playgroud)
使用额外的 Latex-Packages 也可能对 感兴趣output: html_document- 特别是在数学表达式中(下面的 MWE)
---
title: "MWE"
output: html_document
header-includes:
- \usepackage{mathtools}
---
## Use "Defined by" Symbol
$$sin(x) \coloneqq \frac{opposite}{hypothenuse}$$
Run Code Online (Sandbox Code Playgroud)
MathJax 提供了许多扩展,也有第三方扩展。如果您想要的包以这种方式不可用,那么事情就会变得困难。
\coloneqq可以使用 重新创建简单的命令,例如\newcommand。最简单的方法是通过include-before选项添加这些。将 MWE 与Mathematics Meta SE的解决方案结合使用,您将获得:
---
title: "MWE"
output:
html_document: default
include-before:
- '$\newcommand{\coloneqq}{\mathrel{=}}$'
---
## Use "Defined by" Symbol
$$sin(x) \coloneqq \frac{opposite}{hypothenuse}$$
Run Code Online (Sandbox Code Playgroud)
输出:
RMarkdown 是围绕pandoc构建的,它执行大部分格式转换。Pandoc 通过 LaTeX(默认情况下)创建 PDF,并且将简单地包含源中给出的任何原始 LaTeX 命令。当看到 时\usepackage{mathtools},包没有被解析,但命令只是逐字添加到中间 LaTeX 中。但是,当导出到 HTML 时,传递 LaTeX 命令是没有意义的,因此任何此类命令都将简单地从输出中省略,因此\usepackage文档中的任何命令都不会影响 HTML 输出。
如果您使用非常复杂的 LaTeX 包,那么您可以考虑设置一个复杂的管道以继续使用它:例如,可以使用pandoc 过滤器来提取所有方程,将每个方程编译为一个单独的文档,然后转换结果PDF 转 SVG。最后,该 SVG 可以包含在 HTML 输出中。这很重要,可能不值得付出努力。建议使用类似的方法来包含 Ti k Z 图片。
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |