metapostでlabelを使うと画像が表示されなくなる

metapostでlabelを使うと画像が表示されなくなる

- l_avion fr の投稿
返信数: 10
以下のソース(test.mp)をTexshopでタイプセットを行なうと,
test.1,test.2,test.3がちゃんと出力されます。
これらをHyouji-test.tex(test.mpの下に記述しています)の中で
読み込んでタイプセットを行なうと,どういうわけかlabelで
文字を挿入したものが表示されません。test.2とtest.3です。
test.1はちゃんと表示されます。(pdf)
test.2,test.3用のBoxは存在しているようです。

フォーラム内およびその他のサイトを結構調べたのですが,
解決してくれるものが見当たりませんでしたので,こちらに質問
させて頂きます。宜しくお願い致します。

環境:Mac OS X 10.4.11,Texshopは美文書にある通りに設定しています。

なお,出力ファイル Hyouji-test.pdf を添付しておきます。

(test.mp)
defaultfont := "rptmr";
beginfig(1);
u=20;
fill (u,0)..(2u,u)..(u,2u)..(0,u)..cycle withcolor red;
draw (u,0)--(2u,u)--(u,2u)--(0,u);
z0=(2u,0);z1=(3u,u);z2=(2u,2u);z3=(u,u);
fill z0{(1,2)}..z1{(-1,2)}..z2..tension 2..z3..{curl 10}cycle withcolor blue;
draw z0--z1--z2--z3;
%label("Red Ball", (u,u));
endfig;

verbatimtex
%&platex
\documentclass{article}
\begin{document}
etex;
beginfig(2);
fill (u,0)..(2u,u)..(u,2u)..(0,u)..cycle withcolor red;
label(btex Area is $\pi r^2$ etex, (u,u));
endfig;

beginfig(3)
pair A;
A := (0,0);
draw A withpen pencircle scaled 4bp;
label.top(btex Au dessus etex, A);
label.bot(btex En dessous etex, A);
label.rt (btex ^^c0 droite etex, A);
label.lft(btex ^^c0 gauche etex, A);

endfig;

end.

(Hyouji-test.tex)
\documentclass{jsarticle}

\usepackage[xdvi]{graphicx}

\begin{document}
これはテストです。\bigskip

\includegraphics{test.1}
\includegraphics{test.2}
\includegraphics{test.3}
これもテストです。

\includegraphics{test2.1}

\end{document}

l_avion fr への返信

Re: metapostでlabelを使うと画像が表示されなくなる

- Akira Kakuto の投稿
\usepackage[xdvi]{graphicx}

\usepackage[dvipdfmx]{graphicx}
とすると改善するでしょう。
bounding box に負の値のある eps を Ghostscript
経由で pdf 変換する場合、一般にうまく行きませんが、
MetaPost 出力の eps は Ghostscript を経由せずに
dvipdfmx が直接 pdf 変換して埋め込むので、うまく
行きます。

Akira Kakuto への返信

Re: metapostでlabelを使うと画像が表示されなくなる

- l_avion fr の投稿
ご教示ありがとうございます。やってみたのですがうまく行きません。
出力ファイルには何ら変化は見られません。

でも

bounding box に負の値のある eps を Ghostscript

経由で pdf 変換する場合、一般にうまく行きませんが、

MetaPost 出力の eps は Ghostscript を経由せずに

dvipdfmx が直接 pdf 変換して埋め込むので、うまく

行きます。


この辺になにかヒントがありそうな気がします。
何か設定がおかしいのでしょう。
もう少し調べてみます。またよろしくお願いいたします。

l_avion fr への返信

Re: metapostでlabelを使うと画像が表示されなくなる

- Akira Kakuto の投稿
以下の場合、
dvipdfmx tst で作成した、tst.pdf を添付します。


%
% test.mp
%
beginfig(1);
u=20;
fill (u,0)..(2u,u)..(u,2u)..(0,u)..cycle withcolor red;
draw (u,0)--(2u,u)--(u,2u)--(0,u);
z0=(2u,0);z1=(3u,u);z2=(2u,2u);z3=(u,u);
fill z0{(1,2)}..z1{(-1,2)}..z2..tension 2..z3..{curl 10}cycle withcolor blue;
draw z0--z1--z2--z3;
%label("Red Ball", (u,u));
endfig;

verbatimtex
%&platex
\documentclass{article}
\font\xx=ptmr8r
\begin{document}
etex;
beginfig(2);
fill (u,0)..(2u,u)..(u,2u)..(0,u)..cycle withcolor red;
label(btex {\xx Area is} $\pi r^2$ etex, (u,u));
endfig;

