PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MetaPost: fehlerhafte Ausgabe bei mpost



xaverius
07-07-2009, 17:47
Hallo,

ich möchte mit Hilfe von MetaPost-Dateien und und dem Programm mpost ps-Grafiken erstellen. Aus einem Manual habe ich folgendes Beispiel für eine mp-Datei:

input graph;
beginfig(1);
draw begingraph(144bp,89bp);
gdraw "data.d";
endgraph;
endfig;

"data.d" hat folgenden Inhalt, den ich auch aus dem Beispiel im Manual kopiert habe. "data.d" habe ich ins Verzeichnis von mpost.exe gelegt. Das Verzeichnis, wo "graph.mp" liegt, habe ich auch probiert.

0.0 0.0
0.2 0.447214
0.4 0.632456
0.6 0.774597
0.8 0.894427
1.0 1.0

Im log-file von mpost seht folgendes:

This is MetaPost, Version 1.001 (MiKTeX 2.7) (preloaded mem=mpost 2009.7.2) 7 JUL 2009 17:39
**timestamps.mp
(timestamps.mp (C:\Programme\MiKTeX 2.7\metapost\base\graph.mp
(C:\Programme\MiKTeX 2.7\metapost\base\marith.mp
(C:\Programme\MiKTeX 2.7\metapost\base\string.mp))
(C:\Programme\MiKTeX 2.7\metapost\base\format.mp
(C:\Programme\MiKTeX 2.7\metapost\base\string.mp)
(C:\Programme\MiKTeX 2.7\metapost\base\texnum.mp))) [1])
! Emergency stop.
<*> timestamps.mp

*** (job aborted, no legal end found)

1 output file written: timestamps.1



Beim Öffnen der mit "mpost beispiel.mp" erzeugten ps-Datei erhalte ich von GSView jedoch folgende Fehlermeldung. Hat jemand Vorschläge, was das Problem sein könnte. Vielen Dank, André.


GSview 4.9 2007-11-18
GPL Ghostscript 8.64 (2009-02-03)
Copyright (C) 2009 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Displaying non DSC file U:/diagramme/timestamps.1
Error: /undefined in cmr10
Operand stack:
(0)
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- false 1 %stopped_push 1862 1 3 %oparray_pop 1861 1 3 %oparray_pop 1845 1 3 %oparray_pop 1739 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:1156/1684(ro)(G)-- --dict:0/20(G)-- --dict:73/200(L)--
Current allocation mode is local
Last OS error: No such file or directory

--- Begin offending input ---
%!PS
%%BoundingBox: -25 -19 147 92
%%HiResBoundingBox: -24.73009 -18.42036 146.25 91.25
%%Creator: MetaPost 1.001
%%CreationDate: 2009.07.07:1739
%%Pages: 1
%*Font: cmr10 9.96265 9.96265 2e:baa
%%BeginProlog
%%EndProlog
%%Page: 1 1
gsave newpath 0 0 moveto
144 0 lineto
144 89 lineto
0 89 lineto
closepath clip
0 0 0 setrgbcolor 0 0.5 dtransform truncate idtransform setlinewidth pop
[] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
newpath 8.85039 5.47003 movet
34.11023 40.37961 lineto
59.37009 54.83969 lineto
67.78874 58.53839 76.21126 62.2371 84.63185 65.9358 curveto
93.05052 69.05438 101.47112 72.1706 109.8917 75.28918 curveto
135.15155 83.53116 lineto stroke
grestore
0 0 0 setrgbcolor 0.5
0 dtransform exch truncate exch idtransform pop setlinewidth [] 0 setdash
1 setlinecap 1 setlinejoin 10 setmiterlimit
newpath 8.85039 -7 moveto
8.85039 0 lineto stroke
6.35971 -16.42036 moveto
(0) cmr10 9.96265 fshow
newpath 34.11023 -7 moveto
34.11023 0 lineto stroke
27.745
--- End offending input ---
file offset = 1024
gsapi_run_string_continue returns -101

voss
07-07-2009, 19:05
ich möchte mit Hilfe von MetaPost-Dateien und und dem Programm mpost ps-Grafiken erstellen. Aus einem Manual habe ich folgendes Beispiel für eine mp-Datei:

input graph;
beginfig(1);
draw begingraph(144bp,89bp);
gdraw "data.d";
endgraph;
endfig;
end;

! Emergency stop.
<*> timestamps.mp

*** (job aborted, no legal end found)

1 output file written: timestamps.1


da steht doch das Problem! Du hast in der mp-Datei end;
vergessen.

Herbert

u_fischer
07-07-2009, 19:13
Da fehlt ein
end; am Ende der Datei. Abgesehen davon: Wenn ich der Datei anschließen die Endung mps gebe, kann ich sie problemlos mit \includegraphics einbinden. Direkt öffnen in gsview geht aber nicht. Das liegt daran, dass bestimmte Ressourcen (Fonts) fehlen. Mit prologues:=3; verschwinden immerhin die Fehlermeldungen. Weitere Details findest du in mpman.

Ulrike Fischer

xaverius
08-07-2009, 19:39
Vielen Dank! Werde mich dann wohl mal mit dem mpman auseinandersetzen... ;)

xaverius
09-07-2009, 12:07
Okay, ich habe jetzt eine Lösung erarbeitet, gewissermaßen ein workaround: Ich stopfe die Ausgabe von mpost.exe in mptopdf.exe rein und erhalte ein vernünftiges pdf-file...