这是Xcode中的代码。 xcode http://img94.imageshack.us/img94/972/xcode.png
这是我用texlive创建的列表中的内容。
alt text http://img25.imageshack.us/img25/1245/latexn.png
是的,我使用了basicstyle = \ ttfamily。看过列表手册后,我还没有发现任何有关固定字体或等宽字体的信息..
重现的例子
\documentclass[
article,
a4paper,
a4wide,
%draft,
smallheadings
]{book}
% Packages below
\usepackage{graphicx}
\usepackage{verbatim} % used to display code
\usepackage{hyperref}
\usepackage{fullpage}
\usepackage[ansinew]{inputenc} % german umlauts
\usepackage[usenames,dvipsnames]{color}
\usepackage{float}
\usepackage{subfig}
\usepackage{tikz}
\usetikzlibrary{calc,through,backgrounds}
\usepackage{fancyvrb}
\usepackage{acronym}
\usepackage{amsthm} % Uuhhh yet another package
\VerbatimFootnotes % Required, otherwise verbatim does not work in footnotes!
\usepackage{listings}
\definecolor{Brown}{cmyk}{0,0.81,1,0.60}
\definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}
\definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0}
\definecolor{lightlightgray}{gray}{0.9}
\begin{document}
\lstset{
language=C, % Code langugage
basicstyle=\ttfamily, % Code font, Examples: \footnotesize, \ttfamily
keywordstyle=\color{OliveGreen}, % Keywords font ('*' = uppercase)
commentstyle=\color{gray}, % Comments font
numbers=left, % Line nums position
numberstyle=\tiny, % Line-numbers fonts
stepnumber=1, % Step between two line-numbers
numbersep=5pt, % How far are line-numbers from code
backgroundcolor=\color{lightlightgray}, % Choose background color
frame=none, % A frame around the code
tabsize=2, % Default tab size
captionpos=b, % Caption-position = bottom
breaklines=true, % Automatic line breaking?
breakatwhitespace=false, % Automatic breaks only at whitespace?
showspaces=false, % Dont make spaces visible
showtabs=false, % Dont make tabls visible
columns=flexible, % Column format
morekeywords={__global__, __device__}, % CUDA specific keywords
}
\begin{lstlisting}
As[threadRow][threadCol] = A[
threadCol + threadRow * Awidth // Adress of the thread in the current block
+ i * BLOCK_SIZE // Pick a block further left for i+1
+ blockRow * BLOCK_SIZE * Awidth // for blockRow +1 go one blockRow down
];
\end{lstlisting}
\end{document}
答案 0 :(得分:33)
问题是columns=flexible
选项。删除它,它看起来像你想要它看起来。至少,如果你没有实际的理由使用它。如果存在,则无法使您的代码段的等宽度看起来像Xcode:)。
答案 1 :(得分:3)
当您放弃\ usepackage {microtype}时会发生什么?它与字距等混淆,可能是问题的原因,我认为这是由于对齐不良造成的。