【发布时间】:2021-10-04 13:36:54
【问题描述】:
在 R 降价方程中,我需要制作一个小写卷曲 k,类似于 \ell 生成的小写卷曲“l”。有一些帖子处理这个问题,但非常基于 LaTex。对于不熟悉 LaTex 细节的 R markdown 用户,我找不到任何关于此问题的帖子。我正在使用 tinytex。
【问题讨论】:
标签: r r-markdown mathjax tinytex
在 R 降价方程中,我需要制作一个小写卷曲 k,类似于 \ell 生成的小写卷曲“l”。有一些帖子处理这个问题,但非常基于 LaTex。对于不熟悉 LaTex 细节的 R markdown 用户,我找不到任何关于此问题的帖子。我正在使用 tinytex。
【问题讨论】:
标签: r r-markdown mathjax 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
---
在数学模式下输入小写大写字母:
$$\mathdutchcal{hijkl}$$
编织成 PDF。结果:
正如 Ben Bolker 所建议的,如果您需要经常键入某些大写字母,在 preamble.tex 中定义宏会很方便,例如与
\newcommand{\curlyk}{\ensuremath\mathdutchcal{k}}
您可以使用 \curlyk 获得一个花键 k。
PDF/LaTeX + HTML/MathJax
正如 Ben Bolker 所说,上述内容不适用于 HTML 输出,因为 MathJax 不支持这些命令/库。 MathJax 中的小写书法字母可以用\mathscr 设置。如果您使用 xelatex 编译并定义合适的字体,这也适用于 PDF 输出,例如preamble.tex 中的 STIXTwoMath。
设置preamble.tex:
\setmathfont{STIXTwoMath-Regular.otf}
设置yaml标头:
---
title: "PDF/LaTeX + HTML/MathJax"
output:
pdf_document:
latex_engine: xelatex
include:
in_header: preamble.tex
---
在数学模式下输入小写大写字母:
$$\mathscr{hijkl}$$
编织成 PDF 或 HTML。结果(PDF 顶部,HTML 底部):
备注。 如果您没有安装 PDF 输出所需的 LaTeX 软件包(dutchcal 和 stix2-otf)重新使用 tinytex。当您编织到 PDF 时,tinytex 应该安装它们。如果失败,您可以使用 TeX Live Manager 的便利功能手动安装包,例如tinytex::tlmgr_install("dutchcal").
【讨论】:
如果您不顾一切,您也许可以为此使用 Unicode 符号。从https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols,“数学脚本小K”的代码是1D4C0。您可以从 Wikipedia 上的表格中剪切并粘贴它或使用撰写键(在我的 Ubuntu 系统上 Ctrl-Shift-u + 1D4C0 有效):它看起来像这样 - ?。
我不知道这是否会在您的方程式中看起来不错或在任何地方都能正确渲染,但总比没有好。 (如果可以的话,PDF + LaTeX 肯定会更好看。)
【讨论】: