【发布时间】:2010-10-19 00:35:31
【问题描述】:
latex 源代码列表应该如何产生类似于已知书籍中的输出,例如 Spring 框架的输出?我已经尝试过使用乳胶列表包,但无法制作出看起来像下面这样漂亮的东西。因此,我主要对生成以下示例的格式说明感兴趣(来自 Manning 的 sample chapter,Spring in Action):
编辑 尤其是在 Tormod Fjeldskår 的帮助下,这里是完整的 sn-p 以产生所需的外观:
\usepackage{listings}
\usepackage{courier}
\lstset{
basicstyle=\footnotesize\ttfamily, % Default font
% numbers=left, % Location of line numbers
numberstyle=\tiny, % Style of line numbers
% stepnumber=2, % Margin between line numbers
numbersep=5pt, % Margin between line numbers and text
tabsize=2, % Size of tabs
extendedchars=true,
breaklines=true, % Lines will be wrapped
keywordstyle=\color{red},
frame=b,
% keywordstyle=[1]\textbf,
% keywordstyle=[2]\textbf,
% keywordstyle=[3]\textbf,
% keywordstyle=[4]\textbf, \sqrt{\sqrt{}}
stringstyle=\color{white}\ttfamily, % Color of strings
showspaces=false,
showtabs=false,
xleftmargin=17pt,
framexleftmargin=17pt,
framexrightmargin=5pt,
framexbottommargin=4pt,
% backgroundcolor=\color{lightgray},
showstringspaces=false
}
\lstloadlanguages{ % Check documentation for further languages ...
% [Visual]Basic,
% Pascal,
% C,
% C++,
% XML,
% HTML,
Java
}
% \DeclareCaptionFont{blue}{\color{blue}}
% \captionsetup[lstlisting]{singlelinecheck=false, labelfont={blue}, textfont={blue}}
\usepackage{caption}
\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox[cmyk]{0.43, 0.35, 0.35,0.01}{\parbox{\textwidth}{\hspace{15pt}#1#2#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white, singlelinecheck=false, margin=0pt, font={bf,footnotesize}}
在您的文档中使用它:
\lstinputlisting[label=samplecode, caption=A sample]{sourceCode/HelloWorld.java}
【问题讨论】:
-
请更准确。对我来说,我发布的列表“看起来像在专业书籍中”并且“看起来和您发布的一样好”。
-
请使用以截图形式发布的示例作为我要归档的结果。
-
为了完整起见,您可能需要将 \usepackage{color} 添加到您发布的 tex 中。我花了一点时间才发现它不见了。
-
干得好!我不得不添加 \usepackage{caption} 和 \usepackage{graphics} 虽然它似乎转换单引号。
-
嗨,我必须将源文件放在哪里?在您的示例中 Hello.java
标签: latex