TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm seeing an odd character like a very flat U, where there should be a space, with the listings package. See example below. Does anyone have any idea why this is happening, or how to get rid or work around it?

\usepackage[usenames,dvipsnames, rgb, svgnames, x11names]{xcolor}
% Text layout
\topmargin 0.0cm
\oddsidemargin 0.5cm
\evensidemargin 0.5cm
\textwidth 16cm
\textheight 21cm 
  \lstset{language=sh, backgroundcolor=\color{LightSteelBlue1}, #1}}

\begin{cmd}[caption=Configuration file section including filters]
    phenofiles = "data/Hapmap6.0/Pheno/hapmappheno_909.csv",
    genofile = "/data/snppy/Hapmap6.0/Geno/birdseed-v2.calls.txt"
    anno_filter = "chromosome = 5"
    idlink_filter = "studyid = 'CEU'"
    some_other_stuff = "foo = bar"

picture of the output

share|improve this question
Please try to load \usepackage[T1]{fontenc} and maybe the font berano or so – Marco Daniel May 3 '12 at 6:18
@MarcoDaniel: Why? – Faheem Mitha May 3 '12 at 14:38
up vote 13 down vote accepted

By default, listings shows spaces as a "squat-u" as part of strings (between quotes). Add the option showstringspaces=false to your list of \lstset options to remove this.

enter image description here

share|improve this answer
Wow, thanks Werner. I just assumed this was a bug, and didn't look at the manual, which states this behavior clearly. But why on earth would anyone want this as a default? – Faheem Mitha May 3 '12 at 6:43
@FaheemMitha: In terms of programming, code sometimes have whitespace for readability. However, in terms of strings (typically used to produce output or assigned to variables), it may be very important if you use one or two spaces, say. TeX is similar in the sense that it gobbles spaces in code as needed, but not with string comparisons. For example: \def\strA{this that}\def\strB{this that}\ifx\strA\strB true\else false\fi will yield false, while \strA and \strB will typeset exactly the same in the output. – Werner May 3 '12 at 14:06
Ok, I see. Thanks for the explanation. – Faheem Mitha May 3 '12 at 14:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.