使用 Verdana 作为 pandoc+beamer 的数学字体

使用 Verdana 作为 pandoc+beamer 的数学字体

我尝试在用 Markdown 编写并使用 Pandoc 渲染的 Beamer 幻灯片中使用 Verdana 作为数学字体,使用 XeLaTeX 作为 PDF 引擎。由于直接使用 Pandoc 的 mathfont 选项指定 Verdana 似乎没有任何效果,我尝试求助于 mathastext LaTeX 包。虽然后者处理字母,但数字不使用 Verdana 渲染。根据这个帖子,需要在 fontspec 之前加载 mathastext 才能正确使用所需字体呈现数字;但是,我不确定如何使用 pandoc 做到这一点。以下示例引发错误Option clash for package fontspec,这表明 fontspec 是在 header-includes 选项中的行之前加载的:

---
mainfont: Verdana
header-includes: |
    \usepackage{mathastext}
    \usepackage[no-math]{fontspec}
---

## Test

This is an equation: $E = m c^2$

对于如何解决上述情况以便正确地用 Verdana 呈现所有内容,您有什么想法吗?

答案1

没有平均能量损失,我不确定您到底在寻找什么,但这里有一个beamer幻灯片示例,其中数学字体设置为 Verdana。您想要unicode-math这个。

\documentclass[professionalfonts]{beamer}
\usepackage{mathtools}
\usepackage{unicode-math}

\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont{Verdana}[Scale=1.0]
\setmathrm{Verdana}[Ligatures={Common,TeX}] % Needed to fix the font scaling.
\setsansfont{Verdana}
\setmathfont{Fira Math} % The most-consonant math font as of 2021
\setmathfont{Verdana}[range=up]
\setmathfont{Verdana Bold}[range=bfup]
\setmathfont{Verdana Italic}[range=it]
\setmathfont{Verdana Bold Italic}[range=bfit]

\newcommand\upi{\symup{i}}
\newcommand\upe{\symup{e}}

\begin{document}
\begin{frame}
\frametitle{The Euler Identities}
\begin{align*}
  \upe^{\upi x} &= \cos{x} + \upi \sin{x} \\
  \upe^{\upi \uppi} + 1 &= 0
\end{align*}
\end{frame}
\end{document}

Verdana 示例

答案2

使用方法如下戴维斯洛使用 pandoc 的解决方案(已在 MacOS 10.15.7 上使用 pandoc 2.13 和 TeXLive 2021 进行验证)。显然,需要利用 pandoc 的 raw_attribute 扩展来防止 LaTeX 的部分内容被错误解析:

---
header-includes: |
    ```{=latex}
    \usepackage{mathtools}
    \usepackage{unicode-math}
    \defaultfontfeatures{Scale=MatchLowercase}
    \setmainfont{Verdana}[Scale=1.0]
    \setmathrm{Verdana}[Ligatures={Common,TeX}]
    \setsansfont{Verdana}
    \setmathfont{Fira Math}
    \setmathfont{Verdana}[range=up]
    \setmathfont{Verdana Bold}[range=bfup]
    \setmathfont{Verdana Italic}[range=it]
    \setmathfont{Verdana Bold Italic}[range=bfit]
    ```
classoption: professionalfonts
---

## Test

This is an equation: $E = m c^2$

相关内容