Zeilennummern bei Listingumgebung

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Zeilennummern bei Listingumgebung

von gehess » Fr 3. Dez 2010, 16:14

Xenara hat geschrieben:Die Dokus sind alle auf deinem Rechner.
Bequem erreichen kann man sie unter Windows (zumindest TeXLive, MikTeX kenne ich nicht) ...
Das Verfahren ist bei MikTex übrigens dasselbe

von Xenara » Do 2. Dez 2010, 18:47

Die Dokus sind alle auf deinem Rechner.
Bequem erreichen kann man sie unter Windows (zumindest TeXLive, MikTeX kenne ich nicht) über:
Start -> Programme -> Zubehör -> Eingabeaufforderung
dort "texdoc listings" eintippen, es sollte sich das PDF öffnen (geht mit jedem Paket, das eine Doku hat)

Das hat im Gegensatz zu Google den Vorteil, dass man die passende Doku zur Paketversion hat. Im Internet fliegt ja alles mögliche rum; die neuesten Versionen und Pakete gibts auf CTAN.

von gehess » Do 2. Dez 2010, 17:50

von Gast » Do 2. Dez 2010, 17:06

ok, das mit der Farbe habe ich z.T. hinbekommen.

Wo finde ich die Doku denn? Ist es Latex-Wiki?

dort taucht \listings net auf und wenn ich inner Suche: listings-Doku eingebe find ich auch net.

von Xenara » Do 2. Dez 2010, 15:18

Ich fürchte, du wirst nicht drumrumkommen, eine halbe Stunde in Doku-Lesen zu investieren...

Da steht alles drin: Wie man die Schriftart ändert, wie man Keywords formatiert, wie man Kommentarzeilen definiert, wie man Rahmen und Hintergrundfarbe setzt und noch ein paar Sachen mehr.
Aus eigener Erfahrung kann ich sagen, die listings-Doku zu lesen, lohnt sich absolut.

Wenn du partout nicht weiterkommst, kannst du dich gerne nochmal melden.

von Gast » Do 2. Dez 2010, 15:09

Hallo,

der Thread ist zwar schon was älter, aber er trifft auf mein Vorhaben zu.

Ich habe den Code umgeformt:
\documentclass[a4paper]{scrreprt}							%DIN-A4-Format
%\documentclass{scrbook} 
\usepackage[T1]{fontenc}
\usepackage{amsmath}					%erweiterter Mathematischer Formelsatz 
\usepackage{amssymb}					%erweiterter Mathematischer Formelsatz 
\usepackage[latin9]{inputenc}	%Eingabe von ü,ä,ö,ß erlauben deutscher Zeichensatz
\usepackage[ngerman]{babel}		%neue deutsche Trennungen, Überschriften, usw.
\usepackage{graphicx}					%Einbindung von Grafikdateien 
%\usepackage[dvips]{graphicx}
%\usepackage{siunitx}
\usepackage{setspace}					%wird für setstrech benötigt
\usepackage{textcomp}					%für Buchstaben wie µ
%\usepackage{tocbibind}				%automatisches Erstellten v. Verzeichnisse für Abbildungen,...
\usepackage{pdfpages}					%wenn LaTex => PS => PDF dieses Package ausblenden
\usepackage{geometry}
\usepackage{helvet}						%Schriftart Arial
\usepackage{multirow}					%Tabellen
\usepackage{float}						%Grafiken fixieren
\usepackage{tabularx,longtable,ltxtable}%Tabellen
\usepackage{booktabs}
\usepackage{remreset}					%zwecks durchlaufender Numerierung von Fußnoten und Formeln
%\usepackage{hypdvips}					%ermöglicht das kompelieren von LaTex ==> PS ==> PDF
%\usepackage{epstopdf}					%konvertiert eps zu pdf 

\makeatletter
\@removefromreset{footnote}{chapter}	%zwecks durchlaufender Numerierung von Fußnoten
\@removefromreset{equation}{chapter}	%zwecks durchlaufender Numerierung von Formeln
\makeatother


\usepackage{color}						%\definecolor
\usepackage{listings}					%Programmcodeumgebung
\usepackage{microtype}				%Captions im Programmcode

