gpt4 book ai didi

r-markdown - 对RMarkdown中的数学表达式使用其他Latex包 `output = "html_document“`

转载 作者:行者123 更新时间:2023-12-05 00:47:12 26 4
gpt4 key购买 nike

我知道如何使用.Rmd文件的pdf格式输出使用其他Latex软件包

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

在YAML header 中。

但是,如果指定了 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}$$

最佳答案

MathJax提供了许多extensions,并且还有第三方扩展。如果无法以这种方式获得所需的软件包,则事情会变得很困难。

可以使用\coloneqq重新创建诸如\newcommand之类的简单命令。最简单的方法是通过include-before选项添加它们。将您的MWE与Mathematics Meta SE中的solution结合使用,您将获得:

---
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通过LaTeX创建PDF(默认情况下),并将仅包含源中提供的所有原始LaTeX命令。当看到 \usepackage{mathtools}时,不对包进行解析,而是将命令逐字添加到中间LaTeX中。但是,在导出为HTML时,通过LaTeX命令没有任何意义,因此任何此类命令都将从输出中省略,因此文档中的任何 \usepackage都不会影响HTML输出。

替代解决方案

如果您使用的是非常复杂的LaTeX软件包,则可以考虑设置一个复杂的管道以继续使用它:例如,可以使用 pandoc filter提取所有方程式,将每个方程式编译为单独的文档,然后转换生成的PDF到SVG。最后,该SVG然后可以包含在HTML输出中。这是不平凡的,可能不值得付出努力。建议对 include TikZ pictures使用类似的方法。

关于r-markdown - 对RMarkdown中的数学表达式使用其他Latex包 `output = "html_document“`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52201541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com