如何在不使用 XeTeX 或 LuaTeX 的情况下在 minted 中制作包含希腊字母的代币?

如何在不使用 XeTeX 或 LuaTeX 的情况下在 minted 中制作包含希腊字母的代币?

我想使用混合拉丁/希腊符号(变量名),helloδ例如minted. 保持兼容论文集我不能使用特克斯或者LuaTeX

在外面minted,与textgreek是我最喜欢的获得希腊字符的方法。有没有办法textgreek字符变成minted不使用escapeinside中断 token 词法分析过程的机制,如何实现框架?下面是我所用的最小示例想:

\documentclass{article}
\usepackage{minted} 
\usepackage{textgreek}
\begin{document}
\begin{minted}[escapeinside=||]{mask}
hello|\textdelta|
\end{minted}
\end{document}

在此处输入图片描述

您可以看到minted将变量名分解为拉丁文部分和希腊文部分。生成上述输出的 fancyvrb 行是

\PYG{n+nt}{hello}\PYG{esc}{\textdelta}

简单地改变 的外观\PYG{esc}以匹配其余的 token 并不是一个好的解决方案,因为 tokenhelloδ可能出现在不同的设置中,并且需要在整个文本中以不同的方式出现。我更想知道如何生成

\PYG{n+nt}{hello\textdelta}

直接。当然,也欢迎任何其他解决方案。

答案1

这对我来说可以:

\documentclass{article}
\usepackage{minted}
\usepackage{textgreek}

\begin{document}
δ
\begin{minted}[escapeinside=||]{mask}
helloδ
\end{minted}
\end{document}

在此处输入图片描述

答案2

问题既不是minted也不是pygments,而是 TeXShop 安装默认值。解决方案是将 .tex 文件的第一行(或前 20 行中的任意一行)设置为

% !TEX encoding = UTF-8 Unicode

强制编辑器以 UTF-8 格式处理文件。详细信息位于 TeXShop 菜单项“帮助 - 文件编码和 TeXShop”中。

相关内容