使用该listings
包,可以为任意一组分隔符及其所包含的字符定义格式。但是,当使用双分隔符时,指定的格式不适用于结束分隔符。
考虑以下 MWE。
\documentclass{article}
\usepackage{listings}
\usepackage{upquote}
\usepackage{xcolor}
\lstset{
moredelim = [s][\color{blue}]{`}{'},
}
\begin{document}
\begin{lstlisting}
macros u i
`u`i''
\end{lstlisting}
\end{document}
请注意,最后一个结束分隔符'
未格式化为蓝色。有办法解决这个问题吗?
笔记:我使用该upquote
包来获得所需的逐字撇号外观,但如果不使用该包,问题仍然存在。
答案1
看起来像是嵌套问题。从手动的(第 24 页),您可以添加星号以便找到内部分隔符:
\documentclass{article}
\usepackage{listings}
\usepackage{upquote}
\usepackage{xcolor}
\lstset{
moredelim = *[s][\color{blue}]{`}{'},
}
\begin{document}
\begin{lstlisting}
macros u i
`u`i''
\end{lstlisting}
\end{document}