Fenster schließen Acrobat Reader

hi,

habe ein Skript für einen LaTeX-Kompiliervorgang geschrieben -- noch
etwas rudimentär (manuelles anpassen der .tex-Datei).

Ich würde nun gerne mein Skript in dem Sinne erweitern, dass die am Ende
im Acrobat Reader (7.0) dargestellte Datei, beim nächsten Durchlauf ge-
schlossen wird. Sonst meckert der pdflatex-Comipler, er könne nicht auf
die Datei schreiben.

Welchen Befehl muss ich denn da verwenden, damit mein Skript nur das
Fenster und nicht gleich den ganzen Reader schließt?!

Mein Skript ist unten angehängt

gruß

Henning

-----------------Code-------------------------

#!/usr/bin/perl
#
#makefile.pl
#Komilierskript für LaTeX-Dokumente mit eingebundenen
#bibtopic.sty Paket

$anzahl = 0;

system ( "pdflatex Paper_J2ME.tex" ) ;
print "Wie viele Literaturunterabschnitte?! " ;
$anzahl = <STDIN> ; chomp $anzahl ; $i = 0 ;
while ( $anzahl ne $i) {
$i++ ;
system ( "bibtex Paper_J2ME$i" ) ;
}
system ( "pdflatex Paper_J2ME.tex" ) ;
system ( "pdflatex Paper_J2ME.tex" ) ;
system ( "Paper_J2ME.pdf" ) ;
Henning Bredel [ Do, 05 Oktober 2006 14:51 ] [ ID #1490395 ]

Re: Fenster schließen Acrobat Reader

Henning Bredel <h.bredel [at] gmx.de> writes:

> hi,
>
> habe ein Skript für einen LaTeX-Kompiliervorgang geschrieben -- noch
> etwas rudimentär (manuelles anpassen der .tex-Datei).
>
> Ich würde nun gerne mein Skript in dem Sinne erweitern, dass die am Ende
> im Acrobat Reader (7.0) dargestellte Datei, beim nächsten Durchlauf ge-
> schlossen wird. Sonst meckert der pdflatex-Comipler, er könne nicht auf
> die Datei schreiben.
>
> Welchen Befehl muss ich denn da verwenden, damit mein Skript nur das
> Fenster und nicht gleich den ganzen Reader schließt?!
>
> Mein Skript ist unten angehängt
>
> gruß
>
> Henning
>
> -----------------Code-------------------------
>
> #!/usr/bin/perl
> #
> #makefile.pl
> #Komilierskript für LaTeX-Dokumente mit eingebundenen
> #bibtopic.sty Paket
>
> $anzahl = 0;
>
> system ( "pdflatex Paper_J2ME.tex" ) ;
> print "Wie viele Literaturunterabschnitte?! " ;
> $anzahl = <STDIN> ; chomp $anzahl ; $i = 0 ;
> while ( $anzahl ne $i) {
> $i++ ;
> system ( "bibtex Paper_J2ME$i" ) ;
> }
> system ( "pdflatex Paper_J2ME.tex" ) ;
> system ( "pdflatex Paper_J2ME.tex" ) ;
> system ( "Paper_J2ME.pdf" ) ;

Um das Problem der blockierten Datei zu umgehen, könnte man eine
temporäre Datei verwenden. Ungetestet:

...
system ( "pdflatex Paper_J2ME.tex" ) for (1..2);
use File::Copy qw(cp);
use File::Temp qw(tempfile);
my(undef, $filename) = tempfile(SUFFIX => ".pdf");
cp "Paper_J2ME.pdf", $filename or die $!;
system $filename;

Gruß,
Slaven

--
Slaven Rezic - slaven <at> rezic <dot> de

tkruler - Perl/Tk program for measuring screen distances
http://ptktools.sourceforge.net/#tkruler
Slaven Rezic [ Fr, 06 Oktober 2006 01:01 ] [ ID #1490402 ]

Re: Fenster schließen Acrobat Reader

Slaven Rezic schrieb:
> Henning Bredel <h.bredel [at] gmx.de> writes:
>
>> hi,
>>
>> habe ein Skript für einen LaTeX-Kompiliervorgang geschrieben -- noch
>> etwas rudimentär (manuelles anpassen der .tex-Datei).
>>
>> Ich würde nun gerne mein Skript in dem Sinne erweitern, dass die am Ende
>> im Acrobat Reader (7.0) dargestellte Datei, beim nächsten Durchlauf ge-
>> schlossen wird. Sonst meckert der pdflatex-Comipler, er könne nicht auf
>> die Datei schreiben.
>>
>> Welchen Befehl muss ich denn da verwenden, damit mein Skript nur das
>> Fenster und nicht gleich den ganzen Reader schließt?!
>>
>> Mein Skript ist unten angehängt
>>
>> gruß
>>
>> Henning
>>
>> -----------------Code-------------------------
>>
>> #!/usr/bin/perl
>> #
>> #makefile.pl
>> #Komilierskript für LaTeX-Dokumente mit eingebundenen
>> #bibtopic.sty Paket
>>
>> $anzahl = 0;
>>
>> system ( "pdflatex Paper_J2ME.tex" ) ;
>> print "Wie viele Literaturunterabschnitte?! " ;
>> $anzahl = <STDIN> ; chomp $anzahl ; $i = 0 ;
>> while ( $anzahl ne $i) {
>> $i++ ;
>> system ( "bibtex Paper_J2ME$i" ) ;
>> }
>> system ( "pdflatex Paper_J2ME.tex" ) ;
>> system ( "pdflatex Paper_J2ME.tex" ) ;
>> system ( "Paper_J2ME.pdf" ) ;
>
> Um das Problem der blockierten Datei zu umgehen, könnte man eine
> temporäre Datei verwenden. Ungetestet:
>
> ...
> system ( "pdflatex Paper_J2ME.tex" ) for (1..2);
> use File::Copy qw(cp);
> use File::Temp qw(tempfile);
> my(undef, $filename) = tempfile(SUFFIX => ".pdf");
> cp "Paper_J2ME.pdf", $filename or die $!;
> system $filename;
>
> Gruß,
> Slaven
>
Hey,

danke für den Hinweis. Skript läuft zumindest ohne Fehler durch, aber
sobald das pdf-dokument geöffnet ist, beendet sich das skript nicht...
fensterchaos -- naja, war auch nur ne frage, ob das über das skript eben
zu managen wäre.
Ich hätte es halt toll gefunden, wenn die Datei ein und dieselbe bleibt,
und sich nur das fenster des readers schließt, wenn die datei erneut er-
stellt wird. TeXniCenter macht das irgendwie,... vll. finde ich da nen
Skript,.. ich schau mir das mal an.

Gruß

henning
Henning Bredel [ Fr, 06 Oktober 2006 09:27 ] [ ID #1491805 ]

Re: Fenster schließen Acrobat Reader

Henning Bredel schrieb:

> Welchen Befehl muss ich denn da verwenden, damit mein Skript nur das
> Fenster und nicht gleich den ganzen Reader schließt?!

Welches OS? Für Windows googele bitte nach "dde docclose", für Linux wird
es schwierig. TeXnic-Center ist übrigens Open Source, also schau da einfach
nach.


Frank
Frank Wiegand [ Fr, 06 Oktober 2006 11:12 ] [ ID #1491806 ]

Re: Fenster schließen Acrobat Reader

Frank Wiegand schrieb:
> Henning Bredel schrieb:
>
>> Welchen Befehl muss ich denn da verwenden, damit mein Skript nur das
>> Fenster und nicht gleich den ganzen Reader schließt?!
>
> Welches OS? Für Windows googele bitte nach "dde docclose", für Linux wird
> es schwierig. TeXnic-Center ist übrigens Open Source, also schau da einfach
> nach.
>
>
> Frank
hey gute idee,... bin ich ehrlich gesagt nicht drauf gekommen :(

naja, man lent nie aus

Gruß

Henning
Henning Bredel [ Fr, 06 Oktober 2006 12:51 ] [ ID #1491807 ]
Perl » de.comp.lang.perl.misc » Fenster schließen Acrobat Reader

Vorheriges Thema: Net::Dict schneller machen
Nächstes Thema: LWP und Cookies