PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pstool und "Unable to open the initial device, quitting"



weaker
06-08-2012, 17:27
Hallo zusammen,

ich bekomme bei Verwendung von pstool dauernd Unable to open the initial device, quitting Fehler. Ich habe gelesen, das käme von nicht ausreichenden Rechten in dem Verzeichnis oder von fehlendem Shell-Escape.
Die Rechte hab ich kontrolliert und habe auch -enable-write18 drin und hatte auch sonst keine Probleme beim Shell-Escape.

Ich habe auch bereits verschiedene Optionen für pstool ausprobiert und die Optionen ps2pdf-options und latex-options ausprobiert, aber es half alles nichts. Auch ein Hinweis, die TEMP-Variable sei auf ein nicht schreibfähiges Verzeichnis gesetzt, half nichts.


\documentclass[a4paper, 11pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{amsmath}

\usepackage{pstool}

\begin{document}
\section{Super caption}
This is just some text. This is just some text. This is just some text. This is just some text. This is just some text. This is just some text.

\begin{figure}
\centering
\psfragfig*[%
%crop=pdfcrop,
scale=0.4]{ex01-1}{%
\input{ex01-1.tex}
}
\caption{Matlabfrag image number 1}
\label{matlabfragimg1}
\end{figure}


\end{document}

Wenn ich dieses Minimalbeispiel kompilieren will, tritt das Problem auf.
Nötige Dateien sind angehängt, aber als txt umbenannt, weil man kein eps oder tex anhängen darf.

Es ändert auch nichts, ob ich statt \psfragfig \pstool verwende.

Ich bekomme beim kompilieren noch den Hinweis, dass die Schriften Courier und Helvetica nicht in der Mapping-Datei sind, aber das hilft mir auch nicht.
Außerdem ist da noch ein Hinweis:

miktex-makepk: Specified BDPI (8000) doesn't match your ljfour resolution.
Daraus verstehe ich nur, dass die pk-Schriften in einer falschen Auflösung generiert werden oder etwas derart.

Kann jemand das Beispiel kompilieren? Bei mir klappt es weder unter WinXP noch Win7, allerdings beides mit MikTeX 2.9 und TeXnicCenter 2.0alpha4 als Editor.

stef83
06-08-2012, 20:24
Ich hab das Beispiel kompiliert, es kommen zwar ein paar errors, liefert aber das gewünschte Resultat, außer eventuel die Formatierung.

Der error ist: 9.05: Error: Font Renderer Plugin ( FreeType ) return code = -1


Ich verwende Ubuntu, Texmaker als Editor.
kompilieren mit LaTex, mit der Option Dvi -> PS und dann PS-PDF, liefert das pdf-file.
versuchs mal!

weaker
07-08-2012, 09:22
Der Witz an pstool ist ja aber gerade der, dass ich einen pdfLaTeX-Workflow habe und im Hintergrund automatisch die latex -> dvi -> ps -> pdf Konvertierung stattfindet und das fertige pdf dann eingebunden wird.

Heißt das also, dass bei Dir unter Verwendung von pdfLaTeX auch die ganzen psfrag-Ersetzungen klappen?

u_fischer
07-08-2012, 10:35
pstool verwendet Gleichheitszeichen und Anführungszeichen für die ps2pdf-Optionen. Beides mag Windows nicht. Du kannst sowas versuchen (das erste entspricht der Defaultoptionen bitmap=looseless).


\usepackage{pstool}
\begingroup
\makeatletter
\catcode`\#=11
\gdef\pstool@bitmap@opts{%
-dAutoFilterColorImages#false
-dAutoFilterGrayImages#false %
-dColorImageFilter#/FlateEncode %
-dGrayImageFilter#/FlateEncode % space
}
\gdef\pstool@pspdf@opts{-dPDFSETTINGS#/prepress }
\endgroup

weaker
07-08-2012, 12:11
Hallo Ulrike,

vielen Dank! Das funktioniert!

Ich glaube ich habe sogar verstanden, was Du hier machst: Du setzt direkt die Variablen des Pakets, die die Optionen tragen auf die Windows-Befehlsvariante indem Du zuerst die Raute innerhalb der begingroup als normales Zeichen definierst und dann die Befehle setzt. Damit umgehst Du die pstool-eigene Übertragung der Befehle.

Interessanterweise muss man in diesem Fall die Bitmap-Optionen auch händisch setzen (weglassen geht nicht, hab ich probiert), was wohl auch der Grund ist, warum sie in Deinem Beispiel schon mit drin waren :D

Ich habe es jetzt in untenstehender Version


\usepackage{pstool}
\begingroup
\makeatletter
\catcode`\#=11
\gdef\pstool@bitmap@opts{%
-dAutoFilterColorImages#false
-dAutoFilterGrayImages#false %
-dColorImageFilter#/FlateEncode %
-dGrayImageFilter#/FlateEncode % space
}
\gdef\pstool@pspdf@opts{%
-dPDFSETTINGS#/prepress %
-dCompatibilityLevel#1.3 %
-dEmbedAllFonts#true %
-dSubsetFonts#true
}
\endgroup

Großes Danke nochmal!

u_fischer
07-08-2012, 12:34
Interessanterweise muss man in diesem Fall die Bitmap-Optionen auch händisch setzen

Weil pstools als Default bitmap=looseless benutzt. Wenn du bitmap=auto als Option benutzt, ist die Option leer und du musst auch nichts umdefinieren.

Ich würde übrigens empfehlen, Will anzuschreiben, damit er das Paket anpasst. Wenn er schon \ifwindows benutzt, dann sollte es auch funktionieren.

weaker
07-08-2012, 12:48
Danke für die weitere Erklärung. Dann schreibe ich Will mal an.