www.mikrocontroller.net

Forum: PC-Programmierung Latex Problem - C Source Code


Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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:
#include <stdio.h>

int main(void)
{
  printf("Hallo Welt\n");
  while(1);
  return 0;
}

Das wird dann daraus erzeugt:
\noindent
\ttfamily
\hlstd{}\hlline{00001\ }\\
\hlline{00002\ }\hldir{\#include\ $<$stdio.h$>$}\\
\hlline{00003\ }\hlstd{}\\
\hlline{00004\ }\hlkwb{int\ }\hlstd{}\hlkwd{main}\hlstd{}\hlsym{(}\hlstd{}\hlkwb{void}\hlstd{}\hlsym{)}\\
\hlline{00005\ }\hlstd{}\hlsym{\{}\\
\hlline{00006\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{printf}\hlstd{}\hlsym{(}\hlstd{}\hlstr{"Hallo\ Welt}\hlesc{$\backslash$n}\hlstr{"}\hlstd{}\hlsym{);}\\
\hlline{00007\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{while\ }\hlstd{}\hlsym{(}\hlstd{}\hlnum{1}\hlstd{}\hlsym{);}\\
\hlline{00008\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{return\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{;}\\
\hlline{00009\ }\hlstd{}\hlsym{\}}\hlstd{}\\
\mbox{}
\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

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tipp!
\lstset{language=C}
\begin{lstlisting}[caption={Hallo Welt},frame=tlrb]

#include <stdio.h>

int main(void)
{
  printf("Hallo Welt\n");
  while(1);
  return 0;
}
\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

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gugg mal ins Päckle, des is astrein dokumentiert.

Autor: df311 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
z.b. so:
\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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.