¿Cómo inserto código en un documento de LaTeX? ¿Hay algo como:
\begin{code}## Heading ##
...
\end{code}
Lo único que realmente necesito es una sangría y una fuente de ancho fijo. El resaltado de sintaxis podría ser bueno, aunque definitivamente no es obligatorio.
Respuestas:
Usar
listings
paquete.Configuración simple para el encabezado LaTeX (antes
\begin{document}
):Puede cambiar el idioma predeterminado en el medio del documento con
\lstset{language=Java}
.Ejemplo de uso en el documento:
Aquí está el resultado:
fuente
figure
podría lograr el efecto.También podría usar el entorno literal
fuente
Aquí se explica cómo agregar código en línea:
Puede agregar código en línea con
{\tt code }
o\texttt{ code }
. Si desea formatear el código en línea, entonces sería mejor hacer su propio comandoAdemás, tenga en cuenta que los bloques de código se pueden cargar desde otros archivos con
breaklines
no es obligatorio, pero lo encuentro útil. Tenga en cuenta que tendrá que especificar\usepackage{
listados}
para este.Actualización: el paquete de listados también incluye el
\lstinline
comando, que tiene las mismas características de resaltado de sintaxis que los comandos\lstlisting
y\lstinputlisting
(consulte la respuesta de Cloudanger para obtener detalles de configuración). Como se menciona en algunas otras respuestas, también está el paquete acuñado, que proporciona el\mintinline
comando. Al igual que\lstinline
,\mintinline
proporciona el mismo resaltado de sintaxis que un bloque de código acuñado regular:fuente
Los paquetes especializados como
minted
, que se basa en Pygments para realizar el formateo, ofrecen varias ventajas sobre ellistings
paquete. Para citar delminted
manual,fuente
-shell-escape
directiva es, en el mejor de los casos, una modificación menor a los sistemas de compilación existentes y, en el peor, incompatible con las preferencias de seguridad de algunos usuarios.Use Minted .
Es un paquete que facilita el resaltado de sintaxis expresiva en LaTeX utilizando la potente biblioteca Pygments . El paquete también proporciona opciones para personalizar la salida del código fuente resaltado usando fancyvrb .
¡Es mucho más evolucionado y personalizable que cualquier otro paquete!
fuente
-shell-escape
podría ser una mierda para algunas personas.Trabajos acuñados en Overleaf , TeX Live y MiKTeX.
Ejemplo:
Salida:
fuente
Como todavía no se mencionó aquí, puede valer la pena agregar una opción más, paquete
spverbatim
(sin resaltado de sintaxis):Además, si no se requiere resaltar la sintaxis, empaquete
alltt
:fuente
¡Usa pigmeos !
fuente