minted:为什么字段变量是有颜色的以及如何为 Java 代码更改它?

minted:为什么字段变量是有颜色的以及如何为 Java 代码更改它?

作为一个最小的例子,我想强调以下代码:

(new Thread(() -> {
    System.out.println("Hello");
})).start(); 

鉴于 MWE:

\documentclass{article}
\usepackage{minted}
\usemintedstyle{borland}

\begin{document}

\begin{minted}{Java}
(new Thread(() -> {
    System.out.println("Hello");
})).start();
\end{minted}

\end{document}

我得到了这样的信息:

由于某些原因,字段变量/函数以红色突出显示。我想删除此“突出显示规则”或无论它被称为什么。

因此我一直在搜索铸造的文档(铸造文档),但找不到任何选项来更改字段变量的颜色
我也一直在搜索 pygment 文档(pygment 文档),但还不能确定哪些标记标识符属于哪条特定规则。

如果我能坚持使用 minted,我会很高兴,因为它很简单而且看起来很聪明,但是,如果可能的话,我更喜欢使用可以传递给环境的选项来回答\begin..

答案1

感谢 samcarter,我发现添加前面的行\expandafter\def\csname PYGborland@tok@na\endcsname{\def\PYGborland@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}已经\begin{document}达到了我想要的效果(虽然不太清楚为什么)

\documentclass{article}
\usepackage{minted}
\usemintedstyle{borland}

\expandafter\def\csname PYGborland@tok@na\endcsname{\def\PYGborland@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}

\begin{document}

\begin{minted}{Java}
(new Thread(() -> {
    System.out.println("Hello");
})).start();
\end{minted}

\end{document}

输出结果如预期的那样:

相关内容