我想在列表中突出显示一些关键字。其中一个关键字带有撇号。我搜索并阅读了相当长一段时间,发现几篇帖子表明 textcomp 对引号非常有帮助。
遵循一个最小示例。目标是将“不要”的颜色也设为橙色。有人知道我的错误吗?
最好的,TomBoo
\documentclass[a4paper, 12pt]{article}
\usepackage{listings, xcolor}
\usepackage{textcomp}
\definecolor{darkblue}{rgb}{0.0,0.0,0.6}
\lstdefinelanguage{XML}
{
identifierstyle=\color{darkblue},
}
\lstdefinestyle{my-xml-style}
{
basicstyle=\ttfamily\footnotesize, % Nichtproportionale Schrift, klein für den Quellcode
extendedchars=true, % Alle Zeichen vom Latin1 Zeichensatz anzeigen.
keywords=[1]{attribute, xmlns},
keywordstyle=[1]\color{red},
keywords=[2]{Tove, Jani, Reminder},
keywordstyle=[2]\color{cyan},
keywords=[3]{Don\'t, forget, me, this, weekend, Don\textquotesingle t},
keywordstyle=[3]\color{orange},
morestring=[b]",
stringstyle=\color{violet},
frame=tblr
}
\lstdefinelanguage{myxml}{language=XML,style=my-xml-style}
\begin{document}
\begin{lstlisting}[language=myxml]
<note attribute="main" xmlns="http://www.w3.org/1999/xhtml">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
\end{lstlisting}
\end{document}
答案1
问题是该字符'
不能被识别为字母或数字,因此不能用作关键字。
如果你想这样做,你可以告诉listings
你想要'
表现得像一封信,添加
alsoletter={'}
符合你的风格。
以下 MWE
\documentclass[a4paper, 12pt]{article}
\usepackage{listings, xcolor}
\usepackage{textcomp}
\definecolor{darkblue}{rgb}{0.0,0.0,0.6}
\lstdefinelanguage{XML}
{
identifierstyle=\color{darkblue},
}
\lstdefinestyle{my-xml-style}
{
basicstyle=\ttfamily\footnotesize, % Nichtproportionale Schrift, klein für den Quellcode
extendedchars=true, % Alle Zeichen vom Latin1 Zeichensatz anzeigen.
keywords=[1]{attribute, xmlns},
keywordstyle=[1]\color{red},
keywords=[2]{Tove, Jani, Reminder},
keywordstyle=[2]\color{cyan},
keywords=[3]{Don't, forget, me, this, weekend},
keywordstyle=[3]\color{orange},
alsoletter={'},
morestring=[b]",
stringstyle=\color{violet},
frame=tblr
}
\lstdefinelanguage{myxml}{language=XML,style=my-xml-style}
\begin{document}
\begin{lstlisting}[language=myxml]
<note attribute="main" xmlns="http://www.w3.org/1999/xhtml">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
\end{lstlisting}
\end{document}
给出了期望的结果: