¿Cómo agregar números de línea a un listado/código de programa?

¿Cómo agregar números de línea a un listado/código de programa?

¿Cómo copio el código en látex para obtener un resultado similar a este?

ingrese la descripción de la imagen aquí

...Sin las barras rojas, por supuesto. No sé cómo conseguir la numeración en el lado izquierdo cuando compilo LaTeX. Usar \verbatimsolo me da el código.

Actualizar:Es necesario tener el código coloreado como aparecería en Matlab.

Respuesta1

Para mi tesis de maestría escribí mucho código en MatLab. Para tenerlo "bastante impreso", utilicé el mismo paquete que mencionó @cmhughes. Se ve así (en el preámbulo):

\usepackage{listings} %For code in appendix
\lstset
{ %Formatting for code in appendix
    language=Matlab,
    basicstyle=\footnotesize,
    numbers=left,
    stepnumber=1,
    showstringspaces=false,
    tabsize=1,
    breaklines=true,
    breakatwhitespace=false,
}

Luego, cuando quieras incluir tu archivo de código, simplemente usa \lstinputlisting. Siguiendo con el ejemplo:

\lstinputlisting[language=Matlab]{./Code/calc_error.m}

Particularmente me encantó esto porque me permitió cambiar mi código en MatLab en la propia carpeta y no tuve que actualizarlo en LaTeX, ya que apuntaba directamente al archivo y no al código per se.

El resultado será algo como esto:

Ejemplo de código usando <code>\usepackage{listings}</code> y configurándolo con <code>\lstset</code>

Por supuesto, siempre puedes jugar con\lstset para conseguir lo que quieres, como se explica enla documentación

Respuesta2

Si no necesita resaltar el código, el fancyvrbpaquete servirá. No uso matlab, pero para fines de demostración, supongamos que tiene un archivo llamado yourfile.m, luego el siguiente código le dará la numeración del lado izquierdo. VerbatimInput{yourfile.m}ingresa su archivo.

\documentclass[10pt]{article}

\usepackage{fancyvrb}
\fvset{%
fontsize=\small,
numbers=left
}

\begin{document}
\VerbatimInput{yourfile.m}
\end{document}

Otra opción es laminted. Utiliza fancyvrby utiliza internamente la Pygmentsbiblioteca de pythonpara resaltar la sintaxis. Pruebe el siguiente ejemplo, reemplazándolo yourfile.mcon su archivo real. Tienes que compilar con -shell-escapela opción habilitada. Lea el manual sobre la instalación de la Pygmentsbiblioteca.

\documentclass[10pt]{article}

\usepackage{minted}
\newmintedfile{matlab}{
linenos=TRUE,
fontsize=\small,
}
\usemintedstyle{trac}

\begin{document}
\matlabfile{yourfile.m}
\end{document}

información relacionada