This document describes techniques for include computer code, e.g. C or MATLAB, into a LaTeX document.
Computer code is usually typeset in monospaced font. A quick way to
include a block of code is to use a verbatim
environment.
Here is the classic Hello, world! program in C:
\documentclass{article} \begin{document} \begin{verbatim} #include<stdio.h> main() { printf("Hello, world!\n"); } \end{verbatim} \end{document}
A more flexible technique is to use the alltt
environment from the
alltt
package. The alltt
allows you to embed
commands in the code source, but that also raises complications because any
\
characters are interpreted as the start of a command. So,
to use alltt
to typeset Hello, world!, the newline
\n
has to be replaced with \textbackslash{n}
\documentclass{article} \usepackage{alltt} % in the preamble \begin{document} \begin{alltt} #include<stdio.h> main() { printf("Hello, world!\textbackslash{n}"); } \end{alltt} \end{document}
Note that {n}
is used to suppress the space between
\textbackslash
and n
, i.e. n
is not an argument of the \textbackslash
command.
matlab
package
I've written the matlab
package for including code in
LaTeX documents. The matlab
package includes an
mtext
environment for code blocks,
VerbListing
,
VerbListingBoxed
,
VerbListingNumber
commands for including source code
from external files, and the Listing
environment
to include code in a float environment.
The matlab
package just provides some wrapper
environments for commands from the float
and fancyvrb
packages.
Some day I'll provide more HTML documentation here. In the meantime
you can
view the documentation in PDF,
look at the matlab.sty
source code,
or download a zip archive
of the documentation and sample code.