2010-04-22 22 views

Odpowiedz

9

spróbować czegoś takiego:

\documentclass{article} 

\usepackage{listings} 
\usepackage{color} 
\usepackage{textcomp} 
\definecolor{listinggray}{gray}{0.9} 
\definecolor{lbcolor}{rgb}{0.9,0.9,0.9} 
\lstset{ 
    language=c, 
    basicstyle=\scriptsize, 
    upquote=true, 
    aboveskip={1.5\baselineskip}, 
    columns=fullflexible, 
    showstringspaces=false, 
    extendedchars=true, 
    breaklines=true, 
    showtabs=false, 
    showspaces=false, 
    showstringspaces=false, 
    identifierstyle=\ttfamily, 
    keywordstyle=\color[rgb]{0,0,1}, 
    commentstyle=\color[rgb]{0.133,0.545,0.133}, 
    stringstyle=\color[rgb]{0.627,0.126,0.941}, 
} 

\begin{document} 

\begin{lstlisting} 

#include <stdio.h> 

int main() 
{ 
    // A line comment 
    printf("A really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, REALLY long line. && & \n"); 
    return 0; 
} 

\end{lstlisting} 

\end{document} 

która produkuje:

alt text http://img260.imageshack.us/img260/1608/codes.png

+0

Jak mogę uzyskać lateks, aby uciec i automatycznie \ n? – KP65

+0

ok dzięki, edytował op – KP65

+1

Estetyczna uwaga: column = fixed często daje złe wyniki (jak tutaj, litery są rozmieszczone zbyt wiele). Wolę kolumny = pełnafleksja, nawet przy czcionce o stałej szerokości, zapewnia ona o wiele bardziej naturalny wygląd kodu. –

2

Czy uważają Państwo

\lstset{...} 
breaklines=true -> sets automatic line breaking 
breakatwhitespace=false -> automatic breaks happen at whitespace 

?

1

Użyj breaklines=true e. G .:

\lstnewenvironment{bash}
{\lstset{language=bash,breaklines=true,frame=trBL}}
{}

2

Chcesz włączyć linię zerwania z

\lstset{breaklines=true} 

w opcjach polecenia. Teraz możesz nie lubić jego wyborów, ale to jest kolejne pytanie.

2

Zamiast tym źródło bezpośrednio, to go z pliku:

\lstinputlisting{/Volumes/docs/p2k_files_in_qt.sh} 

you” Oszczędzisz dużo pracy w ten sposób. Ewentualnie, jeśli musisz dołączyć źródło do pliku, istnieje lgrind.

\lstset{ % 
language=C,        % choose the language of the code 
basicstyle=\footnotesize,  % the size of the fonts that are used for the code 
numbers=left,     % where to put the line-numbers 
numberstyle=\footnotesize,  % the size of the fonts that are used for the line-numbers 
stepnumber=1,     % the step between two line-numbers. If it's 1 each line will be numbered 
numbersep=5pt,     % how far the line-numbers are from the code 
%backgroundcolor=\color{Blue}, % choose the background color. You must add \usepackage{color} 
showspaces=false,    % show spaces adding particular underscores 
showstringspaces=false,   % underline spaces within strings 
showtabs=false,     % show tabs within strings adding particular underscores 
frame=single,     % adds a frame around the code 
tabsize=2,       % sets default tabsize to 2 spaces 
captionpos=b,     % sets the caption-position to bottom 
breaklines=true,    % sets automatic line breaking 
breakatwhitespace=false,  % sets if automatic breaks should only happen at whitespace 
escapeinside={\%*}{*)},   % if you want to add a comment within your code 
% size, font 
commentstyle=\fontsize{7}{7}\selectfont, 
basicstyle=\ttfamily\fontsize{7}{7}\selectfont, 
keywordstyle=\color{red}, 
commentstyle=\color{blue}, 
stringstyle=\color{green} 
}