PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Quelltext-Listings wie im Linux Magazin



broeggle
07-02-2007, 19:06
Hi,

kann mir jemand vielleicht helfen, wie ich am besten solche Quelltext -Listings wie im Linux Magazin erstellen kann?

Also die Listings sind boxen, die den text darin, ähnlich wie in einer verbatim umgebung unangetastet in einer fixed font ausgeben, die Zeilennummern davor schreiben und ganz wichtig bei überlangen Zeilen diese umbrechen, nach dem Umbruch ein Trenner Symbol einfügen und den Rest in die nächste Zeile schreiben (aber ohne neue Zeilennummer)


Also beispiel
___________________________________________
|01: Dies ist mein Quelltext, bla bla bla bla bla |
|02: Zeile2 bla bla bla bla blafooo bla blaaaaaaa -> |
| aaaaa gehört noch zu Zeile2 |
|03: Zeile 3 ------------ Trennung erfolgt mitte -> |
| n im Wort |
|___________________________________________|

Bekomme ich so etwas irgendwie hin?
Das Listing sollte nach Möglichkeit auch einfach von Text umflossen werden.

Danke schonmal :)

sofa-surfer
07-02-2007, 19:29
Hallo,

schon mal das listings-Paket angeschaut?

Matthias

MasterOfPuppets
07-02-2007, 19:37
Es tut mir leid, aber zu der Frage-Antwort-Kombination fällt mir nur eins ein: :D

broeggle
07-02-2007, 20:18
Hmm, ein kleines Beispiel wäre nett - denn ich habe das schonmal mit dem Listing-Paket probiert - aber da lief mir der Text immer nach rechts raus...

sofa-surfer
07-02-2007, 21:30
Es tut mir leid, aber zu der Frage-Antwort-Kombination fällt mir nur eins ein: :D

Wieso? :D


Hmm, ein kleines Beispiel wäre nett - denn ich habe das schonmal mit dem Listing-Paket probiert - aber da lief mir der Text immer nach rechts raus...


\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[applemac]{inputenc} % oder was auch immer ...
\usepackage{listings}

\begin{document}

\lstset{%
breaklines=true, % Zeilenumbrüche
numbers=left, % Zeilennummerierung
language=R, % Sprache
prebreak={->} % Zeichen am Zeilenende (Umbruch)
}

\begin{lstlisting}
# Ein langer Kommentar der bitte bis an das Ende der Zeile reichen soll um dort umbrochen zu werden.

function(M, windowsize = 3)
{
if ((!is.numeric(M)) || (!is.numeric(windowsize))){
cat("only numeric arguments allowed")
}
else{
w <- as.integer(windowsize)
res <- .Call("median_filter", M, w)
}
}
\end{lstlisting}

\end{document}

Matthias

peschmae
07-02-2007, 21:42
Cool. Kannst du das auch noch mit so einer kleinen Grafik statt dem -> (welches man ja in gewissen Programmiersprachen durchaus als verwirrend empfinden könnte)?
Dann wäre das perfekt ;)

MfG Peschmä

broeggle
07-02-2007, 22:03
genau das habe ich mir auch gedacht, v.a. weil das > bei mir dann zu einem umgedrehten ? im PDF wird. -- leider bekomme ich einen Fehler, wenn ich
\hookleftarrow als trennerzeichen verwenden will.

Aber ansonsten perfekt!
Danke schonmal!

sofa-surfer
07-02-2007, 22:18
Tja, da müssten dann mal die Experten ran. Ich selbst hab das Paket praktisch noch nie gebraucht ...

Steht nix in der Doku?

Matthias

countbela666
08-02-2007, 07:52
leider bekomme ich einen Fehler, wenn ich
\hookleftarrow als trennerzeichen verwenden will.

\lstset{%
breaklines=true, % Zeilenumbrüche
numbers=left, % Zeilennummerierung
language=R, % Sprache
prebreak={\mbox{\ensuremath{\hookleftarrow}}} % Zeichen am Zeilenende (Umbruch)
}Grüße,
Marcel

peschmae
08-02-2007, 08:00
Ah, cool. Danke!

MfG Peschmä