如何在 \lstline 选项中指定语言方言?

如何在 \lstline 选项中指定语言方言?

首先,这里有一些运行良好的代码:

\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\begin{document}
\lstinline[language=algol,keywordstyle=\color{blue}]{int a}
\end{document}

这使用了algol 68方言,效果很好。现在我要在需要方言的代码中替换int为,以便正确显示语法高亮。integeralgol 60

\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\begin{document}
\lstinline[language=[60]algol,keywordstyle=\color{blue}]{integer a}
\end{document}

[...]显然,由于within ,这不起作用[...]。我收到此错误:

Runaway argument?
{integer a} \end {document}

如何在\lstline选项中指定语言方言?

答案1

TeX 将]in[60]algol视为可选参数的结束括号,因此,换句话说,它理解为可选参数是language=[60,因此产生了混乱。将[60]algol里面的一对{...隐藏起来}

\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\begin{document}
\lstinline[language={[60]algol},keywordstyle=\color{blue}]{integer a}
\end{document}

相关内容