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

リスト パッケージは、ページ間でのコードの分割を既にサポートしています。以下の例を参照してください (リストが長くなって申し訳ありません)。ページをまたぐフロートを使用することはできないため、(たとえば) キャプション パッケージを使用して、lstlisting環境の先頭にキャプションを挿入する必要があることに注意してください。

\documentclass{記事}
\usepackage[a5paper,landscape]{geometry}
\usepackage{xcolor,listings}
\begin{ドキュメント}
\definecolor{ライトグレー}{グレー}{0.8}
\lstset
{
キャプションpos=b
, backgroundcolor=\color{ライトグレー}
、数字=左
、numberstyle=\scriptsize
、ステップ数=2
、numbersep=5pt
、フレーム=シャドーボックス
、 rulesepcolor=\color{グレー}
}
\begin{lstlisting}
a
b
c
d
e
へ
g
時間
私
j
k
l
メートル
n
o
p
q
r
s
t
あなた
v
w
バツ
y
z
a
b
c
d
e
へ
g
時間
私
j
k
l
メートル
n
o
p
q
r
s
t
あなた
v
w
バツ
y
z
\end{lstlisting}
\end{ドキュメント}
于 2009-11-09T12:32:47.340 に答える
1

フレーム化されたドキュメントは、.sty ファイル自体の中にあります。次のように使用してください。

\documentclass{記事}
\usepackage{framed,lipsum}
\begin{ドキュメント}
\begin{framed}
\lipsum[1-10]
\end{framed}
\end{ドキュメント}

ドキュメントから、次のものも使用できます。

  • framed -- 通常のフレーム ボックス (\fbox) で、マージンにエッジがあります。
  • shaded -- 陰影付きの背景 (\colorbox) が余白ににじみます
  • snugshade -- 類似
  • leftbar -- 左余白の太い縦線

上記の例で Lipsum の代わりにリストを配置すると、複数ページのコードをすべてフレームで囲む​​ことができます。リストと同じ出力を取得することはできませんが、見栄えがよくなるように微調整できるはずです。

于 2009-11-09T00:33:47.833 に答える