我试图了解如何使用listings
。
我在序言中说过:
\usepackage {listings}
我在文档中写道:
\begin{lstlisting}
for i:=maxint to 0 do
begin
{ nothing !}
end;
write(’Welcome !’);
\end{lstlisting}
一切都不顺利。我很好奇为什么。
分数维:
\documentclass[a4paper,singleside,11pt]{report}
\usepackage{ia_urb_thesis}
\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\titolo{xxxxxx... \[5mm] }
\candidato{io}
\relatore{Chiar.mo Prof.~A}
\annoaccademico{2011-2012}
\copertinatesi \dedica{Ai miei genitori}
\indice \indicefigure \indicetabelle \iniziatesto
\include{cap_1}
\include{cap_2}
\appendix
\include{app_a}
\include{biblio}
\ringraziamenti Vorrei ringraziare ...
\end{document}
答案1
尝试以下 MWE(这种形式可以无错误地进行编译):
%http://tex.stackexchange.com/questions/85260/package-listings-doesnt-work
\documentclass[a4paper,singleside,11pt]{report}
\usepackage[italian]{babel}
\usepackage[utf8]{inputenc} % utf8
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage {listings}
%configurating listings:
\lstset{language=Pascal, % Language in Listing
basicstyle=\normalfont\ttfamily, % generall style for listing
commentstyle=\ttfamily, % type writer font for comments
stringstyle=\rmfamily, % normal font for strings
showstringspaces=true, % shows blanks in strings
breaklines=true, % allows breaking of lines
frameround=ffff, % see manual
frame=lines, % see manual
backgroundcolor=\color{yellow}, % just to show
}
\begin{document}
Inside my document I wrote:
\begin{lstlisting}
for i:=maxint to 0 do
begin
{ nothing !}
end;
write('Welcome !');
\end{lstlisting}
\end{document}
我更正了评论中提到的欢迎行,以获得可运行的 MWE。我还删除了 MWE 不需要的所有内容,以便为您提供起点。也许您的论文包会导致错误...
更新:
我添加了一个部分(参见宏lstset
)来配置listings
。请查看我在 MWE 中插入的注释。使用texdoc listings
命令行,您可以阅读手册(非常有用 :-)。您可以使用预定义语言(此处为 Pascal),可以定义完整列表使用的字体(此处\ttfamily
)等等。要配置您的列表,请查看手册。
答案2
我找到了一个外部链接ia_urb_thesis
。它是一个 google code 项目。
您的例子中似乎有很多错误或缺失的地方。
\begin{document}
首先,您的例子中没有。
第二,
\titolo{<>}
\candidato{<>}
\relatore{<>}
\annoaccademico{<>}
\copertinatesi
\dedica{<>}
\indice
\indicefigure
\indicetabelle
\iniziatesto
必须追赶\begin{document}
。
第三,\[
将\titolo{xxxxxx... \[5mm] }
后续代码放入数学环境中。您可以将其更改\\[5mm]
为垂直间距,但我怀疑这不会有什么好处。您应该\titolo{xxxxxx...}
按原样编写。
该字符’
会引发错误,但如果您将其替换为,'
即使latin1
输入也可以正常工作。我不知道您使用该编码做什么。但通常,您可以使用utf8
。
这是代码。您可以使用lstlistings
环境其他答案中的修改,也可以使用您自己的更好的修改。
这是代码。
\documentclass[a4paper,singleside,11pt]{report}
\usepackage{ia_urb_thesis}
\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{listings}
\lstset{language=Pascal}
\begin{document}
\titolo{xxxxxx}
\candidato{io}
\relatore{Chiar.mo Prof.~A}
\annoaccademico{2011-2012}
\copertinatesi \dedica{Ai miei genitori}
\indice \indicefigure \indicetabelle \iniziatesto
\begin{lstlisting}
for i:=maxint to 0 do
begin
{ nothing !}
end;
write(`Welcome !');
\end{lstlisting}
\end{document}
这是输出。