我正在使用 TexMaker,但无法编译我的文档,因为 \usepackage{listings} 出现问题“未定义控制序列”。我该如何修复它?
\documentclass[10pt]{article}
\usepackage{geometry}
\topmargin=15pt
\oddsidemargin=60pt
\textwidth=340pt
\textheight=545pt
\footskip=30pt
\usepackage{listings}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyfoot{}
\rfoot{\thepage}
\usepackage[utf8]{inputenc}
\usepackage[spanish,activeacute]{babel}
\usepackage{marvosym}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\begin{document}
\begin{lstlisting}{Language={C++},caption= "Código en C++para resolver polinomios",frame=single,numbers=left]
const int N = 10;
double resolver(double[] polinomio, double x) {
double resultado = polinomio[0];
double potencia = x;
for (int i=1; i<N; i++) {
resultado+=polinomio[i]*potencia;
potencia = potencia*x;
}
return resultado;
}
\end{lstlisting}
\end{document}
答案1
存在几个问题:
- 您的文本中存在一些源代码字符问题
\usepackage
。 - 标题文字由
"
- 您使用 a
]
而不是 a}
来关闭 的参数列表lstlisting
。
以下工作:
\documentclass[10pt]{article}
\usepackage{geometry}
\topmargin=15pt
\oddsidemargin=60pt
\textwidth=340pt
\textheight=545pt
\footskip=30pt
\usepackage{listings}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyfoot{}
\rfoot{\thepage}
\usepackage[utf8]{inputenc}
\usepackage[spanish,activeacute]{babel}
\usepackage{marvosym}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\begin{document}
\begin{lstlisting}{Language={C++},caption={Código en C++para resolver polinomios},frame=single,numbers=left}
const int N = 10;
double resolver(double[] polinomio, double x) {
double resultado = polinomio[0];
double potencia = x;
for (int i=1; i<N; i++) {
resultado+=polinomio[i]*potencia;
potencia = potencia*x;
}
return resultado;
}
\end{lstlisting}
\end{document}