2010-05-26 29 views
33

Đây là mã trông trong Xcode. xcode http://img94.imageshack.us/img94/972/xcode.pngLatex: Danh sách có phông chữ đơn sắc

Và điều này trong danh sách của tôi được tạo bằng texlive.

alt text http://img25.imageshack.us/img25/1245/latexn.png

Và vâng tôi đã sử dụng basicstyle = \ ttfamily. Nhìn vào hướng dẫn của danh sách tôi đã không tìm thấy bất cứ điều gì về cố định có hoặc monospace phông chữ ..

Ví dụ để tái tạo

\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} 
+2

Bạn có thể cung cấp ví dụ làm việc tối thiểu không? Tức là, chỉ có môi trường 'danh sách' của bạn và gói cần thiết để tạo lại mã không chính xác. – Pieter

+0

Hey Nils, tôi nghĩ rằng mã của bạn là tuyệt vời, tôi thậm chí đã nhận nó làm việc với Fortran 90. Bạn có nhớ tôi sử dụng nó cho luận án của tôi? ;) –

Trả lời

31

Sự cố là tùy chọn columns=flexible. Loại bỏ nó và có vẻ như bạn muốn nó nhìn. Ít nhất, nếu không có lý do thực sự để bạn sử dụng nó. Nếu có, không có cách nào để có sự đơn điệu của đoạn mã của bạn trông giống như trong Xcode :).

+2

Hãy nhớ sử dụng 'basicstyle = \ ttfamily', nếu không' columns = fixed' không hoạt động. (trường hợp của tôi) –

+0

Khi sử dụng 'basicstyle = \ ttfamily',' columns = flexible' có thể được giữ lại, miễn là bạn sử dụng tùy chọn 'keepspaces = true'. Điều này sẽ cung cấp cho một cái nhìn "đóng gói" hơn. Akin đến một trong những nguyên văn. –

3

gì xảy ra khi bạn thả \ usepackage {microtype}? Nó messes với kerning và vv và có thể là nguyên nhân của vấn đề, mà tôi giả định là do sự liên kết nghèo.

+0

Điều đó không rõ ràng? Tôi muốn nó sử dụng một phông chữ monospace, do đó, nó trông giống như trong Xcode (trong đó sử dụng một phông chữ monospace). – Nils

+0

Tôi đã làm việc sau một thời gian, và thay đổi câu trả lời của tôi. –

+0

Đó không phải là vấn đề, sách hướng dẫn sử dụng microtype nêu trong Chương 9: Những gợi ý và gợi ý rằng nó hoạt động tốt với 'fancyvrb' và' listings'. Khi anh ta cho thấy một 'lstset' tôi đoán anh ta sử dụng danh sách cho mã này :). – Pieter

Các vấn đề liên quan