metapostについて

metapostについて

- 8739 8739 の投稿
返信数: 17
数学の教科書・参考書等に載っているグラフをTeXで描くことができなくて困っています。とりあえず、metapostを使って線を書くことはできたのですが、http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?MetaPost
の下のほうに載っている例ができません・・・。

ちなみに線を描くのは以下の方法でやってます。
beginfig(1);
u=100;
draw (u,0)--(2u,u)--(u,2u)--(0,u);
endfig;
end.
をメモ帳にコピーして、test.mpというファイル名をつけたら、コマンドプロンプトでmpost testで実行してできた、test.1のファイル名をtest.epsに変えて

\documentclass[a4paper,12pt]{jarticle}
\usepackage[dviout]{graphicx}
\begin{document}
\begin{center}
\includegraphics{test.eps}
\end{center}
\end{document}

とTeXで入力すれば、図が出力されるのですが・・・、
「数学のテスト問題に使えそうな例」で
verbatimtex
%&latex
\documentclass{article}
\begin{document}
etex;
beginfig(1);
u=1cm;
drawarrow (-.5u,0)--(4u,0);
drawarrow (0,-.5u)--(0,2u);
pickup pencircle scaled 1pt;
draw (0,0){up}
for i=1 upto 8: ..(i/2,sqrt(i/2))*u endfor;
label.lrt(btex $\sqrt{x}$ etex, (3,sqrt(3))*u);
label.rt(btex $x$ etex, (4,0)*u);
label.top(btex $y$ etex, (0,2)*u);
label.llft(btex O etex, (0,0));
endfig;
end.
を出力することが出来ません。
どなたか教えていただけないでしょうか?
8739 8739 への返信

Re: metapostについて

- 匿 名 の投稿
もし,mpost,jmpost の一方しか試していないなら
他方を試してみるとどうなりますか?
匿 名 への返信

Re: metapostについて

- 8739 8739 の投稿
早速の返信ありがとうございます。
mpost,jmpostとは何でしょうか?
TeX Wikiで検索したのですが、わかりませんでした・・・。
8739 8739 への返信

Re: metapostについて

- Z. R. の投稿
MetaPost が失敗(エラー終了)するのでしょうか、それとも LaTeX が失敗するのでしょうか。あるいは、「DVI ファイルは作れたが、それを dviout で見ることができない」でしょうか。
Z. R. への返信

Re: metapostについて

- 8739 8739 の投稿
コマンドプロンプトでつまづいてしまいます・・・。

まず、メモ帳で

verbatimtex
%&latex
\documentclass{article}
\begin{document}
etex;
beginfig(1);
u=1cm;
drawarrow (-.5u,0)--(4u,0);
drawarrow (0,-.5u)--(0,2u);
pickup pencircle scaled 1pt;
draw (0,0){up}
for i=1 upto 8: ..(i/2,sqrt(i/2))*u endfor;
label.lrt(btex $\sqrt{x}$ etex, (3,sqrt(3))*u);
label.rt(btex $x$ etex, (4,0)*u);
label.top(btex $y$ etex, (0,2)*u);
label.llft(btex O etex, (0,0));
endfig;
end.
をtest.mpで保存してコマンドプロンプトで
mpost test
で実行すると
Please type another input file name:
と表示されます・・・。



http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?MetaPost
を見ていると、
「このように TeX や LaTeX の文書が含まれている場合は, TeX または LaTeX を起動するコマンドをあらかじめ環境変数 TEX で指定しておく必要があります。 たとえば上の例で LaTeX を起動するコマンドが latex なら, Bシェルの類なら export TEX=latex, Cシェルなら setenv TEX latex としてから mpost test と打ち込みます。」
が関係していると思うのですが、この文を全く理解できません・・・。
8739 8739 への返信

Re: metapostについて

- 奥村 晴彦 の投稿
いまWindowsがないので確認できませんが,Windowsなかたはこのあたりを無視して
%&latex
の行で制御するほうが楽そうですね(これをplatexにする)。
あとは,mpostの代わりにjmpostを使うことでしょうね。
8739 8739 への返信

Re: metapostについて

- 奥村 晴彦 の投稿
関係ありませんが,emathもこのような用途には便利かもしれません。
奥村 晴彦 への返信

Re: metapostについて

- 大熊 一弘 の投稿
大熊 一弘 への返信

Re: metapostについて

- 8739 8739 の投稿
詳しい説明、ありがとうございます!!
しかし、自分が全くの初心者なので「タイプセット」「perl」の単語の意味がわかりません・・・。
自分は、美文書を使ってWinShellをインストールして使っているのですが、手順をもう少し細かく説明していただけると幸いです。

自分なりに調べてはいるのですが、emath.styとemathP.styがよくわかりません。
これはファイル名なのですか?それとも全く別のものですか?

初心者極まりない発言で申し訳ないです・・・。
8739 8739 への返信

Re: metapostについて

- 大熊 一弘 の投稿

> 自分が全くの初心者なので「タイプセット」「perl」の単語の意味がわかりません・・・。

.tex ファイルを .dvi ファイルに変換することを「タイプセット」と称しました。

グラフを描画するにはグラフ上の点をプロットする必要があります。
TeX は,数値計算ソフトではありませんから,
関数計算などは他のソフトを使用するのが一つの方法です。
emath パッケージでは,そのために「perl」というソフトを使用しています。

> 自分なりに調べてはいるのですが、emath.styとemathP.styがよくわかりません。

emath についてのご質問は,emath サポートサイト
http://emath.s40.xrea.com/)
の掲示板へどうぞ。

奥村 晴彦 への返信

Re: metapostについて

- 8739 8739 の投稿
奥村先生から直接返信いただけるとは思ってもいませんでした!!

とりあえず、emathを使ってみることにします。
自分は美文書からTeXをはじめた全くの初心者ですので、アドバイスをお願いします。
8739 8739 への返信

Re: metapostについて

- 匿 名 の投稿
>まず、メモ帳で
><<略>>

>をtest.mpで保存して

保存されたファイルにtxtという拡張子が付き、ファイル名が
test.mp.txt
となっていませんか?


匿 名 への返信

Re: metapostについて

- 8739 8739 の投稿
申し訳ないです・・・。
コマンドプロンプトでつまずいていたのは、ファイル場所のせいだったようです・・・。
ファイル名は拡張子を表示させているので、test.mp.txtにはなっていません。

と、コマンドプロンプトは成功したようなのですが、
\documentclass[a4paper,12pt]{jarticle}
\usepackage[dviout]{graphicx}
\begin{document}
\begin{center}
\includegraphics{test.eps}
\end{center}
\end{document}
をWInShellで実行すると、警告みたいなものが出てきてしまいます・・・。
8739 8739 への返信

Re: metapostについて

- Z. R. の投稿

>警告みたいなものが出てきてしまいます

誰かに助けを求めているならば、その「誰か」が状況がわかるようにしなければなりません。どんな「警告」が出たのですか。図は画面に出てきたのですか。

8739 8739 への返信

Re: metapostについて

- Z. R. の投稿

そもそも「フォルダ」の扱いは大丈夫でしょうか。つまり、"mpost test" を実行しているコマンドプロンプトの現在の作業フォルダ(カレントフォルダ)に作成した test.mp は存在しているでしょうか。

カレントフォルダの中身を表示する命令は "dir" です。また、"start ." でエクスプローラが起動します。

Z. R. への返信

Re: metapostについて

- 8739 8739 の投稿
申し訳ありません、その通りでした。
コマンドプロンプトは上手く行ったようですが、WinShellでエラーが出てしまいます・・・。