Kennt jemand einen einfachen Weg, das PostScript zu erzeugen, das einer Syntax-hervorgehobenen Version einer Quelldatei entspricht, die direkt an einen PostScript-Drucker geleitet werden kann?
Wie der Wortlaut der obigen Frage wahrscheinlich andeutet, suche ich nach etwas, das ich von der Befehlszeile aus ausführen kann. Ich denke an eine Interaktion wie:
% syntax_highlight <SOURCE_FILE> | lp
…bei Bedarf mit Befehlszeilenschaltern usw.
Das Beste, was ich bisher gefunden habe, ist ein Unix-Dienstprogramm namens highlight
, aber es hat Probleme. Am schwerwiegendsten ist, dass es keine Option zur direkten Ausgabe von PostScript gibt. (Da highlight
LaTeX-Ausgabe unterstützt, habe ich versucht, ein Skript zusammenzufügen, das den Prozess der Generierung der PostScript-Datei über *.tex => *.dvi => *.ps automatisieren würde, aber das visuelle Erscheinungsbild des Endergebnisses ist schrecklich, viel schlimmer als für die HTML-Datei, die highlight
ist generiert für dieselbe Quellcodeeingabe.)
Danke!
Akzeptierte Antwort:
Sie können vim verwenden.
vim -c hardcopy -c quit /path/to/file
Dadurch wird die Datei gedruckt und sofort beendet. Standardmäßig druckt vim mit Syntaxhervorhebung.
Wenn Sie von der Standardausgabe eines Befehls drucken müssen, können Sie dies tun:
cat some_file.c | vim -c hardcopy -c 'quit!' -
Wenn Sie die .ps-Datei für später speichern möchten, können Sie dies tun, indem Sie dem Hardcopy-Befehl eine Umleitung hinzufügen, etwa so:
vim -c 'hardcopy > /path/to/saved.ps' -c 'quit' /path/to/file
Mit Vim können Sie viele druckbezogene Optionen festlegen, daher sollten Sie sich die Dokumentation ansehen, wenn Sie sie optimieren möchten. Natürlich gibt es auch viele Syntaxhervorhebungsoptionen.