我正在尝试使用 Minted 在 LaTeX 中对 Cucumber 代码进行语法高亮显示。我想使用颜色来标记escapeinside
Cucumber 参数,因为它们依赖于定义,并且如果没有其他信息,解析器无法自动高亮显示。但是,如果 escapeinside 序列包含数字,则 escapeinside 分隔符将被标记为语法错误,因此此 MWE:
\documentclass[10pt]{article}
\usepackage[cache=false]{minted}
\begin{document}
\begin{minted}[gobble=0,escapeinside=||]{cucumber}
Feature: Invented example
Scenario: Check the results
Given |1|
\end{minted}
\end{document}
产生以下输出(未改变):
根本不应该显示的管道字符被显示出来,并用红框标记,表示语法错误。这是怎么回事?我该如何修复?
答案1
我可以通过在宏中设置数字并在 escapeinside 中引用宏来解决此问题:
\documentclass[10pt]{article}
\usepackage[cache=false]{minted}
\begin{document}
\newcommand{\one}{1}
\begin{minted[gobble=0,escapeinside=||]{cucumber}
Feature: Invented example
Scenario: Check the results
Given |\one|
\end{minted}
\end{document}