程式碼清單的任何新包

程式碼清單的任何新包

此網站上有許多關於用於顯示原始程式碼清單的套件的問題(和答案)。但我找到的所有答案都至少有五年了,我想知道是否開發了任何新的軟體包,在某種程度上或其他方面優於「清單」等舊軟體包?

理想情況下,我希望清單具有以下特徵...

  1. 以固定寬度字體排版,最好是相當窄的字體,不會佔用太多空間。
  2. 封裝在一個帶有漂亮邊框的盒子中,甚至可能帶有陰影
  3. 彩色背景。
  4. 適用於 C/C++/C# 等語言的語法驅動的顏色編碼。
  5. 也許可以對分頁發生的位置進行一些控制。

其中一些只是錦上添花,沒有我也可以生活。

那麼,2016 年有哪些新的和改進的解決方案呢?如果答案是“否”,那仍然會有幫助,因為它告訴我我可以停止尋找。

答案1

各種評論給我的印像是不值得尋找任何新的東西,所以我只是使用了歷史悠久的解決方案,那就是軟體包listings。我不需要太多努力就能產生以下結果:

在此輸入影像描述

它有一個帶有陰影的漂亮彩色框、窄字體(壓扁的 Consolas,由fontspecFakeStretch 提供)和 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似乎可以滿足我的要求,所以我不再尋找。

相關內容