Make code in LaTeX look *nice*
Solution 1
The listings package is quite nice and very flexible (e.g. different sizes for comments and code).
Solution 2
It turns out that lstlisting
is able to format code nicely, but requires a lot of tweaking.
Wikibooks has a good example for the parameters you can tweak.
Solution 3
For simple document, I sometimes use verbatim, but listing is nice for big chunk of code.
Ed James
Updated on July 08, 2022Comments
-
Ed James almost 2 years
I'm currently writing a project report, and to explain the slightly crazy un-intuitive code that I've used I need to put lots and lots of short excerpts of example code in.
How I can get code into LaTeX that:
- looks nice
- doesn't go off the side of the page if the line's too long (list lstlisting or verbatim)
- is preferably inline with the rest of the text
EDITED (Figured I'd add the settings so people don't have to try and figure them out themselves (taken from wikibooks (link further down) and edited for niceness))
Nice settings:
\usepackage{color} \usepackage{listings} \lstset{ % language=C++, % choose the language of the code basicstyle=\footnotesize, % the size of the fonts that are used for the code numbers=left, % where to put the line-numbers numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers stepnumber=1, % the step between two line-numbers. If it is 1 each line will be numbered numbersep=5pt, % how far the line-numbers are from the code backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color} showspaces=false, % show spaces adding particular underscores showstringspaces=false, % underline spaces within strings showtabs=false, % show tabs within strings adding particular underscores frame=single, % adds a frame around the code tabsize=2, % sets default tabsize to 2 spaces captionpos=b, % sets the caption-position to bottom breaklines=true, % sets automatic line breaking breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace escapeinside={\%*}{*)} % if you want to add a comment within your code } \begin{lstlisting} !!code!! \end{lstlisting}
An example of these settings: