MepoTexでlabelを使うと図形が壊れる

MepoTexでlabelを使うと図形が壊れる

- l_avion fr の投稿
返信数: 6
MepoTexでlabelを使うと図形が壊れてしまいます。
原因がわからずに困っています。
Mac OS X snow leopard です。

やりたいことは,\sendMP のなかで,forループを使って各格子点
に数値を記入したいのですが…

それから,TexShopのエディターで,ダブルクォートを入力すると,
「``''」が出力されます。
ほかのエディター(mi)で入力してコピペして凌いでいます。

===== 実験プログラム====
¥documentclass[b4paper]{jsarticle}
¥usepackage[xdvi]{graphicx}
¥usepackage{MePoTeX}

¥begin{document}

¥begin{MPpic}<0.5cm,0.5cm>(9,9)(-1,-1)

%
¥sendMP{
for i=1 upto 7:
pickup pencircle scaled 0.4pt;
draw (i*w,-0.5h)--(i*w,7.5h);
draw (-0.5w,i*h)--(7.5w,i*h);
for j=1 upto 7:
pickup pencircle scaled 3pt;
drawdot (i*w,j*h);drawdot(j*w,i*h);
endfor
endfor
%label.lft("2",(1w,1h));%<<<--これが入ると図形が壊れる
}

¥mptXaxis[l]<1mm,0mm>{$x$}% x 軸
¥mptYaxis[b]<0mm,1mm>{$y$}% y 軸
¥mptLabel{(0,0)}[tr]<-1mm,-1mm>{O}% 原点

¥end{MPpic}

¥end{document}
l_avion fr への返信

Re: MepoTexでlabelを使うと図形が壊れる

- Akira Kakuto の投稿
> %label.lft("2",(1w,1h));%<<<--これが入ると図形が壊れる

こちらでは再現できません。上の文があっても
実験プログラムにおける図形は壊れないようです。
( \ProvidesPackage{MePoTeX}[2009/04/01 MetaPost in TeX ver3.52] )

Akira Kakuto への返信

Re: MepoTexでlabelを使うと図形が壊れる

- l_avion fr の投稿
ありがとうございます。

こちらでは,添付ファイルのような結果となります。

label を入れるとTeXshopのconsoleには以下のwarningが出ます。

[1
** WARNING ** Unknown token "def"
** WARNING ** Errors occured while interpreting PostScript file.
** WARNING ** Leaving garbage in output PDF file.
** WARNING ** pdf: image inclusion failed for "@名称未設定-2.2".
** WARNING ** Failed to read image file: @名称未設定-2.2
** WARNING ** Interpreting special command PSfile (ps:) failed.
** WARNING ** >> at page="1" position="(96.2677, 446.607)" (in PDF)
** WARNING ** >> xxx "PSfile="@\xffffffe5\xffffff90\xffffff8d\xffffffe7\xffffffa7"
]
8921 bytes written


ソースは以下の通りです。

¥documentclass[b4paper]{jsarticle}

¥usepackage[xdvi]{graphicx}
¥usepackage{MePoTeX}

¥begin{document}

¥begin{MPpic}<0.5cm,0.5cm>(9,9)(-1,-1)

%
¥sendMP{
for i=1 upto 7:
pickup pencircle scaled 0.4pt;
draw (i*w,-0.5h)--(i*w,7.5h);
draw (-0.5w,i*h)--(7.5w,i*h);
for j=1 upto 7:
pickup pencircle scaled 3pt;
drawdot (i*w,j*h);drawdot(j*w,i*h);
endfor
endfor
% label.lft("b",(1w,1h));%<<<--これが入ると図形が壊れる
}

¥mptXaxis[l]<1mm,0mm>{$x$}% x 軸
¥mptYaxis[b]<0mm,1mm>{$y$}% y 軸
¥mptLabel{(0,0)}[tr]<-1mm,-1mm>{O}% 原点

¥end{MPpic}

¥bigskip

¥begin{MPpic}<0.5cm,0.5cm>(9,9)(-1,-1)
%
¥sendMP{
for i=1 upto 7:
pickup pencircle scaled 0.4pt;
draw (i*w,-0.5h)--(i*w,7.5h);
draw (-0.5w,i*h)--(7.5w,i*h);
for j=1 upto 7:
pickup pencircle scaled 3pt;
drawdot (i*w,j*h);drawdot(j*w,i*h);
endfor
endfor
label.lft("b",(1w,1h));%<<<--これが入ると図形が壊れる
}

¥mptXaxis[l]<1mm,0mm>{$x$}% x 軸
¥mptYaxis[b]<0mm,1mm>{$y$}% y 軸
¥mptLabel{(0,0)}[tr]<-1mm,-1mm>{O}% 原点

¥end{MPpic}


¥end{document}
l_avion fr への返信

Re: MepoTexでlabelを使うと図形が壊れる

- Akira Kakuto の投稿
> ** WARNING ** Unknown token "def"
> ** WARNING ** Errors occured while interpreting PostScript file.
> ** WARNING ** Leaving garbage in output PDF file.

こちらでは、同じソースで添付ファイルのようになります。
dvipdfmx が MetaPost 出力を解釈できていないようなので、
dvipdfmx が古すぎるかもしれません。あるいは、
MetaPost 出力に問題があるのかもしれません。

Akira Kakuto への返信

Re: MepoTexでlabelを使うと図形が壊れる

- l_avion fr の投稿
MepoTeXを使わずにやってみてもやはりlabelを使うとdrawによる線が
消えてしまいます。

beginfig(1);
u=30;
draw (u,0)--(2u,u)--(u,2u)--(0,u);
% label.lft("b",(1u,1u));%<<<--これが入ると図形が壊れる
endfig;
end.

をTeXshopでタイプセットすると,consoleに

TeXExec 5.2.4 - ConTeXt / PRAGMA ADE 1997-2005

metapost : test1
format : metafun
This is MetaPost, Version 0.641 (Web2C 7.5.4)
(/usr/local/teTeX/share/texmf-dist/web2c/natural.tcx)
(test1.mp [1]
metafun 2010-9-11 16:18
)
1 output file written: test1.1
Transcript written on test1.log.

total run time : 1 seconds
This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)
\write18 enabled.
[MP to PDF] (./test1.1) [warning: width<1in] [warning: height<1in] [1]
Output written on test1.pdf (1 page, 1252 bytes).
Transcript written on test1.log.

MPtoPDF 1.3 : test1 is converted to test1-1.pdf
mv: rename test1-0.pdf to test1.pdf: No such file or directory

と出ます。

dvipdfmxのバージョンはどのようにして調べればいいのでしょうか?

l_avion fr への返信

Re: MepoTexでlabelを使うと図形が壊れる

- Akira Kakuto の投稿
> をTeXshopでタイプセットすると,consoleに
> TeXExec 5.2.4 - ConTeXt / PRAGMA ADE 1997-2005
> metapost : test1
> format : metafun

この例では、ConTeXt 用 metafun.mem と mptopdf が使われています。

dvipdfmx のバージョンは dvipdfmx --version
でわかると思います。

一度 terminal で以下のようにテストするとどうでしょうか?

platex -shell-escape test
platex -shell-escape test
dvipdfmx -v test

Akira Kakuto への返信

Re: MepoTexでlabelを使うと図形が壊れる

- l_avion fr の投稿
ほんとにお手数かけて済みません。
terminalでのテストもうまくいきませんでした。
dvipdfmx -v test を実行すると,TeXshopと同じく

** WARNING ** Unknown token "def"
** WARNING ** Errors occured while interpreting PostScript file.
** WARNING ** Leaving garbage in output PDF file.
)
** WARNING ** pdf: image inclusion failed for "@test2.1".
** WARNING ** Failed to read image file: @test2.1
** WARNING ** Interpreting special command PSfile (ps:) failed.
** WARNING ** >> at page="1" position="(80.3214, 598.392)" (in PDF)
** WARNING ** >> xxx "PSfile="@test2.1" llx=-15 lly=-15 urx=124 ury=125 rwi=1390 clip"

というメッセージが出力されて,図形が表示されません。

次のような実験をしてみました。

<< test.mp >>
beginfig(1);
w=0.5cm;h=0.5cm;
for i=1 upto 7:
pickup pencircle scaled 0.4pt;
draw (i*w,-0.5h)--(i*w,7.5h);
draw (-0.5w,i*h)--(7.5w,i*h);
for j=1 upto 7:
pickup pencircle scaled 3pt;
drawdot (i*w,j*h);drawdot(j*w,i*h);
endfor
endfor
label.llft("b",(1w,1h));%<<<--これが入ると図形が壊れる(TeXshopの場合)
endfig;
end.

<< tst.tex >>
¥documentclass{jsarticle}
¥usepackage[dvipdfmx]{graphicx}
¥begin{document}
¥includegraphics[width=5cm]{test1.1}
¥end{document}

を作り,terminalから
mpost test
dvipdfmx tst
を実行。これはうまくいきました。

test.mp をTeXshopでタイプセットすると,

Warning: pdfetex (file /usr/local/teTeX/share/texmf-var/fonts/map/pdftex/updmap
/pdftex.map): fontmap entry for `qx-lmb10' already exists, duplicates ignored

ずらずらっと100個くらい表示されます。その後,TeXshopでtst.texをタイプセットするとやはり図形が表示されません。

以上の実験からなにかわかるといいのですが。

成功した方法で対処すればいいのですが,できればMepoTeXを利用したいのです。