Latex Problem - C Source Code

Persönliche Seite #877221
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
Gast #877225
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.
Persönliche Seite #877314
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
Gast #878625
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=$}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren