Seite 1 von 1

Probleme zwischen includepdf{test} und pgfplot

Verfasst: Fr 2. Aug 2013, 18:14
von Tillmann Walther
Hallo,
ich möchte mithilfe von pgfplots Grafiken als pdf-Dateien erstellen. Dazu benutze ich folgenden Code (Minimalbeispiel), und das ein aktuell geupdatetes MikTex 2.9
\documentclass{scrbook}

\usepackage{pgfplots}%Für schöne Latex interne Grafiken
\pgfplotsset{compat=1.8}%pgfplot-Version
\usepgfplotslibrary[external]%aus Diagrammen pdf erzeugen 01
\tikzexternalize[shell escape=-enable-write18]%aus Diagrammen pdf erzeugen 02

\usepackage{pdfpages}

\begin{document}

%\includepdf{test}

\begin{tikzpicture}
\begin{axis}[
xlabel=Cost,
ylabel=Error]
\addplot[color=red,mark=x] coordinates {
(2,-2.8559703)
(3,-3.5301677)
(4,-4.3050655)
(5,-5.1413136)
(6,-6.0322865)
(7,-6.9675052)
(8,-7.9377747)
};
\end{axis}
\end{tikzpicture}

\end{document}
und rufe pdflatex mit dem Befehl "pdflatex -shell-escape test.tex auf.

Das funktioniert und ich erhalte die Grafik als externe Datei test-figure0.pdf

Benutze ich allerdings den Befehl \includepdf{test}, so funktioniert die externe pdf-Ausgabe nicht mehr und ich erhalte folgende Fehlermeldung:

===== 'mode=convert with system call': Invoking 'pdflatex -enable-write18 -halt
-on-error -interaction=batchmode -jobname "test02-figure0" "\def\tikzexternalre
aljob{test02}\input{test02}"' ========
runsystem(pdflatex -enable-write18 -halt-on-error -interaction=batchmode -jobna
me "test02-figure0" "\def\tikzexternalrealjob{test02}\input{test02}")...execute
d.


! Package tikz Error: Sorry, the system call 'pdflatex -enable-write18 -halt-on
-error -interaction=batchmode -jobname "test02-figure0" "\def\tikzexternalrealj
ob{test02}\input{test02}"' did NOT result in a usable output file 'test02-figur
e0' (expected one of .pdf:.jpg:.jpeg:.png:). Please verify that you have enable
d system calls. For pdflatex, this is 'pdflatex -shell-escape'. Sometimes it is
also named 'write 18' or something like that. Or maybe the command simply fail
ed? Error messages can be found in 'test02-figure0.log'. If you continue now, I
'll try to typeset the picture.

See the tikz package documentation for explanation.
Type H <return> for immediate help.
...


Für Hilfe/eventuelle Ratschläge bin ich dankbar.

Grüße

Verfasst: Sa 3. Aug 2013, 11:44
von Noch so einer
Kann ich bestätigen. In der Log-Datei test1-figure0.log (ich habe Dein Dokument als test1.tex gespeichert) steht dann eine Fehlermeldung:

./test1.tex:12: Package pdfpages Error: page 1 of `test.pdf' does not exist.

Keine Ahnung, woher das kommt. Vielleicht solltest Du einen Bug-Report erstellen.

Ohne \tikzexternalize funktioniert es bei mir.

Verfasst: Sa 3. Aug 2013, 13:38
von Tillmann Walther
Keine Ahnung, woher das kommt. Vielleicht solltest Du einen Bug-Report erstellen.
Bug-Report, wo und wie mach ich das?

Verfasst: Sa 3. Aug 2013, 14:09
von u_fischer
Verstehe ich das richtig, du versuchst in test.tex test.pdf einzufügen, und zwar während pdflatex gerade test.pdf erzeugt? Das klingt etwas zweifelhaft.

Verfasst: So 4. Aug 2013, 11:42
von Besserwisser
u_fischer hat geschrieben:Verstehe ich das richtig, du versuchst in test.tex test.pdf einzufügen, und zwar während pdflatex gerade test.pdf erzeugt? Das klingt etwas zweifelhaft.
Wie sein Log-Datei-Ausschnitt zeigt, versucht er wohl eher in test02.tex test.pdf einzufügen und das sollte normalerweise funktionieren. Und "Noch so einer" versucht, wie er selbst schreibt, test.pdf in test1.tex einzufügen. Das sollte auch funktionieren. Wie ich gerade selbst ausprobiert habe, geht das aber auch unter TeX Live 2013 mit aktuellen Paketen mit dem Beispiel-Code nicht.

Also wäre ein Bug-Report tatsächlich angebracht: Dazu schaut man in der Anleitung zum Paket – im Beispiel vermutlich zu pgfplots – nach, ob der Autor dafür einen speziellen Mechanismus vorgesehen hat. Wenn das nicht der Fall ist, sucht man seiner E-Mail-Adresse und schreibt ihm eine E-Mail mit Fehlerbeschreibung und vollständigem Minimalbeispiel, versteht sich. Im konkreten Fall gibt es einen Bug-Tracker, den man für die Meldungen verwenden kann/sollte. Alternativ kann man wohl auch die Mailingliste verwenden, auf die in Abschnitt 2.6.6 der Anleitung verwiesen wird.

Verfasst: So 4. Aug 2013, 22:17
von Tillmann Walther
Ja, so war es - test.pdf in test01.pdf einzufügen war das Ziel

Verfasst: Di 6. Aug 2013, 20:15
von feuersaenger
Hallo,

ich bin Author von pgfplots und habe das Beispiel gesehen.

Allerdings verstehe ich es nicht... nach der urspruenglichen problembeschreibung wirtd "pdflatex -shell-escape test.tex" aufgerufen. Dann wird wohl
\includepdf{test}

einkommentiert und nochmal pdflatex -shell-escape test.tex aufgerufen.

Das das nicht klappen kann, hat Ulrike ja schon herausgestellt und ihr habt gesagt, dass es das auch nicht sei.

Wenn man aber nicht test.tex compiliert, was ist denn dann test.pdf?

Ich habe gerade mal das \includepdf auskommentiert und dann
pdflatex -shell-escape P.tex
(meine datei heisst jetzt P.tex) compiliert. Klappt; ich bekomme die externe figure und das richtige P.pdf .

Dann habe ich P.pdf nach test.pdf kopiert und \includepdf laufen lassen. Klappt (auch, wenn man P-figure0.pdf neu rechnet).

Kannst Du nochmal genau sagen, was Du machen moechtest?

Dann akzeptiere ich das auch als bug-report.

Mit liebem Gruss

Christian