minted:使用自定义字体系列时出错

minted:使用自定义字体系列时出错

我想使用 minted 以自定义字体(例如 Monaco)显示 Latex 中的代码。这是我的代码。

\documentclass{article}
\usepackage{fontspec}
\usepackage{minted}
\newfontfamily\monaco{Monaco}
\setminted[matlab]{fontfamily=\monaco}
\begin{document}
  \begin{minted}{matlab}
    clear all;
    syms k t f har;
    left = -10; right = 10; down = -0.5; up = 1.5;
    f = sinc(k/2)/2 * exp(1j*k*pi*t/2)
  \end{minted}
\end{document}

但是,当我在 vscode 中构建代码时,解释器卡住了,占用了 90% 的 CPU。同时,它给了我以下错误。

缺少插入的 \endcsname。

如果不使用\newfontfamily命令,则只能使用预定义的字体系列。如何在 minted 中使用自定义字体?

答案1

fontfamily 不应该是调用字体的命令,而应该是 nfss-family 名称。您可以使用 NFSSFamily 键声明这样的 familyname(我使用了 Arial,因为我没有您的字体):

\documentclass{article}
\usepackage{fontspec}
\usepackage{minted}
\newfontfamily\monaco{Arial}[NFSSFamily=ArialFamily]
\setminted[matlab]{fontfamily=ArialFamily}
\begin{document}
  \begin{minted}{matlab}
    clear all;
    syms k t f har;
    left = -10; right = 10; down = -0.5; up = 1.5;
    f = sinc(k/2)/2 * exp(1j*k*pi*t/2)
  \end{minted}
\end{document}

相关内容