如何在 minted 中使用 $ 符号?

如何在 minted 中使用 $ 符号?

我有这样的代码:

\documentclass[11pt]{report}
\usepackage{minted}
\usepackage{listings}

\begin{document}

\begin{listing}[ht]
    \begin{minted}{csharp}
    private static string Abc() =>
                \$"Abc";
    \end{minted}
\caption{Abc}
\label{listing:Abc}
\end{listing}

\end{document}

我有像这样的框架(编译在 overleaf 上):

在此处输入图片描述

仅包含“$”:

在此处输入图片描述

我怎样才能去掉红框?

答案1

首先,您不需要逃避$

这是一个pygments与 C# 词法分析器相关的错误,请参阅https://github.com/pygments/pygments/issues/1573,已pygments在 2021 年 8 月 15 日发布的 2.10.0 版本中修复。

2022 年 6 月 12 日更新:

不幸的是,Overleaf.com 的 texlive 2021 仍然提供pygmentsv2.9.0。你可以在 overleaf 上编译下面的示例来检查:

\documentclass{article}
\usepackage{bashful}
\begin{document}
\bash[stdout]
pygmentize -V
\END
\end{document}

我如何找到上述信息

  • pdf 输出中的红框是pygments解析错误的样式,表明这是一个pygments问题。
  • 然后我在本地和网络上测试了 OP 的铸造代码片段https://pygments.org/demo/#try,并且每个都可以正常工作(非转义$)。我还检查了$"string"有效的 C# 语法. 所有这些都表明这是一个已解决的pygments问题。
  • 所以我直接跳到pygments' 更新日志并搜索“c#/csharp”。结果如下
    • 更新的词法分析器:

      • [...]
      • C#(#1573、#1869)
  • 我检查了#1573发现这和 OP 遇到的问题一模一样。
  • 其余的很简单:检查问题是否已修复以及修复是否已发布,获取包含修复的最小版本(使用中的分区线进行双重检查CHANGE)。

相关内容