ben*_*ben 5 r mathjax r-markdown tinytex
在 R markdown 方程中,我需要创建一个卷曲小写 k,类似于 生成的卷曲小写“l” \ell。有一些帖子涉及这个问题,但都是基于 LaTex 的。我找不到任何关于这个问题的帖子,为不熟悉 LaTex 细节的 R markdown 用户提供解决方案。我正在使用tinytex。
有多种方法可以实现这一目标。
仅限 PDF/LaTeX
如果您只需要 PDF 输出,您可以使用在数学模式下支持小写书法字母的 LaTeX 包,例如dutchcal。
由于这不是 tex.stackexchange 并且您提到您对 Tex 不太熟悉,因此我不会详细介绍。这是 PDF rmarkdown 项目的一个简单示例:
设置文件preamble.tex:
\DeclareMathAlphabet{\mathdutchcal}{U}{dutchcal}{m}{n}
这可确保在数学模式下使用荷兰语字母\mathdutchcal{<letters>}。
通过相应设置 .rmd 文件的 yaml 标头,确保preamble.tex的内容包含在生成 PDF 的 tex 文件中:
---
title: "Mathdutchcal"
output:
pdf_document:
include:
in_header: preamble.tex
---
Run Code Online (Sandbox Code Playgroud)
在数学模式下输入小写大写字母:
$$\mathdutchcal{hijkl}$$
编织成PDF。结果:
正如 Ben Bolker 所建议的,如果您需要频繁键入某些大写字母,那么在preamble.tex中定义宏会很方便,例如
\newcommand{\curlyk}{\ensuremath\mathdutchcal{k}}
Run Code Online (Sandbox Code Playgroud)
你可以使用 得到一个卷曲的 k \curlyk。
PDF/LaTeX + HTML/MathJax
正如 Ben Bolker 所提到的,以上内容不适用于 HTML 输出,因为 MathJax 不支持这些命令/库。MathJax 中的小写书法字母可以通过 来设置\mathscr。如果您使用xelatex进行编译并定义合适的字体(例如preamble.tex中的STIXTwoMath) ,这也适用于 PDF 输出。
设置preamble.tex:
\setmathfont{STIXTwoMath-Regular.otf}
设置 yaml 标头:
---
title: "PDF/LaTeX + HTML/MathJax"
output:
pdf_document:
latex_engine: xelatex
include:
in_header: preamble.tex
---
Run Code Online (Sandbox Code Playgroud)
在数学模式下输入小写大写字母:
$$\mathscr{hijkl}$$
编织为 PDF或HTML。结果(PDF 顶部,HTML 底部):
评论。如果您使用的是tinytex,则可能未安装 PDF 输出所需的LaTeX 软件包(dutchcal和stix2-otf )。当你编织成 PDF 时,tinytex 应该安装它们。如果失败,您可以使用 TeX Live Manager 的便捷功能(例如 )手动安装软件包tinytex::tlmgr_install("dutchcal")。
| 归档时间: |
|
| 查看次数: |
1425 次 |
| 最近记录: |