Programmcode einbinden

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: Programmcode einbinden

von Johannes_B » Mo 29. Jun 2015, 13:30

Mach doch dafür am besten ein neues Thema nur für dich auf, Platz haben wir hier ja reichlich.

Auch ein Minimalbeispiel wäre nicht schlecht um der Ursache auf den Grund zu gehen.

Problem beim einbinden von tcl code aus einer Datei

von Lea1602 » Mo 29. Jun 2015, 13:27

Hallo zusammen,

ich habe ein Problem beim einbinden von meinem tcl Code. Ich benutze Latex und TexnicCenter für meine Abschlussarbeit.
Das Problem ist das mir zwar der Abschnitt, in welchem der Code stehen soll angezeigt wird und auch die Zeilennummerierung anzeigt allerdings ist das Fenster sonst leer :shock:
Zum einbinden benutze ich das usepackage listnigs und setze mit listset den Rahmen.

 
\usepackage{listings} % um Quelltext von Dateien einzubinden
\usepackage{color}
\definecolor{leichtgrau}{gray}{.90}

\lstset{
frame={tb}, 
backgroundcolor=\color{leichtgrau}, 
language={tcl}, 
showstringspaces=false, 
basicstyle=\ttfamily\small, 
keywordstyle=\color{red}, 
commentstyle=\color{blue}, 
stringstyle=\color{green}, 
numbers={left},
numberstyle={\normalsize},
numbersep={3pt},
stepnumber={1}
}

damit binde ich die Datei ein
\lstinputlisting {Dateien/b.tcl}
ich hoffe mir kann jemand Helfen weil ich echt zwerzeifel

von Bastian » Do 13. Aug 2009, 19:34

Dank ... Dank ... immer wieder Dank!

von bloodworks » Do 13. Aug 2009, 19:13

\renewcommand{\lstlistingname}{Dein Name}
Du musst das label in der Float bzw der Umgebung haben. Bei Listing geht dsa so
 \begin{lstlisting}[label=blablabla,caption=......]

von Bastian » Do 13. Aug 2009, 18:41

Habe doch noch mal eine Rückfrage.

Die Listings werden zwar korrekt durchgezählt, aber bei der referenzierung haut was nicht hin... es erscheint nur die Kapitelnummer.
\documentclass[12pt,a4paper]{scrreprt}

\usepackage{listings}
\lstloadlanguages{Matlab,C}
\lstset{% general command to set parameter(s)
basicstyle=\sffamily\footnotesize, % print whole listing small
keywordstyle=\sffamily\footnotesize\bfseries, % ubold black keywords
identifierstyle=, % nothing happens
commentstyle=\sffamily\footnotesize\slshape, % green comments
stringstyle=\sffamily\footnotesize, % typewriter type for strings
showstringspaces=false, % no special string spaces
numbers=left, 
numberstyle=\sffamily\footnotesize, 
stepnumber=1, 
numbersep=10pt,
showspaces=false,
showtabs=false,
frame=lines,
morecomment=[l]{\%},
float=htbp,
numberbychapter=true
}

\begin{document}

\chapter{Kapitel1}

Hier etwas Kode \ref{lst:DFZVf1}.

\begin{lstlisting}[float, caption=Berechnung]
function D_FZVf1 = fcn(D_FZV0,a_xo,k_Ef)
\end{lstlisting}
\label{lst:DFZVf1}

\subsubsection{Unterabschnitt}

Hier noch etwas Kode \ref{lst:DFZVf2}.

\begin{lstlisting}[float, caption=Berechnung]
function D_FZVf1 = fcn(D_FZV0,a_xo,k_Ef)
\end{lstlisting}
\label{lst:DFZVf2}

\chapter{Kapitel2}

Hier noch etwas Kode \ref{lst:DFZVf3}.

\begin{lstlisting}[float, caption=Berechnung]
function D_FZVf1 = fcn(D_FZV0,a_xo,k_Ef)
\end{lstlisting}
\label{lst:DFZVf3}

\end{document}
Und noch eine Bitte: Ich möchte als Kategorie nicht "Listing" sonder "Kode" oder ähnliches... nur wie???

Finde es auch hässlich, dass die horizontalen Linien nicht bis zu den Zeilennummern gehen, aber das kann man wohl nicht ändern...

Danke und Grüße!

von DonCube » Do 13. Aug 2009, 16:47

Hi Bastian,
Aber einmal eingearbeitet ist das Paket echt praktisch. Habe es selbst auch schon oft verwendet.

Gruß
DonCube

PS: Status anpassen.

von Bastian » Do 13. Aug 2009, 16:42

selten so ein schlechte Dokumentation gesehen...

Aber vielen Dank für den Hinweis, das Paket schein echt die optimale Lösung zu sein.

von bloodworks » Do 13. Aug 2009, 15:47

Warum nimmst du nicht das Listings Paket?
Das kann alles was du willstftp://ftp.tex.ac.uk/tex-archive/macros/ ... stings.pdf

Zeilenummern, Keywords belibige Kommentarzeichen, zich Programmiersprachen etc. Und du sparst dir das anlegen einer Float mit float.

Programmcode einbinden

von Bastian » Do 13. Aug 2009, 11:01

Hallo zusammen!

Ich möchte ein paar Zeilen Programmcode in meiner Arbeit anzeigen. Habe dazu hier schon einiges gefunden, so das ich zu folgendem Minimalbeispiel komme:
\documentclass[12pt,a4paper]{scrreprt}

\usepackage{float}
\floatstyle{ruled}
\newfloat{program}{h}{lop}[chapter]
\floatname{program}{Kode}

\begin{document}

\chapter{Kapitel1}

Hier etwas Kode \ref{prog:01}.

\begin{program} 
\begin{verbatim}
function D_FZVr1 = fcn(D_FZV0,a_xo,k_Er)

if (a_xo > 0)
    D_FZVr1=1;  % Extrem schlauer Kommentar

else
    D_FZVr1=-1; % nicht weniger schlauer Kommentar

end;
\end{verbatim}
\caption{Etwas Programcode}
\label{prog:01}
\end{program}

\end{document}
Jetzt wünsche ich mir noch, dass die Kommentare (hintern dem %-Zeichen) auch als solche gekennzeichnet sind, z.B. in einer anderen Farbe. Bei "if" und "else" wäre eine Farbe auch ganz schick, geht das?

Zudem würde ich gern die Zeilen nummerieren, um mich im Text einfacher darauf zu beziehen. Gibt es dafür einen einfachen Weg?

Und zu guter letzt, etwas was im Beispiel nicht erkennbar ist:
Ich verwende das float Paket erst jetzt für den Programmcode. Seit ich es eingefügt habe, bekomme ich zu jeder Abbildung eine Warnung:
l.42
pdfTeX warning (ext4): destination with the same identifier (name{figure.1
.1}) has been already used, duplicate ignored

\AtBegShi@Output ...ipout \box \AtBeginShipoutBox
Hängt das eventuell mit [liststotoc] zusammen? Bin für Anregungen dankbar...


Danke für eure Hilfe! Denke ich muss und werde dieses Forum im Vorwort meiner DA erwähnen :-)

Nach oben