![如何在 \lstline 选项中指定语言方言?](https://linux22.com/image/396763/%E5%A6%82%E4%BD%95%E5%9C%A8%20%5Clstline%20%E9%80%89%E9%A1%B9%E4%B8%AD%E6%8C%87%E5%AE%9A%E8%AF%AD%E8%A8%80%E6%96%B9%E8%A8%80%EF%BC%9F.png)
首先,这里有一些运行良好的代码:
\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}