\definecolor{bgcolor}{rgb}{0,0,0}
\definecolor{string}{rgb}{1,0,0}
\lstloadlanguages{Matlab}
\lstnewenvironment{MatlabCode}[1][]
{\microtypesetup{activate=false}		%Captions im Programmcode
\lstset{
	language= Matlab,
	basicstyle=\ttfamily,							%generell Schreibmaschinenschrift
	basicstyle=\scriptsize,
	stringstyle=\color{string},
	backgroundcolor=\color{white},		%Hintergrundfarbe
	showstringspaces=false,						%In Strings keine Backspace zeichen breaklines=true,
	captionpos=b,											%Beschriftungsposition
	frame=single,											%shadowbox, leftline, lines, topline, t, r, b, l
	numbers	=	left,										%links Zeilennummern
	xleftmargin=.04\textwidth,
	#1}
}
{}

\begin{document}
Der Matlabcode lautet:
\begin{MatlabCode}
 for j = 1:lx(y)
 for i = 1:y(t)
  if x   == 1                                                                         %if all is ok
   ai)             = 0;                                     
  elseif x(i) == 0  & i>1
   a(i)            = a(i-1); 
  else
   a(i)            = asind(h(i) / _x(i));                                         % [°] angle 
  end
 
  end
end
\end{MatlabCode}

\end{document} 
Was mich nun stört (evtl. hat jemand noch ne andere Idee) ist, dass die Schrift nicht die von Matlab ist, die Farben von Matlabausdrücken wie if nicht blau ist sondern fett ist. Kommentare, die mit % beginnen nicht erkeannt werden und dann kursiv anstelle von grün sind. Und ich es nicht hinbekomme die Nummerrierung nur dann anzuzeigen wenn dort Code steht und der Bindestrich fehlt.

Wichtig sind natürlich die Einrückungen bei den Leerzeilen, das geht garnicht...

Wie bekomme ich denn den Rahmen weg und die besche Hintergrundfarbe hin?

Grüße

von Nybass » Mo 8. Feb 2010, 09:00

ok, habe es nun einfach eingerückt mit
xleftmargin=.04\textwidth,
kann man echt so lassen...

Danke für die Hilfe

von Nybass » Mo 8. Feb 2010, 08:54

ok wegen xleftmargin werde ich mal nachschlagen...(hat auf die schnelle gestern nicht geklappt)

wieso ich es nicht einfach entferne...
weil manche codeauszüge relativ lang sind und im text dann steht "In der Zeile 14" oder "(siehe Zeile 35-40)"

Gruß Timo

... 1 ...

von KOMA » Mo 8. Feb 2010, 08:35

Nybass hat geschrieben:frag mich auch, ob das bei einer wissenschaftlichen arbeit so extrem wichtig ist, dass die zeilennummern eben nicht "abstehen"...

wär aber sicherlich schöner, wenn man es einfach korrigieren kann...
Und warum verwendest Du dann nicht das von mir erwähnte xleftmargin (siehe listings-Anleitung)?
matze hat geschrieben:Selbstverständlich müssen die Zeilennummern vor dem Text stehen, sie sind eine Hilfe zur Kontrolle und Strukturierung des Textes (eigentlich der Druckfahne) für den Setzer vor(!) dem Druck. Beim Ausdruck sollen sie keinesfalls erscheinen!

KOMA weiss da typografisch bestimmt besser Bescheid, vielleicht sagt er was dazu.
Der Setzer ist sicher der letzte, der die Zeilennummern benötigt. Wenn, dann braucht die der Autor, um sich in seinen Listings zu orientieren. In dem Fall können sie am Ende wirklich weg. Das macht dann der Setzer aber nur, wenn er eine explizite Anweisung dazu bekommt. Oder der Autor braucht sie, um im Text oder im Listing selbst bestimmte Zeilen zu referenzieren. In dem Fall braucht sie auch der Leser und sie bleiben im Druck.

Persönlich bin ich kein Fan davon. Das liegt vermutlich daran, dass ich das Programmieren noch zu einer Zeit gelernt habe, als man noch Programmiersprachen verwendet hat, bei denen man Zeilennummern mit eingetippt hat. Deshalb gehören für mich normalerweise in Listings von Programmiersprachen, die keine Zeilennummern benötigen, auch keine Zeilennummern. Aber das ist eine ganz persönliche Meinung und hat nichts mit Typografie oder gutem und schlechtem Stil zu tun. Es kann - insbesondere in Lehrbüchern - auch gute Gründe für Zeilennummern geben.

von matze » So 7. Feb 2010, 23:16

...

Nach oben