编辑

编辑

为了突出显示代码块中的单个单词,我使用

\begin{minted}[escapeinside=@@]{scheme}
'(@\colorbox{yellow}{cat}@ dog bat)))
\end{minted}

要得到

在此处输入图片描述

但当我把一个放在'前面时cat

\begin{minted}[escapeinside=@@]{scheme}
'(@\colorbox{yellow}{'cat}@ dog bat)))
\end{minted}

颜色框突出显示中断:

在此处输入图片描述

如何在代码块中'使用突出显示时使用字符?colorboxminted

编辑

我应该补充一点,我不能使用\textsinglequote如下方法:

\begin{minted}[escapeinside=@@]{scheme}
'(@\colorbox{yellow}{\textsinglequote cat}@ dog bat)))
\end{minted}

'因为在渲染时它会在和之间插入一个空格cat

在此处输入图片描述

这使得 Scheme 程序的语法无效。

答案1

解决方案是使用\textquotesingle{}(注意一对空的花括号):

\begin{minted}[escapeinside=@@]{scheme}
'(@\colorbox{yellow}{\textquotesingle{}cat}@ dog bat)))
\end{minted}

得到想要的东西:

在此处输入图片描述

虽然我还是不明白为什么仅仅使用'不起作用。

相关内容