Seite 1 von 1
Listing oder Computertext in ein Dokument einfügen
Verfasst: Fr 9. Jan 2009, 12:27
von Beeci
Hallo,
wie fügt man einem LaTeX-Dokument eventuell (meist) mehrseitige Listings hinzu, das z.B. in Courier New formatiert sein soll, und erlauben muss, das manche Zeilen grau, manche Zeilen aber schwarz sind? Mit der Colorierung möchte ich "obligatorisch" und "optionell" unterscheiden.
Die Möglichkeit
{
\ttfamily Meintext Zeile 1\\
{\bfseries Meintext obligatorischer Eintrag}\\
Meintext Zeile 3 nichtobligatorischer Eintrag\\
...
}
würde mir als Anfänger einfallen.
Gibt es etwas "eleganteres", da solche Textteile sehr oft vorkommen und daher wäre wirtschaftlich per cut-and-paste arbeiten zu können.
Vielen Dank für eure Hilfe.
Verfasst: Fr 9. Jan 2009, 12:43
von KOMA
Üblicherweise fügt man Listings mit Hilfe des
listings-Pakets ein. Syntax-Hervorhebung beherrscht das Paket bereits für diverse Sprachen. Für weitere Sprachen kann man sich das definieren. Man kann auch Escape-Sequenzen definieren, die es einem ermöglichen, LaTeX-Befehle innerhalb der Listings einzuschleußen, um dann beispielsweise Teile abweichend einzufärben.
Daneben gibt es noch das Paket alltt, das zum Grundumfang von LaTeX gehört, das Paket
verbatim aus den Standard-Tools, das Paket
moreverb, das Paket
fancyvrb und vermutlich
weitere.
Da Du darauf verzichtet hast, wie im
goLaTeX-Knigge explizit gewünscht ein
vollständiges Minimalbeispiel anzugeben, gehe ich davon aus, dass Du auch kein Beispiel haben willst, das zeigt, wie man das konkret macht. Die Anleitungen der Pakete bzw. des Pakets, für das Du Dich entscheidest, solltest Du ohnehin lesen.
Verfasst: Fr 6. Feb 2009, 21:05
von Beeci
Lieber KOMA,
herzlichen Dank für deine nette Antwort; zwar bin ich noch nicht erfolgreich, aber ich werde die Listings-Pakete demnächst testen. Entschuldigung, wenn ich die GoLatex-Knigge missachtet habe. Möglicherweise ist das meine Unfähigkeit einerseits, andrerseits weiß ich wirklich nicht, wie ich ein mehrseitiges Listing einfügen soll und auch das Bild, was LaTeX daraus macht (jedenfalls auf dem noch ziemlich primitivem Niveau, wie ich damit umgehe, hätte ich noch mehr "Kritik" auf mich gezogen).
Umso mehr freut mich, dass Du als Entwickler auf Anhieb verstanden hast, worum es geht und mir gleich den entscheidenden Hinweis gegeben hast.
(auch ohne irgendwelche Beispiele wie "Print{Hallo Welt};" u.s.w. - es sind halt Listings aus dem Computer heraus, wie man Programmtexte oder sonstige zu lesende Files eben gewöhnt ist, und wenn man diese in einem Artikel erklären möchte. Wie Du siehst bin ich weder LaTeX-Profi noch ein Profi-Autor, aber ich abe im stillen gehofft, LaTeX würde bestimmt auch Informatiker unterstützen; es wäre dann wirklich KEINE Unterstützung, wenn man die Programmtexte in LaTeX-Syntax umschreiben müsste , nein, das wäre eine Qual meiner Meinung nach).
Oft möchte man Texte in verschiedenen Systemen "aufs Papier" bringen und in diesen Fällen möchte man mit "kopieren" fertiger Texte arbeiten können; wenn das nicht geht, dann ist das Hilfsmittel in diesem Punkt kein Hilfsmittel. (Ich hoffe, ich habe nicht schon wieder etwas gegen die Knigge geschrieben.....aber das ist nur mein Gerechtigkeitssinn, was da spricht.)
Verfasst: Fr 6. Feb 2009, 23:34
von DonCube
Öhhh ich habe dein Post nur überflogen, aber mit dem listings Paket geht das alles. Kopieren --> Einfügen. Einfach deinen Programmcode kopieren und schon wird er mit highlighting abgedruckt. Sogar mit Zeilennummer wenn du willst.
Kannst du alles einstellen. Ich habe auch noch irgendwo einen beispiel code für C#. Aber finde ich gerade nicht gucke morgen nochmal nach.
Gruß
DonCube
komplette Quellcode Datei einfügen mit \lstinputlisting{..}
Verfasst: Di 14. Jul 2009, 11:08
von matthi
weiß jemand wie das geht?
\lstset{language=C++}
\begin{lstlisting}
\lstinputlisting{c:\mega16LCDADC.c}
\end{lstlisting}
funktioniert bei mir nicht, er findet die datei nicht...
(die datei heißt "mega16LCDADC.c" und befindet sich auf C:\ auf dem Hauptpfad)
grüße, matthias
\lstinputlisting
Verfasst: Di 14. Jul 2009, 21:48
von Stefan Kottwitz
Hallo Matthias,
vielleicht verwende eine relative Pfadangabe, das ist sowieso empfehlenswert. Der backslash \ (nach c:) leitet in LaTeX ein Kommando ein, das kann hier ein Problem sein.
Viele Grüße,
Stefan
Verfasst: Mi 15. Jul 2009, 08:20
von phi
Wenn es unbedingt eine absolute Pfadangabe sein muss, dann verwende einfache (/) statt umgekehrter Schrägstriche (\).
Verfasst: Mi 22. Jul 2009, 16:36
von matthi
nun gut, ich finde die absoluten pfadangaben sinnvoller, da kann ich wenigstens davon ausgehen, dass die richtige datei verwendet wurde
ich hab es jedoch trotzdem noch nicht hinbekommen, dass der quelltext im Dokument erscheint.. dort wo ich den quelltext erwarte, steht einfach nur "\lstinputlisting{c:/mega16LCDADC.c}".. sehr verwirrend..
einzubindende Listings
Verfasst: Mi 22. Jul 2009, 21:56
von Stefan Kottwitz
Dann verwende \lstinputlisting ohne lstlisting-Umgebung.
Stefan
Verfasst: Do 23. Jul 2009, 10:17
von matthi
Danke schön für den Tipp, jetzt funzt es!
Matthias