37

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?

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

\begin{document}
\begin{cmd}[caption=Configuration file section including filters]
[affy6]
[...]
    [[hapmap]]
    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"
\end{cmd}
\end{document}

picture of the output

2
  • Please try to load \usepackage[T1]{fontenc} and maybe the font berano or so Commented May 3, 2012 at 6:18
  • @MarcoDaniel: Why? Commented May 3, 2012 at 14:38

1 Answer 1

63

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

4
  • 1
    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? Commented May 3, 2012 at 6:43
  • 1
    @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
    Commented May 3, 2012 at 14:06
  • I'm amazed this isn't turned off by default, thank you! Commented Mar 2, 2018 at 19:27
  • If you need to get rid of the "underscores" in listings follow this answer: tex.stackexchange.com/a/77745/81156
    – scrutari
    Commented Jan 29, 2020 at 10:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .