Forum: PC-Programmierung Latex Problem - C Source Code


von Robert S. (razer) Benutzerseite


Lesenswert?

Hallo an alle,

Ich möchte meinen C Code in ein Latex Dokument einbinden. Dabei soll das 
Syntax Highlighting aber nicht verloren gehen.

Dazu hab ich das Programm Highlight gefunden. Siehe: 
http://www.andre-simon.de/

Mit diesem Programm kann man aus einem C File ein Latex Dokument 
erzeugen. Will ich diesen Code jedoch in mein Latex Dokument einbinden, 
gibts nur Fehlermeldungen.

Hier mal ein kleines Hallo Welt Programm:
1
#include <stdio.h>
2
3
int main(void)
4
{
5
  printf("Hallo Welt\n");
6
  while(1);
7
  return 0;
8
}

Das wird dann daraus erzeugt:
1
\noindent
2
\ttfamily
3
\hlstd{}\hlline{00001\ }\\
4
\hlline{00002\ }\hldir{\#include\ $<$stdio.h$>$}\\
5
\hlline{00003\ }\hlstd{}\\
6
\hlline{00004\ }\hlkwb{int\ }\hlstd{}\hlkwd{main}\hlstd{}\hlsym{(}\hlstd{}\hlkwb{void}\hlstd{}\hlsym{)}\\
7
\hlline{00005\ }\hlstd{}\hlsym{\{}\\
8
\hlline{00006\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{printf}\hlstd{}\hlsym{(}\hlstd{}\hlstr{"Hallo\ Welt}\hlesc{$\backslash$n}\hlstr{"}\hlstd{}\hlsym{);}\\
9
\hlline{00007\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{while\ }\hlstd{}\hlsym{(}\hlstd{}\hlnum{1}\hlstd{}\hlsym{);}\\
10
\hlline{00008\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{return\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{;}\\
11
\hlline{00009\ }\hlstd{}\hlsym{\}}\hlstd{}\\
12
\mbox{}
13
\normalfont

Füge ich dieses Snippet in ein Latex Dokument ein, gibts nur 
Fehlermeldungen und das Highlighting funktioniert nicht. Woran liegt 
das?

Bin leider ein Latex Newbie.

Ich hoffe ihr könnt mir helfen
Gruß Robert

von Sven P. (Gast)


Lesenswert?

Dieses ganze \hl***-Zeuchs gehört nicht zu Latex, da muss irgendein 
Packet noch dazugebunden werden. Abgesehen davon halte ich von solchen 
Programmen wie das von "Andre Simon" absolut garnix. In Latex gibts doch 
schon die Listing-Packete. Da machste ne Umgebung auf, tipps den 
C-Quelltext rein und den Rest macht das Packet halt alleine, ohne den 
C-Code zu verunstalten.

von Robert S. (razer) Benutzerseite


Lesenswert?

Danke für den Tipp!
1
\lstset{language=C}
2
\begin{lstlisting}[caption={Hallo Welt},frame=tlrb]
3
4
#include <stdio.h>
5
6
int main(void)
7
{
8
  printf("Hallo Welt\n");
9
  while(1);
10
  return 0;
11
}
12
\end{lstlisting}

Das schaut schon nicht schlecht aus. Kann ich jedoch das verwendete 
Stylesheet ändern, und es nach meinen Bedürfnissen anpassen?

Wenn ja, wie?

Danke im Voraus
Gruß Robert

von Sven P. (Gast)


Lesenswert?

Gugg mal ins Päckle, des is astrein dokumentiert.

von df311 (Gast)


Lesenswert?

z.b. so:
1
\lstset{language=VHDL, basicstyle=\small \ttfamily, showspaces=false, showtabs=false, tab= , keywordstyle=\bfseries, showstringspaces=false, framexleftmargin=5mm, frame=single, numbers=left, numberstyle=\tiny, stepnumber=1, numbersep=5pt, texcl=true, escapechar=$}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.