
このサイトには、ソース コードのリストを表示するパッケージに関する質問 (および回答) が多数あります。しかし、私が見つけた回答はすべて少なくとも 5 年前のものであり、「リスト」のような古いパッケージよりも何らかの点で優れている新しいパッケージが開発されているかどうか疑問に思っています。
理想的には、次のような特徴を持つリストを作成したいと考えています...
- 固定幅フォントでタイプセットします。スペースをあまり取らない、かなり狭いフォントが望ましいです。
- 素敵なボーダー付きのボックスで囲まれ、ドロップシャドウも付いている
- 色付きの背景。
- C/C++/C# などの言語の構文に基づいたカラー コーディング。
- おそらく、ページ区切りが発生する場所をある程度制御できます。
これらのうちいくつかは、なくても生きていけるほどの付加価値に過ぎません。
では、2016 年の現在、新しく改善されたソリューションはあるでしょうか? 答えが「いいえ」であっても、それは私にとっては探すのをやめることができるという意味で、やはり役に立ちます。
答え1
さまざまなコメントから、新しいものを探す価値はないという印象を受けたので、昔ながらの解決策であるパッケージを使用することにしましたlistings
。あまり手間をかけずに、次の結果を得ることができました。
ドロップ シャドウ付きの素敵なカラー ボックス、細いフォント ( fontspec
FakeStretch 提供の圧縮された 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
}
およびパッケージminted
はfancyvbr
新しいようで、私が見つけた古い回答には記載されていませんでした。しかし、新しいものが必ずしも優れているわけではなく、listings
私が望むことを実行するように思われたので、探すのをやめました。