コードリスト用の新しいパッケージ

コードリスト用の新しいパッケージ

このサイトには、ソース コードのリストを表示するパッケージに関する質問 (および回答) が多数あります。しかし、私が見つけた回答はすべて少なくとも 5 年前のものであり、「リスト」のような古いパッケージよりも何らかの点で優れている新しいパッケージが開発されているかどうか疑問に思っています。

理想的には、次のような特徴を持つリストを作成したいと考えています...

  1. 固定幅フォントでタイプセットします。スペースをあまり取らない、かなり狭いフォントが望ましいです。
  2. 素敵なボーダー付きのボックスで囲まれ、ドロップシャドウも付いている
  3. 色付きの背景。
  4. C/C++/C# などの言語の構文に基づいたカラー コーディング。
  5. おそらく、ページ区切りが発生する場所をある程度制御できます。

これらのうちいくつかは、なくても生きていけるほどの付加価値に過ぎません。

では、2016 年の現在、新しく改善されたソリューションはあるでしょうか? 答えが「いいえ」であっても、それは私にとっては探すのをやめることができるという意味で、やはり役に立ちます。

答え1

さまざまなコメントから、新しいものを探す価値はないという印象を受けたので、昔ながらの解決策であるパッケージを使用することにしましたlistings。あまり手間をかけずに、次の結果を得ることができました。

ここに画像の説明を入力してください

ドロップ シャドウ付きの素敵なカラー ボックス、細いフォント ( fontspecFakeStretch 提供の圧縮された Consolas)、C# 構文の強調表示があります。いいですね。

セットアップ コードの関連部分は次のとおりです。

\usepackage{unicode-math}
\usepackage{color}
\usepackage{listings}

\setmonofont[Scale=MatchLowercase, FakeStretch = 0.9]{Consolas}

\definecolor{bluekeywords}{rgb}{0.13,0.13,1}
\definecolor{greencomments}{rgb}{0,0.5,0}
\definecolor{redstrings}{rgb}{0.9,0,0}
\definecolor{codebackground}{rgb}{1,1,0.85}
\definecolor{codeframecolor}{rgb}{0.65,0.65,0.65}
\definecolor{shadowcolor}{rgb}{0.85,0.85,0.85}

\lstset{language=[Sharp]C,
    showspaces=false,
    showtabs=false,
    lineskip = -0.5pt,
    xleftmargin = 1pt,
    framesep = 5pt,
    frame = shadowbox,
    framerule = 1pt,
    backgroundcolor=\color{codebackground},
    rulecolor = \color{codeframecolor}, 
    rulesepcolor = \color{shadowcolor},
    rulesep = 3pt,
    aboveskip = 12pt,
    belowskip = 4pt,
    commentstyle=\itshape\color{greencomments},
    keywordstyle=\color{bluekeywords}\bfseries,
    stringstyle=\color{redstrings},
    basicstyle=\ttfamily
}

およびパッケージmintedfancyvbr新しいようで、私が見つけた古い回答には記載されていませんでした。しかし、新しいものが必ずしも優れているわけではなく、listings私が望むことを実行するように思われたので、探すのをやめました。

関連情報