PDA

View Full Version : Problem mit dem Befehl Code



Shutty
19-09-2007, 17:27
Hallo,
ich habe ein Problem mit dem Befehl "Code".

Ich lasse mir momentan per Doxygen eine Dokumentation von meinem Quellcode erstellen. Dabei wird natürlich auch viel Quellcode mit dem Befehl \begin{code} eingebaut.

Wenn aber mein Quellcode zu lang ist, dann geht es über die Zeile auf der PDF Seite hinaus und ich sehe nicht mehr was da noch kommt.

Gibt es ne möglichkeit dort zu sagen, dass der Befehl einen Zeilenumbruch machen soll? Oder muss ich mir ein eigenen CodeBefehl schreiben? Wenn ja, wie mache ich das :) Bin eigentlich was dies angeht ein totaler LatexNewbie.

Ich hoffe ihr könnt mir helfen und eventuell dann nen guten Beispielcode für nen eigenen CodeBefehl geben.

Danke für eure Hilfe!

Gruß
Jens

bischi
19-09-2007, 17:36
Schau dir mal das listings-Paket an...

MfG Bischi

Shutty
20-09-2007, 09:49
Schonmal danke für den Hinweis.

Ich google mich gerade durch ein paar links und hab glaub ich auch schon was gefunden.
Es muss ja wohl nur einmal richtig konfiguriert werden und dann kann mit dem Befehl
\begin{lstlisting} und \end{lstlisting} ein Quellcode angezeigt werden.

Kann ich nun eigentlich einfach in meinem Texfile sagen das er den Befehl Code durch den befehl lstlisting ersetzen soll? Oder geht das nicht weil der Befehl code Global aus nem anderne Paket kommt oder so.

Doxygen generiert mir ja mehrere Dateien wo der Code eingebunden wird, dass nun manuell zu machen wäre eine mühseelige sache.

gibt es da noch einen trick?

bischi
20-09-2007, 10:06
Den Befehl \begin{code} kenn ich nicht - ich nehme an, das ist eine Neudefinition... Schau mal, ob du irgendwo die Definition dazu findest (\newenvironment...code) und poste diese mal.

MfG Bischi

bobmalaria
20-09-2007, 10:34
wenn du diesen befehl oft hast dann mach doch zwei suchen-ersetzen durchläufe mit dem editor

ersetze \begin{code} durch \begin{lstlisting} und dann noch für \end...

hast du das gemeint?

Shutty
20-09-2007, 10:49
Also bei der suche nach nem newenviroment kam nichts bei rum. :(

Ja das mit suchen und ersetzen wäre halt die möglichkeit die mir auch einfiehl, nur das ist auch immer ätzend. praktischer wäre natuerlich einfach die eine zeile dann mit einzufügen wo er den befehl ersetzt.

aber im moment krieg ich das paket eh nicht ans laufen....
vorhin wollte er es nie installieren, nun wollte ich euhc hier die fehlermeldung posten, nun kommt se nicht mehr...vll hat er es nun doch geschafft...hatte immer probleme die listing.cab zu öffnen oder so.

nun krieg ich dafür diese errormeldungen

! Missing \endcsname inserted.
<to be read again>
\def
1.85 \begin{lstlisting}\begin{verbatim}39 {

davon kommen noch mehrere mit dieser meldung Extra \endcsname.. oder Extra \else .... ich glaub der kriegt den quellcode den ich zwischen lstlisting habe nicht richtig verdaut...

also irgendwie klappt das noch net so richtig :(


P.S.: so steht der Code Befehl immer drin:

\begin{Code}\begin{verbatim}45 {
46 UCHAR ucCommand = 0x00;
...
\end{verbatim}\end{code}

Shutty
20-09-2007, 10:58
ich glaub ich hab das problem nun gefunden, hatte nur den befehl code durch lstlisting ersetzt. aber lstlisting kommt garnicht klar wenn da noch verbatim mit drin ist ..... werd das nun mal weiter testen...es scheint dann aber zu klappen *hoff*

Shutty
20-09-2007, 11:23
also es lag wirklich an diesem verbatim befehl der da nach noch kam....

kennt denn einer von euch den befehl wie ich die schriftart dort nun aendern kann auswendig???

und weiß jemand wie ich suchen und ersetzen auf alle dateien in dem verzeichnis anwenden kann? immer in jede datei reingehen ist doch sehr aufwendig ...

jeebee
20-09-2007, 13:17
listings.pdf Seite 5: Abschnitt 1.3 Figure out the appearance
[...]

\lstset{basicstyle=\ttfamily}
setzt dir den ganzen Quelltext mit dem typewriter-font (monospace).

Shutty
20-09-2007, 15:00
hmmm hatte vorher nur stringstyle=\ttfamily gesetzt, o kmit basicstyle ist dann alles so, aber es ist immer noch so groß. wie krieg ich denn nun noch ne kleinere schriftart davon hin? geb ich das nicht normal auch mit dem basicstyle an? mit \small und \tiny ? Und ich wollte iegentlich das die Kommentare nicht Kursiv sind...muss ich nun mühsam so ne eigene language erzeugen? oder kann ich bei der language=C irgendwie sagen das Comments anders sein sollen?

jeebee
20-09-2007, 15:20
lies mal listings.pdf (lstlisting doku) dort steht auf Seite 5 ein Beispiel für lstset.
* commentstyle für Kommentare
* stringstyle für Strings
* basicstyle=\small für alles klein
* ...