Character spacing in LaTeX with lstlisting package
Asked Answered
M

2

12

I'm trying to get my code snippets to look as good as possible and so far I'm having troubles with the character spacing. Here is an example of the output:

alt text http://grab.by/grabs/2bb230de7c088d007733f52b95a40363.png

While the text in small is perfect, all the keywords that are in capital letters look terrible. Here are the settings I use

\lstset{basicstyle=\footnotesize, basewidth=0.5em}

If I increase the basewidth, the capital letters look good, but I can't get any decent sized line of code in one line. The following example does not fit in a page and I already put two line breaks in: alt text http://grab.by/grabs/97ec29aa5a6811ce28bcd30bd389b52f.png

Does anyone have a clue how I can get this to work? Using \ttfamily does the trick, however, I'd prefer keeping the font.

Thanks.

Magnetize answered 5/8, 2010 at 10:59 Comment(1)
The TeX stackexchange is now in beta, try it out: tex.stackexchange.comHumoresque
P
14

If you prioritize looking nice, then using flexible colums is preferable:

\lstset{basicstyle=\footnotesize, columns=fullflexible}
Palmetto answered 5/8, 2010 at 22:26 Comment(0)
H
0

You "obviously" need to scale the capital letters down horizontally. I do not know of a way to do this without actually editing the font itself.

However, you could put the entire listing into a \scalebox resp. \resizebox (from the graphicx package).

On a side note, the font you are using seems a bit strange, though, since the distance between small letters is significantly bigger than that between capital letters.

Humoresque answered 5/8, 2010 at 13:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.