
¿Cómo copio el código en látex para obtener un resultado similar a este?
...Sin las barras rojas, por supuesto. No sé cómo conseguir la numeración en el lado izquierdo cuando compilo LaTeX. Usar \verbatim
solo 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:
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 fancyvrb
paquete 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 fancyvrb
y utiliza internamente la Pygments
biblioteca de python
para resaltar la sintaxis. Pruebe el siguiente ejemplo, reemplazándolo yourfile.m
con su archivo real. Tienes que compilar con -shell-escape
la opción habilitada. Lea el manual sobre la instalación de la Pygments
biblioteca.
\documentclass[10pt]{article}
\usepackage{minted}
\newmintedfile{matlab}{
linenos=TRUE,
fontsize=\small,
}
\usemintedstyle{trac}
\begin{document}
\matlabfile{yourfile.m}
\end{document}