Re: MetaPostでの数式の表示

名前: みなも
日時: 2006-07-25 19:57:45
IPアドレス: 202.233.240.*

>>44039 btex 〜 etex で挟まれた部分は TeX で処理された後 mp ファイルに変換され 〜.mpx っていうファイルになります。これが再び MetaPost によって解釈されるわけです。 で,このファイルの中を覗いてみればわかるように, フォント名が "cmmi10" などのように指定されています。 これを(TeXではなく)「MetaPost」が使えるように環境を整備しないと, 文字化けが起こります。 そんな面倒な! という場合の対処法として以下のような方法を紹介します。 TeX で取り込むのに mp --> tex --> dvi --> mpx --> (e)ps + tex --> dvi という面倒な手続きを踏むのではなく,図形部分のみ MetaPost で, 文字は TeX そのものでやってしまおうという手です。 MetaPostソースはlabelを抜いて以下の通り。(ファイル名 aaa.mp とします) beginfig(1); prologues:=1; u=1cm; drawarrow (-.5u,0)--(4u,0); drawarrow (0,-.5u)--(0,2u); pickup pencircle scaled 1; draw (0,0){up} for i=1 upto 8: ..(i/2,sqrt(i/2))*u endfor; endfig; end. これで生成されるファイルの拡張子を .ps に変更 (aaa.ps) これを以下のように読み込みます。 \documentclass{jbook} \usepackage[dviout]{graphicx}% dviout でない場合は適宜変更 \begin{document} {\unitlength=1cm \begin{picture}(4,2)(0,0) \put(-0.5,-0.5){\includegraphics{aaa.ps}} \put(3,1.732){\makebox(0,0)[tl]{$y=\sqrt{x}$}} \put(4,0){\makebox(0,0)[l]{$x$}} \put(0,2){\makebox(0,0)[b]{$y$}} \put(0,0){\makebox(0,0)[tr]{0}} \end{picture} } \end{document} \includegraphics{aaa.ps} を \put する位置は,読み込まれる図の 左下の座標になります。 あと文字列を指定するとき,\makebox のオプションの指定方法が, MetaPost のオプション指定方法と逆 (左<==>右,上<==>下) である ことに注意してください。 予め picture 環境側にもマクロを追加しておくと,より快適になるでしょう。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)