wabin氏 の ブログ

Windows 8.1 への切り替えを機に、ソフトの導入過程などを記載しています。

全体表示

[ リスト ]

W32TexAsymptote の導入(インストール)に成功するまで経緯(1)
 
最近 {Asymptoteのつかいかた} というサイトで "Asymptote" という面白そうなソフト(プログラム言語)が存在することを知りました。このソフトを使うと様々な図形をベクタグラフィックで描くことや、数式をTeX流に表示ができそうですので、早速インストールしてみました。
ところがテストしてみると「フォントが見つからない」とのエラーが出てしまい、作図できませんでした。本稿では、そのエラーを回避し、作図が可能となるまでの経緯を記述いたします。
 
【1】初期インストール/テスト
資料1={Asymptoteのつかいかた/インストール}を参考にして、Windows 8.1 のフォルダ"D:\dt13a" のもとに 、"W32TeX""Asymptote" などをインストールしました。フォルダ "\dt13a" 内には "W32TeX","Asymptote" のみでなく "gs", "Ghostgum" というフォルダも作られます。
資料1内の{ためしてみる}に記載されているとおりに
       size(4cm);
       filldraw(polygon(6), palegreen, deepgreen+2);
       label("{\huge 六角形}");
という内容のテキストファイル "hex.asy" を作り、コマンドプロンプトで「asy -f png hex.asy」を実行してみました。すんなり、六角形という文字ラベルの付いた六角形画像が描かれると思いきや、
       mktexmf: empty or non existent rootfile
       Cannot find cmr12.mf
というようなエラーが続々と出てしまい、画像が表示されませんでした。
ただし、上記の"hex.asy"の3行目を取り去るコメント化すると、ラベル表示無しで六角形画像が描かれます。
イメージ 1
その他にも色々なチェックをしてみました。チェックの方法については【4】に記載しておきましたが、この段階では「必要なフォントが見つからない」というエラーが出てしまい、うまくいきませんでした。
明らかに文字フォントが十分にインストールされていないようなので、フォルダ "W32TeX" を丸ごと削除し、{W32TeX}に記載されている方法でインストールをやり直してみたり、ダウンロードサイトを変更してみる等の事を試みましたが、結果は同じでした。
 
【2】不足フォントの入手
コマンドプロンプトで「asy -f png hex.asy」を実行した際のエラーメッセージを参考にすると、不足しているフォントは cmr12.mf, cmr12.tfm, cmr12.pfb などであることがわかります。それらをキーワードにしてウェブを検索してみると、それらは「CTAN」
  [A1] cmr12.mf は … {http://www.ctan.org/tex-archive/fonts/cm/mf}.
  [A2] cmr12.tfmは … {http://www.ctan.org/tex-archive/fonts/cm/tfm}.
  [A3} cmr12.pfbは … {http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma/pfb}
に入っていることがわかります。
これらのサイト内の "zipファイル"をダウンロードし解凍すれば、必要とする物を含むファイル群を入手することができます。ただし、今の段階では "W32TeX" 内のどこにこれらのファイルを入れれば良いかわからないので「中間貯蔵フォルダ」を作り、そこにファイルを一旦収めました。
 
その中間貯蔵フォルダから、Asymptoteのコマンド「asy -f png hex.asy」を実行するカレントフォルダ内に必要なファイル(cmr12.mf, cmr17.mf, greekl.mf, greeku.mf, roman.mf, romanl.mf, romanu.mf, cmr12.pfb,cmr17.pfb)をコピーし直接入れてしまえばlabel("{\huge 六形}");という文が実行できるようになりました。ただし、なぜか、図が左端に寄ってしまって、左側の一部が欠けて表示されてしまいます。この原因は未だ不明です。
 
【3】不足フォントを"w32tex\share\"内に追加
不足フォントを追加する場合、たくさんの配布ファイルが収められたフォルダ "w32tex\share\texmf-dist" の方にではなく、"w32tex\share\texmf-local" のほうに入れることにしました。
"texmf-local"以下のフォルダ名をどのように命名すべきかわかりませんでしたが、該当する拡張子(.mf, .tfm, .pfb)のファイルが "texmf-dist\fonts" 内のどんなフォルダに入っているか、「CTAN」のどんな構成のフォルダに入っているか、などを調査勘案しつつも、自己流かつ適当に、フォルダ名称と構成を下記のように定めました。
  [B1]  *.mf  の収納場所 … {texmf-local\fonts\source\public\cm\mf\}
  [B2]  *.tfm の収納場所 … {texmf-local\fonts\tfm\public\cm\tfm\}
  [B3]  *.pfb の収納場所 … {texmf-local\fonts\type1\public\cm\pfb\}
まず [B1] を作成し、そこに中間貯蔵フォルダから "*.mf" をコピーしました。そして、Asymptoteのコマンド「asy -f png hex.asy」を実行すると [B2] が自動的に作り出されました。この時点では [B3] は必要なかったが "hex.asy" 内のlabel("{\huge 六角形}")label("{\huge Hex}")」に変更すると "cmr12.pfb" などが見つからないというエラーが発生しました。よってその時点で[B3]を作成し、そこに中間貯蔵フォルダから "*.pfb" をコピーするとエラーが消えました。
 
【4】チェック
以上で、Asymptoteのコマンド「asy -f png hex.asy」が実行できるようになり、画像が表示されるようになりました。その他にも "W32TeX" に含まれる "dviout""TeXworks" を使ってみることができますので、参考となるサイトを記載しておきます。
[C1] {日本語TeX のインストールのチェック}により「簡単なTeXのファイルからdviファイルを作成し、
      それを "dviout" で表示できるかどうかテスト」できます。
[C2] {TeXworks/使い方} に記載された例文を "TeXworks" で表示してみることができます。
 
【5】最後の一言
以上ながながと経緯を記述しましたが、問題は「"w32tex" のフォントをどのように追加するのか」ということでした。この問題に対し、ウェブで色々と検索・調査してみたのですが、的を得た記事には出会えませんでした。
ここでは【3】で述べたように、フォントを追加するフォルダの構成と名称を、自己流かつ適当に定めましたが、本当にこれでいいのかとの思いがあります。このように定めても、フォント検索の効率に影響しないのかという疑問が残っています。

閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事