Re: Externe Programme aufrufen?
Von: Ulrike Fischer (news2@nililand.de) [Profil]
Datum: 10.10.2008 12:49
Message-ID: <dzrirxvhe2c1.dlg@nililand.de>
Newsgroup: de.comp.text.tex
Datum: 10.10.2008 12:49
Message-ID: <dzrirxvhe2c1.dlg@nililand.de>
Newsgroup: de.comp.text.tex
Am Fri, 10 Oct 2008 10:35:26 +0000 (UTC) schrieb Marek Kubica: > On Fri, 10 Oct 2008 12:11:12 +0200, Christoph Hänisch wrote: > > Hallo Christoph, > > vielen Dank für deine umfassende und hilfreiche Antwort. In Zwischenzeit > habe ich den Parameter in der Manpage von pdflatex gefunden. Eigentlich > brauche ich beides: Prozesse starten (klappt inzwischen wunderbar) und > Dateien schreiben. > > Eigentlich klappt das schon, aber leider nur theoretisch, denn ich habe > mir hier folgenden Befehl zusammengebaut: > > \newcommand{\pygmentize}[2]{ > \newwrite\code > \immediate\openout\code\jobname.pyg > \immediate\write\code{#2} > \closeout\code > > \immediate\write18{pygmentize -l #1 -f latex -o \jobname.out.pyg > \jobname.pyg} > %%\input{\jobname.out.pyg} > } > > Das Problem ist nun, dass wenn ich write18 aufrufe ``pygmentize`` zwar > durchaus aufgerufen wird, jedoch \jobname.pyg zu der Zeit noch keinen > Inhalt hat, so dass mir ``pygmentize`` im wesentlichen nur ein leeres > Verbatim in \jobname.out.pyg reinschreibt. Ich nehme an, es fehlt nach > dem Schließen der Datei ein flush oder so, aber ich habe keine Ahnung wie > man das erzwingen kann - hätte eigentlich erwartet dass die Datei nach > dem Schließen direkt verwendbar ist. Du hast sie ja noch nicht geschlossen. Da fehlt das \immediate. Außerdem solltest du den \newwrite-Befehl aus deinem Makro rausnehmen, sonst wird bei jedem Aufruf ein neues write-Register alloziiert und bei 16 ist Schluss. -- Ulrike Fischer[ Auf dieses Posting antworten ]
Antworten
- Marek Kubica (10.10.2008 12:56)
