von KOMA » Mo 25. Jan 2010, 09:47
hauke hat geschrieben:Ich wollte mal fragen,
wie man in LaTex Quellcode anzeigen kann, so dass man den Methoden- /
Funktionsnamen nur angibt. Ich weis nicht ob das mit listings Überhaupt geht.
Das geht nicht. Dazu bräuchte man je Programmiersprache einen kompletten Parser. Es würde ja nicht einmal genügen, einfach beispielsweise nach "Beispielklasse:Methode" zu suchen, denn das könnte auch schlicht ein Kommentar oder Teil eines Strings sein. Auch das Ende einer Methode oder einer Funktion ist je nach Sprache ggf. nur zu erkennen, wenn man einen vollständigen Syntaxbaum aufbaut.
Einfacher wird es, wenn man sich auf wohlformatierten Code verlassen kann. Dann genügen eventuell Heuristiken der Art:
Suche erste Zeile, die wie folgt beginnt, und nachfolgende erste Zeile, die wie folgt beginnt. So etwas könnte man ggf. sogar in TeX implementieren. Einfacher wäre es aber, sich dafür ein bash- oder perl-Script zu schreiben, das dann ggf. eine neue Datei mit einigen Makrodefinitionen anlegt, die genau diese Zeilennummern enthalten. Diese Datei kannst Du dann wiederum am Anfang Deines Dokuments einlesen.
Alles keine fertige Lösung, sondern nur Idee. Aber vielleicht hat ja jemand Lust, das aufzugreifen.
[quote="hauke"]Ich wollte mal fragen,
wie man in LaTex Quellcode anzeigen kann, so dass man den Methoden- /
Funktionsnamen nur angibt. Ich weis nicht ob das mit listings Überhaupt geht.[/quote]
Das geht nicht. Dazu bräuchte man je Programmiersprache einen kompletten Parser. Es würde ja nicht einmal genügen, einfach beispielsweise nach "Beispielklasse:Methode" zu suchen, denn das könnte auch schlicht ein Kommentar oder Teil eines Strings sein. Auch das Ende einer Methode oder einer Funktion ist je nach Sprache ggf. nur zu erkennen, wenn man einen vollständigen Syntaxbaum aufbaut.
Einfacher wird es, wenn man sich auf wohlformatierten Code verlassen kann. Dann genügen eventuell Heuristiken der Art: [i]Suche erste Zeile, die wie folgt beginnt, und nachfolgende erste Zeile, die wie folgt beginnt.[/i] So etwas könnte man ggf. sogar in TeX implementieren. Einfacher wäre es aber, sich dafür ein bash- oder perl-Script zu schreiben, das dann ggf. eine neue Datei mit einigen Makrodefinitionen anlegt, die genau diese Zeilennummern enthalten. Diese Datei kannst Du dann wiederum am Anfang Deines Dokuments einlesen.
Alles keine fertige Lösung, sondern nur Idee. Aber vielleicht hat ja jemand Lust, das aufzugreifen.