此站点上有许多关于显示源代码列表的软件包的问题(和答案)。但我找到的所有答案都至少有五年了,我想知道是否已经开发出任何较新的软件包,这些软件包在某种程度上优于“列表”等较旧的软件包?
理想情况下,我希望列表具有以下特征......
- 采用固定宽度的字体排版,最好是比较窄的字体,不会占用太多空间。
- 用漂亮的边框包裹起来,甚至可能带有阴影
- 彩色的背景。
- 针对 C/C++/C# 等语言的语法驱动颜色编码。
- 也许可以对分页符出现的位置进行一些控制。
其中有些只是锦上添花而已,没有它们我也可以活下去。
那么,2016 年的今天,有任何新的和改进的解决方案吗?如果答案是“否”,那仍然会有所帮助,因为它告诉我我可以停止寻找了。
答案1
各种评论让我觉得不值得寻找任何新东西,所以我只使用了历史悠久的解决方案,即包listings
。我能够毫不费力地产生以下结果:
它有一个漂亮的彩色框,带有阴影,字体较窄(扁平的 Consolas,由fontspec
FakeStretch 提供),还有 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
似乎可以满足我的要求,所以我停止了寻找。