忍者ブログ
Yaleで、遊んで学ぶ日々。

Yaleで、遊んで学ぶ日々。

囲碁、ときどきプログラミング、ところにより経済。
[1]  [2]  [3
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

タイトル通り。どうしよう。まじどうしよう。以前ソースを書いてからTexを一式入れ直しているので、改めてBeamerを入れ直したのだけど、エラーが出て回らない。Winshellは強制終了する始末。コマンドラインからコンパイルしても何かUndefined sequenceだとかIllegalなんたらとかいちいち止まる始末。まずい。

困った末にUbuntuの方で試してみたら、綺麗にサンプルコードが回った!! Beamerを入れる必要すらなかった。理由は分からんなぁ。何かが足りないとかそういうことなんだろうな。

とりあえずUbuntuで準備しよう。ほんとよかった。時間が空いたら問題を解決しよう。

PR
Windowsではテキストエディタには真魚(まな)を使っていて大分気に入っていた(TexのみWinshellでやっていたけど)のだけど、Ununtuでは動かなかったので他のエディタを探す。ネット上で情報を集めてみたところ、Emacs, Vi, Kate, gedit, Kwriteあたりが主流らしい(参考)。

格好良さそうだったのでEmacsを10分いじってみたが、慣れるのにやたら時間がかかりそうだったので、当面はgeditを使うことにした。タブ表示だし、色も綺麗なのでちょっと真魚(まな)に似ているし。

さて、多くのプログラミング言語ではテキストファイルでコードを書いたあとコンパイルしたり実行したりする作業があるけど、それをターミナルを開かないでエディタ上からできると手間が少なくて楽。そのために、テキストエディタを特定のコマンドを実行するようカスタマイズしておくと便利。geditでは、これは「外部ツール」というプラグインでできるようになる。要するに実行させたいシェルスクリプトを書いて登録しておく、という機能だ。

使い方は、まず「編集」→「設定」→「プラグイン」 から、「外部ツール」にチェックを入れる。そうすると、「ツール」の中に外部ツールというのができるのでそれを選択。新規ボタンを押せば新しいスクリプトを定義することができる。

とりあえずgeditをlatexで使えるようにWinshellで使うようなコマンドを登録しよう。登録するのは、とりあえず次の4つの機能だけ。他はそのうち付け足す。

1. texを回す
2. DVIを表示
3, DVIからPDFを作る
4. PDFを開く

1.
#! /bin/sh
platex $GEDIT_CURRENT_DOCUMENT_PATH


2.
#! /bin/sh
xdvi ${GEDIT_CURRENT_DOCUMENT_PATH%.*}.dvi


3.
#! /bin/sh
dvipdfmx ${GEDIT_CURRENT_DOCUMENT_PATH%.*}

4.
#! /bin/sh
xpdf ${GEDIT_CURRENT_DOCUMENT_PATH%.*}.pdf


* xpdfは事前にインストールしておくのが前提。
Ubuntuへの移行計画のつづき。今まで面倒くさいと思ってやって来なかったけど、日本語でTexを出力できるようにした。

このページがすべて。ありがとう。
【コピペ】
  1. 必要ソフトウェアのインストール
    sudo apt-get install texlive texlive-latex-extra dvipng latex-xft-fonts okumura-clsfiles xdvik-ja dvipsk-ja latex-cjk-japanese latex-cjk-japanese-wadalab jbibtex-bin mendexk xpdf xpdf-japanese gv gs-cjk-resource cmap-adobe-japan1 cmap-adobe-japan2 cmap-adobe-cns1 cmap-adobe-gb1 cmap-adobe-korea1 nkf
  2. フォントの設定
    1. sudo jisftconfig add
    2. /etc/texmf/vfontmap.d/20ptex-jisfonts.mapを以下のように書き換え
      ### For ptex-jisfonts
      @Mincho Roman|Mincho@
      rml-jis JIS-H
      @Gothic SansSerif|Gothic@
      gbm-jis JIS-H
    3. sudo update-vfontmap
  3. 文字エンコーディングの変更
    nkf -e 元texファイル名 > 新texファイル名

最後の3番目の項目が上記ページでは抜け落ちている.texはもともとEUCで書くことを想定しているが,Ubuntuはデフォルト文字エンコー ディングがUTF-8であるため,最後の項目を行なわないと日本語などの英語以外の部分が文字化けしてしまう.毎回,texファイルを作成したらnkfコ マンドを実行することを心がけよう.

2番目の項目は必須ではないが,IPAモナーフォントがフォントとして用いられるようになるため,文字が格段にきれいに印字されるようになる.
【コピペ終】
 


日本語使っているとエンコーディングの問題が本当に頻繁に起こるなぁ。



Tex関連の記事が続いているけど、今回は以前の記事で触れた、metapostの話の続きだ。
フォントインストールなどの際に、latexを一式入れ替えた(『美文書』のCDのものからあべのりのインストーラによるものへ)のだけど、その後metapost関連のファイル構成が違っていることに気づいた。
まず第1に、jmpostがない。コマンドが認識されていないので、ソフトそのものが入っていないんだろうと思う。それから、以前の記事に書いた、数式の入った図をmpostを使って書く方法が機能しなくなった。

例えば、

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 にかけると(コマンド mpost test)、次のようなエラーが出るようだ。

>> test.mpx
! Unable to make mpx file.
l.13 label.lrt(btex
                    $\sqrt{x}$ etex, (3,sqrt(3))*u);
The two files given above are one of your source files
and an auxiliary file I need to read to find out what your
btex..etex blocks mean. If you don't know why I had trouble,
try running it manually through MPtoTeX, TeX, and DVItoMP

この数式を書いている部分(btex ~ etex)で何か良くないことが起こっているみたいだ。


どうにもならないので色々検索していたら、色んな情報が見つかった。ちなみにこういうときはエラーメッセージ(大抵LOGファイルに出力されている)でGoogle検索をすると良い。その中で、こんなページを発見。

そこで紹介されていたコードを見ると、

prologues:=3;
beginfig(0);
  h=30;
  w=100;
  r=70;
  d=5;
  draw (0, h)--(2w, h);
  draw (w, 0)--(w, h+w);
  dotlabel.rt(btex ${\rm i}c$ etex, (w, h+40));
  pickup pencircle scaled 2pt;
  draw (w-r, h)--(w+r, h)..(w, h+r)..cycle;
  draw (w+h, h+0.7d)--(w+h+d,h)--(w+h, h-0.7d);
endfig;
end.

となっている。美文書の方では数式を出すためには必要とされていた、
verbatimtex
  \documentclass{article}
  \begin{document}
  etex;
という部分が丸ごと抜けているわけだ。こんなんで上手くいくのかと思いつつも試しにこのコードでmpostをかけてみたところ、成功した。数式も綺麗に表示されている。理由は分からないけど、これで一応問題は解決した。色々な数式を試してみたところ、大抵のものはOKだった。だけど、なぜか分数 \frac{}{} だけうまく行かなかった。まぁ分数は 1/2 みたいにかけるので実質的な問題はない。


先日書いた、latexにGaramondフォントを導入する方法に、若干抜けている部分があったので補足(→その記事)。latexのファイル構造をすっきりさせる目的で一度インストールしなおしたところ、その記事に書いてある手順だけでは不十分だということに気づいた。mathdesign-garamondのdocumentationにも書いてあるとおり、urw-garamondというフォントが入っていないと機能しないらしい。本当、知れば知るほど謎が増える。urw-garamondの導入方法はここに書いてあった。Garamond導入の方法を色々探している過程で、mathdesignに行き着くより先にurw-garamondの導入はしてあったので、これが必要条件だったとは気づかなかった。

【urw-garamondのインストール】
(1) パッケージのDL: CTANから。
(2) 解凍し、その中で拡張子が .afmのファイルを全て TEXMF\fonts\afm\urw\garamond へ移動(TEXMFはtexのルート。普通は \texmfフォルダか、 \texmf-localフォルダ)。普通はgaramondというフォルダはないので作る。
(3) 同様に、拡張子が .pfbのファイルを全て TEXMF\fonts\type1\urw\garamondへ移動(修正:pfm -> pfb, 03/10/2010)。
(4) ugm.zipを \texmf に展開する。注: ugm.zipを展開すると、ugmというフォルダが出来て、その中にdoc, dvips, tex, fonts というフォルダが入っている。この4フォルダを\texmf に移動する。すると、 TEXMFのなかにはもともと同じ名前のフォルダがあるので、上書き確認のメッセージボックスが出るので、全てOKする。実際にはdoc等の中に新しいフォルダを加える作業だから、ファイルの上書きはされない。
(5) コマンドプロンプトで、
       updmap -add ugm.map
 のコマンドを実行。一応、
      mktexlsr
もしておいたほうが良いのかも(たぶん不要?)。
以上。

【mathdesign-urw-garamondのインストール(以前の記事と同じ内容)】
(1) mdcore.zip をDL: CTANから。これをTEXMFに展開。上書き確認を全てOK.
(2) mdugm.zipをDL: CTANから。これをTEXMFに展開。上書き確認を全てOK.
(3) コマンドプロンプトで
     mktexlsr
(4) コマンドプロンプトで
     updmap -add mdugm.map
以上。

mathdesign には3種類のフォントが用意されている。MD-urw-garamond, MD-adobe-utopia, MD-bistream-charter (MDはmathdesignの略)。Garamond以外をインストールするには、"mdugm" の部分を "mdbch", "mdput" に読み替えてやればよい。
使用方法は、プリアンブルに下記のいずれか使いたいものを入れる。
  \usepackage[adobe-utopia]{mathdesign}
  \usepackage[urw-garamond]{mathdesign}
  \usepackage[adobe-utopia]{mathdesign}

MDシリーズはそれぞれ既存のフォントに良く合う数式フォントっていうことらしい。そのため該当する既存のフォントの存在が導入の条件になる(ということだと思うのだが)。MD-urw-garamondの場合は、urw-garamondを別途自分で導入する必要があったけど、他の2つについては、最近の標準インストールに含まれているケースが多いので自分で用意する必要がないことが多いらしい(あべのりのぺーじにあるインストーラで導入した場合はOKだった)。


今後も次第に新しいパッケージを導入することになるかもしれないけど、latex導入時にもともと入っていた分と自分でインストールした分を区別するために、自分で加える分は全て \texmf-local の方に入れることにした。そうすれば、基本的にはtexmf-local以下を消せばもとのまっさらな状態に戻る(はず。すでに作られてしまったフォントとかは残ったりもするのだろうけど)。さらに、インストール用のバッチファイルを残しておけば復元も可能。現在、そのバッチファイルは、mathdesignフォント、paper.sty (ちょっとカッコいいdocumentclass)、yalephd.cls(Yaleの博士論文用のdocumentclass)をインストールするようになっている。先ほど動作確認が完了した。
Calender
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Search in This Blog
Latest Comments
[03/30 川内のばば山田]
[03/30 川内のばば山田]
[08/06 Aterarie]
[07/05 Agazoger]
[07/01 Thomaskina]
Oldest Posts
Latest Trackbacks
フリーエリア

Barcode
Access Analysis
Powerd by NINJAブログ / Designed by SUSH
Copyright © Yaleで、遊んで学ぶ日々。 All Rights Reserved.
忍者ブログ [PR]