在列表中使用语言方言

在列表中使用语言方言

我不明白为什么以下文档无法编译:

\documentclass[letterpaper, 11pt, onecolumn]{article}

\usepackage{lipsum}
\usepackage{listings}
\lstloadlanguages{[11]C++,[ISO]C++}

\begin{document}
\lipsum[1]
\begin{lstlisting}[language=[11]C++]
struct test
{
    int x = 0;
};
\end{lstlisting}
\lipsum[1]
\end{document}

哪里有问题?

答案1

[language=[11]C++]是可选参数,[11]是另一个可选参数。在 listings 包中,当在另一个可选参数中使用可选参数时,需要用括号括住整个值。

\begin{lstlisting}[language={[11]C++}]应该修复它。

如果你查看第 2.3 节中的列表文档,其中的第三点\itemize解释了这一点

→ 'language=[77]Fortran' 在可选参数中不起作用。如果在可选参数中使用了带有可选参数的值,则必须在值周围加上括号。在这种情况下,写入 'language={[77]Fortran}' 以选择 Fortran 77。

相关内容