beginfig(3)
pair A;
A := (0,0);
draw A withpen pencircle scaled 4bp;
label.top(btex \xx Au dessus etex, A);
label.bot(btex \xx En dessous etex, A);
label.rt (btex \xx ^^c0droite etex, A);
label.lft(btex \xx ^^c0gauche etex, A);

endfig;

end.

%
% tst.tex
%
\documentclass{jsarticle}
\usepackage[dvipdfmx]{graphicx}

\begin{document}
これはテストです。\bigskip

\includegraphics{test.1}
\includegraphics{test.2}
\includegraphics{test.3}
これもテストです。

\end{document}

Akira Kakuto への返信

Re: metapostでlabelを使うと画像が表示されなくなる

- l_avion fr の投稿
実験して頂いてありがとうございます。完璧ですね。
示して頂いたソースをコピペしてやってみましたが,やはり表示されません。
関係ないと思うのですが,TexshopではエンコーディングUTF-8でやってます。
l_avion fr への返信

Re: metapostでlabelを使うと画像が表示されなくなる

- Akira Kakuto の投稿
ターミナルにてコマンドラインでやったらどうなるでしょうか?
次の三つのコマンドです:

TEX=ptex mpost test
platex tst
dvipdfmx tst

Akira Kakuto への返信

Re: metapostでlabelを使うと画像が表示されなくなる

- l_avion fr の投稿
できました!
ということは,なにかTexshopの設定を変える必要があると言うことでしょうか?わたしには皆目見当がつきませんが…

取り敢えず,コマンドラインでできるということがわかったのでひとまず安心しました.

ありがとうございました.
l_avion fr への返信

Re: metapostでlabelを使うと画像が表示されなくなる

- Akira Kakuto の投稿
関係ないかもしれませんが...

kpsewhich --var-value=TEX

としてみてください。
これが etex と表示したとすれば
verbatimtex
%&platex
としておくと
etex '&platex' ...
と呼び出されますから、エラーとなってうまく行かないでしょう。
今の場合、日本語は無関係ですから
verbatimtex
%&latex
と書き換えるとTeXshop でも ok かもしれません。

Akira Kakuto への返信

Re: metapostでlabelを使うと画像が表示されなくなる

- l_avion fr の投稿
たびたび有り難うございます。
どういうわけか,現在TeXshopでちゃんと出力されています。
TeXshopを使わずに成功した後,MePoTexで遊んでいたものですから,
ほったらかしだったのですが,先ほどKakutoさんからの新メッセージを
頂き,TeXshopを通してみたらちゃんと表示されました。
念のために,出力ファイルをすべて消去してからやってみてもOKでした。
とくに,何をしたわけでもないのですが….
ちなみに,%&platexでも%&latexでもOKですし,xdvi,dvipdfmxどちらの
オプションしていでもうまく行きます。
ターミナルからのコンパイル等がトリガーとなって,何かが変わったのでしょうか?わたしには,ミステリーとしか言いようがありません。

kpsewhich --var-value=TEX はターミナルで打ち込むものでしょうか?
実行してみましたが,空行の後,何も表示されず,プロンプトが帰ってきます。

l_avion fr への返信

Re: metapostでlabelを使うと画像が表示されなくなる

- Akira Kakuto の投稿
rptmr には ^^c0 のグリフは無いと思います。
ptmr8r にはあります。また defaultfont は
btex etex 内には及びません:

beginfig(1);
u=20;
fill (u,0)..(2u,u)..(u,2u)..(0,u)..cycle withcolor red;
draw (u,0)--(2u,u)--(u,2u)--(0,u);
z0=(2u,0);z1=(3u,u);z2=(2u,2u);z3=(u,u);
fill z0{(1,2)}..z1{(-1,2)}..z2..tension 2..z3..{curl 10}cycle withcolor blue;
draw z0--z1--z2--z3;
%label("Red Ball", (u,u));
endfig;

verbatimtex
%&platex
\documentclass{article}
\font\xx=ptmr8r
\begin{document}
etex;
beginfig(2);
fill (u,0)..(2u,u)..(u,2u)..(0,u)..cycle withcolor red;
label(btex {\xx Area is} $\pi r^2$ etex, (u,u));
endfig;

beginfig(3)
pair A;
A := (0,0);
draw A withpen pencircle scaled 4bp;
label.top(btex \xx Au dessus etex, A);
label.bot(btex \xx En dessous etex, A);
label.rt (btex \xx ^^c0droite etex, A);
label.lft(btex \xx ^^c0gauche etex, A);
endfig;
end.