![如何在不使用 XeTeX 或 LuaTeX 的情况下在 minted 中制作包含希腊字母的代币?](https://linux22.com/image/391252/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E4%BD%BF%E7%94%A8%20XeTeX%20%E6%88%96%20LuaTeX%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%9C%A8%20minted%20%E4%B8%AD%E5%88%B6%E4%BD%9C%E5%8C%85%E5%90%AB%E5%B8%8C%E8%85%8A%E5%AD%97%E6%AF%8D%E7%9A%84%E4%BB%A3%E5%B8%81%EF%BC%9F.png)
我想使用混合拉丁/希腊符号(变量名),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
答案2
问题既不是minted
也不是pygments
,而是 TeXShop 安装默认值。解决方案是将 .tex 文件的第一行(或前 20 行中的任意一行)设置为
% !TEX encoding = UTF-8 Unicode
强制编辑器以 UTF-8 格式处理文件。详细信息位于 TeXShop 菜单项“帮助 - 文件编码和 TeXShop”中。