3

我目前有一个问题,列表包无法跨多个页面传播源文件。在文档中,“框架”包应用于各种格式化选项。不幸的是,我没有找到“框架”包的任何文档。对于 C# 源,我当前的源格式如下所示:

源格式 http://www.free.image.hosting.net/uploads/88987a1ef4.png


不幸的是,图像服务不再存在,我找不到该图像,因为该帖子是 5 年前发布的。我记得的是格式化的源代码部分,应该在下一页上可见,只是被截断了,根本没有出现。

我对“列表”包的格式是:

\newcommand{\sourceFormatterCSharp}
{
\lstset
{ language=[Sharp]C
, captionpos=b
%, frame=lines
, morekeywords={var, get, set}
, basicstyle=\footnotesize\ttfamily
, keywordstyle=\color{blue}
, commentstyle=\color{darkgreen}
, stringstyle=\color{darkred}
, backgroundcolor=\color{lightgrey}
, numbers=left
, numberstyle=\scriptsize
, stepnumber=2
, numbersep=5pt
, breaklines=true
, tabsize=2
, showstringspaces=false
, emph={double, bool, int, unsigned, char, true, false, void, get, set}
, emphstyle=\color{blue}
, emph={Assert, Test}
, emphstyle=\color{red}
, emph={[2]\#using, \#define, \#ifdef, \#endif}
, emphstyle={[2]\color{blue}}
, frame=shadowbox
, rulesepcolor=\color{grey}
, lineskip={-1.5pt} % single line spacing
}
}

% first optional param is placement
% param1 file name without extension
% param2 chapter number, e.g. 1 or 2 ...
% param3 caption to use
\newcommand{\embedCSharp}[4][htbp]
{
\sourceFormatterCSharp
\includeListing{#1}{#4}{#3:#2}{#3/#2.cs}
}

任何人都可以帮助我使用“框架”包或任何其他让我的源看起来像这样但可以跨页面分发的类似结果吗?一个如何在框架中嵌入列表的示例并不令人满意,因为到目前为止我自己。

4

2 回答 2

2

Listings 包已经支持跨页面拆分代码;请参见下面的示例(对长列表感到抱歉)。请注意,您不能有一个跨越页面的浮动,因此您需要使用标题包(例如)在lstlisting环境的开头插入标题。

\documentclass{文章}
\usepackage[a5paper,landscape]{几何}
\usepackage{xcolor,listings}
\开始{文档}
\definecolor{lightgrey}{灰色}{0.8}
\lstset
{
标题位置=b
, 背景颜色=\颜色{浅灰色}
, 数字=左
, numberstyle=\scriptsize
, 步数=2
, numberep=5pt
, 框架=阴影框
, 规则epcolor=\color{gray}
}
\开始{lstlisting}
一种
b
C
d
e
F
G
H
一世
j
ķ
l
米
n
○
p
q
r
s
吨
你
v
w
X
是的
z
一种
b
C
d
e
F
G
H
一世
j
ķ
l
米
n
○
p
q
r
s
吨
你
v
w
X
是的
z
\end{lstlisting}
\结束{文档}
于 2009-11-09T12:32:47.340 回答
1

框架文档位于 .sty 文件本身中。像这样使用它:

\documentclass{文章}
\usepackage{装裱,唇彩}
\开始{文档}
\开始{框架}
\lipsum[1-10]
\结束{框架}
\结束{文档}

从文档中,您还可以使用:

  • framed -- 边缘在边距的普通框架框 (\fbox)
  • shaded -- 阴影背景 (\colorbox) 渗入边距
  • snugshade——类似的
  • leftbar -- 左边距中的粗垂直线

在上面的示例中放置您的列表而不是lipsum 将允许多页代码与一个框架围绕它; 您将无法获得与列表相同的输出,但应该能够进行调整以使事情看起来不错。

于 2009-11-09T00:33:47.833 回答