4

在 R 降价方程中,我需要制作一个小写卷曲 k,类似于由\ell. 有一些帖子处理这个问题,但非常基于 LaTex。对于不熟悉 LaTex 细节的 R markdown 用户,我找不到任何关于此问题的帖子。我正在使用tinytex。

4

2 回答 2

3

有很多方法可以实现这一目标。

仅限 PDF/LaTeX

如果您只需要 PDF 输出,您可以使用在数学模式下支持小写书法字母的 LaTeX 包,例如dutchcal

由于这不是 tex.stackexchange 并且您提到您对 Tex 不太熟悉,因此我不会过多介绍。这是一个 PDF rmarkdown 项目的简单示例:

  1. 设置文件preamble.tex

    \DeclareMathAlphabet{\mathdutchcal}{U}{dutchcal}{m}{n}

    这可确保在数学模式中使用荷兰语字母,使用\mathdutchcal{<letters>}.

  2. 通过相应地设置 .rmd 文件的 yaml 标头,确保preamble.tex的内容包含在生成 PDF 的 tex 文件中:

    ---
    title: "Mathdutchcal"
    output: 
      pdf_document:
        include:
          in_header: preamble.tex
    ---
    
  3. 在数学模式下输入小写卷曲字母:

    $$\mathdutchcal{hijkl}$$

  4. 编织成PDF。结果:

正如 Ben Bolker 所建议的那样,如果您需要经常键入某些大写字母,那么在preamble.tex中定义宏很方便,例如使用

\newcommand{\curlyk}{\ensuremath\mathdutchcal{k}}

你得到一个卷曲的 k 使用\curlyk.


PDF/LaTeX + HTML/MathJax

正如 Ben Bolker 所提到的,上述内容不适用于 HTML 输出,因为 MathJax 不支持这些命令/库。MathJax 中的小写书法字母可以用\mathscr. 如果您使用xelatex编译并定义合适的字体,这也应该适用于 PDF 输出,例如preamble.tex中的STIXwoMath

  1. 设置preamble.tex

    \setmathfont{STIXTwoMath-Regular.otf}

  2. 设置 yaml 标头:

    ---
    title: "PDF/LaTeX + HTML/MathJax"
    output: 
      pdf_document:
        latex_engine: xelatex
        include:
          in_header: preamble.tex
    ---
    
  3. 在数学模式下输入小写卷曲字母:

    $$\mathscr{hijkl}$$

  4. 编织成 PDFHTML。结果(PDF 顶部,HTML 底部):



评论。如果您使用的是 tinytex,可能不会安装 PDF 输出所需的LaTeX 包(dutchcalstix2-otf )。当您编织到 PDF 时,tinytex 应该安装它们。如果失败,您可以使用 TeX Live Manager 的便利功能手动安装包,例如tinytex::tlmgr_install("dutchcal").

于 2021-08-12T14:27:35.623 回答
1

如果你很绝望,你也许可以为此使用 Unicode 符号。在https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols中,“MATHEMATICAL SCRIPT SMALL K”的代码是 1D4C0。您可以从 Wikipedia 上的表格中剪切并粘贴它或使用撰写键(在我的 Ubuntu 系统上 Ctrl-Shift-u + 1D4C0 有效):它看起来像这样 - 。

我不知道这是否会在您的方程式中看起来不错或在任何地方都能正确渲染,但总比没有好。(如果这是一个选项,PDF + LaTeX 肯定会更好看。)

于 2021-08-12T15:04:44.270 回答