Cualquier paquete nuevo para listados de códigos.

Cualquier paquete nuevo para listados de códigos.

Hay muchas preguntas (y respuestas) en este sitio sobre paquetes para mostrar listados de código fuente. Pero todas las respuestas que he encontrado tienen al menos cinco años y me preguntaba si se ha desarrollado algún paquete más nuevo que sea de una forma u otra superior a los más antiguos, como "listados".

Lo ideal sería tener listados con las siguientes características...

  1. Componga en una fuente de ancho fijo, preferiblemente una bastante estrecha que no ocupe demasiado espacio.
  2. Encerrado en una caja con un bonito borde, tal vez incluso con una sombra paralela.
  3. Un fondo de color.
  4. Codificación de colores basada en sintaxis para lenguajes como C/C++/C#.
  5. Quizás algún control sobre dónde ocurren los saltos de página.

Algunos de estos son simplemente la guinda del pastel sin la cual podría vivir.

Entonces, ¿alguna solución nueva y mejorada hoy en 2016? Si la respuesta es "no", seguirá siendo útil, porque me dice que puedo dejar de buscar.

Respuesta1

Los diversos comentarios me dieron la impresión de que no valía la pena buscar nada nuevo, así que simplemente utilicé la solución tradicional, que es el listingspaquete. Pude producir el siguiente resultado sin demasiado esfuerzo:

ingrese la descripción de la imagen aquí

Tiene un bonito cuadro de color con una sombra paralela, una fuente estrecha (Consolas aplastada, cortesía de fontspecFakeStretch) y resaltado de sintaxis de C#. Bien.

La parte relevante del código de configuración es:

\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
}

Los paquetes mintedy fancyvbrparecen ser más nuevos y no se mencionaron en las respuestas anteriores que encontré. Pero lo más nuevo no es necesariamente mejor y listingsparece hacer lo que quiero, así que dejé de buscar.

información relacionada