首先,这里有一些运行良好的代码:
\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\begin{document}
\lstinline[language=algol,keywordstyle=\color{blue}]{int a}
\end{document}
这使用了algol 68
方言,效果很好。现在我要在需要方言的代码中替换int
为,以便正确显示语法高亮。integer
algol 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}