Любые новые пакеты для листинга кодов

Любые новые пакеты для листинга кодов

На этом сайте есть много вопросов (и ответов) о пакетах для показа листингов исходного кода. Но все ответы, которые я нашел, были как минимум пятилетней давности, и мне было интересно, были ли разработаны какие-либо новые пакеты, которые в том или ином смысле превосходят старые, такие как "listings"?

В идеале я хотел бы иметь объявления со следующими характеристиками...

  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похоже, делает то, что мне нужно, поэтому я прекратил поиски.

Связанный контент