UbuntuのTeXで、ヒラギノ埋め込みに苦労す

Mac OS X で、和文フォントの埋め込みについては、おおよそ理解しているので、さして苦労するとは思わなかったのだが・・・。

“ヒラギノ明朝Pro W3.otf” を埋め込むには、このフォントファイルへのシンボリック・リンクを例えば HiraMinPro-W3.otf という名前で作って、例えば、自分のホーム下から、/texmf/fonts/openfont/ 以下に置く。以前、Mac で作っていた tashotai.map を適当なところに置く。そして、updmap.cfg (ワタシの場合、/usr/local/teTeX/share/texmf/web2c/updmap.cfg )に KanjiMap tashotai.map を追加して、texhash および updmap-sys を実行すれば、終わりのはず。

ファイルへのアクセス権がないとかで、拒否されたとき、sudo とかでやれば良かったのに、chmod 666 で読み書き可能に変更したり、何だかんだやっているうちに、おそらくは updmap-sys ではなく、updmap の方を(多分一回だけだと思うが)実行してしまったのだと思う。これが為に、その後、どんな修正を施しても変化なし。むむむ・・・・。

結局、次のページのおかげで解決した。感謝感謝です。

日本語フォントの埋め込み

うっかり updmap を実行してしまった(はず)為、自分のホーム直下の隠れフォルダー .texmf-var 以下に、kanjix.map が書き込まれ、これが最優先されてしまっていたのだった。このファイルを削除したのち、再び updmap-sys を実行すると、dvipdfmx により、ヒラギノが埋め込まれたPDFが作られた。ばんざい。

それにしても、ちょっとしたミスで迷宮入りするところだった。難しいですなあ(溜息)。

Ubuntuでのエディターが決まらない

えー、完全な独り言モードの日記です。すみません。

UbuntuでTeX文書を作成するためのエディターが決まらない。いくつか候補はあるものの、決定打がないというか、どれも少しずつ不満。

Emacs (イーマックス)。普通はこれで決まりなんだが・・・。機能的には不満はない。YaTeXとAUCTeXのどちらのEmacs Lispを使おうかと悩むぐらい。問題はフォントの表示。安定版のEmacs 22だと、日本語フォントのアンチエイリアス表示ができないらしい。開発版のEmacs-snapshot (現時点でのバージョンは 23.0? ) だとできるのだが、若干不安定である由。

Winfish LaTeX Editor、いわゆるLaTeX用の統合環境エディター。この類はいろいろあり、TeXMaker、Kileなど幾つか試したが、設定のカスタマイズなどがやりやすいので、これが一番かな? 問題はやはりフォント。文字コードをShift JISに設定すると、バックスラッシュがきちんと表示されず、それに伴って、コントロールシークエンスなどの色分け表示が上手く行かない。文字コードをUbuntu標準のユニコード(UTF8)にすれば問題なく動作するのだが。この不具合は、Winfishに限らず、TeXMakerもKileも共通。想像だが、エディター部分のルーチンは自前ではなく、Ubuntuのというか、Gnome (あるいはKDEあるいはGTK) などのディスプレー関係のコンポーネントを利用しているのだろう。そこがbugっているのだと思う。じゃあUTF8にすれば良いじゃないかという訳だが、今のところMac上のTeXがUTF8に対応してないし、Windowsとの文書のやりとりを考えると、どうしてもShift JISになってしまうのだ。EmacsだとShift JISでも問題なく表示されるんだがな。

Emacs 23 が早く安定版になってくれるのが一番なのであるが、いつになるのか。そうそう、もう一つ選択肢があった。文字コード自動判別オプションをつけてTeXをビルドする手がある。しかし、文書によって文字コードが違うのもなあ。Emacs以外で開くと、とたんに文字化けするしなあ。

ああ、悩みはつきない。しかし、なんでこんなに色んな文字コード使うかなあ。メーラーは未だにJISだし、Windowsの標準は時代遅れのShift JISだし、UNIXはEUC JP使っているところがまだまだ多いし・・・。

UbuntuでTeXを使い始める

標準のパッケージがあるのに、わざわざ自分でビルドしたのは、ひとえにShift JISコードの文書をコンパイルするため。これが出来なければ、Ubuntuで普段の作業は出来ない。

Debianのバグ(?)はどうやら iconv あたりらしいという話だったので(未確認ではあるが)、それを使わないでコンパイル。それが良かったのかどうか、ともかく無事にShift JISが通る。もっとも、デフォルトはUbuntu標準にあわせてUTF8に設定してビルドしたので、オプション指定することになるが。

hogehoge.tex という文書をShift_JISで作り、
$ platex -kanji=sjis hogehoge
とシェルから実行する。すると、hogehoge.dvi ができるので、
$ xdvi-ja hogehoge
とすれば、日本語化された dvi ビューアが起動してプレビューできる。文字化けもない。ばんざい。

しかし、課題は山積。ファインダーから hogehoge.dvi をダブルクリックすると、既定のビューアが起動してしまい、文字化けというか、漢字などが表示されない。独自ビルドではなく、日本語版セットアップヘルパーからインストールしたときは、普通に日本語も表示されたのに。想像だが、xdviとしてxdvi-jaにシンボリックリンクを張っていたのであろう。これは何とかなりそう。

もっと深刻なのは、TeXMakerから独自ビルドのplatexが使えてないらしきこと。パスは通したし、シェルからは使えるのに、何故だろう。それから、geditに入れたLaTeX PlugInからも未だ使えない。これらがダメなら、20年前と同様に Emacs から使うことになるだろう。それはそれで、昔とったなんとかで、嫌いではない。しかし、最近 MacのTeXShop に慣れた身とすれば、TeXMaker あたりが使えるとありがたいんだよなあ。

[ 追記 ] TeXMakerの件は解決。LaTeXのコマンドとして、単にplatexとしていたが、これをフルパスで /usr/local/teTeX/bin/platex とすることで解決した。シェルから which platex とすると、/usr/local/teTeX/bin/platex の方(/usr/bin/platex ではなく)が表示されるので、単に platex でも良いと思ったのだが、どういう理由か知らないが、奇妙な文字列のページが最初にくっついてしまう。謎ではあるが、ともかくフルパス指定で上手く行っているので、よしとしよう。

UbuntuでTeXをソースからコンパイル

いったい、そんなことが自分にできるのか全く自信なかったが、まあ、失うものはないし〜 :mrgreen: ということで、やってみた。Ubuntu 8.04 (Hardy Heron)にtetex3ベースのptetex3 (by 土村氏)をインストールするのが目標。

ptetex — teTeX 用日本語パッチ集

上記の土村氏のサイトからソース一式をダウンロードし、説明書の通りにした、と言えば簡単そうであるが、実はけっこう苦労した。最初にpatchがないよ、とエラーを吐かれたときにはどうなることやらと思った(笑)。 patchのような基本的ツールすら入ってないのか〜。次に、gccが実行可能ファイルを生成できないっす、というエラー。これに苦労した。依存関係を調べて、Debianでのtetex3に必要なライブラリーなどを検索。でも、大抵は入っていたような。おまじないで、gcc3.3のbasicではない方をインストールしたり、gcc3.4まで入れたりした。そんなこんなで、gcc関係のエラーは何とか突破。次にc++がないとか言われるので、g++(GNU c++コンパイラー)を入れる。最後に、lexとyaccがないと言われるので、GNU版のflexとbison (いずれも lexとyaccの拡張版である構文解析ツール)を入れる。以上で、何とかmakeに成功。ああ、疲れた〜。

あとは、make install で /var/tmp 以下に生成されたものを /usr/loca/teTeX 以下にコピーし、/usr/local/teTeX/bin にパスを通して終了。

Ubuntu 日本語版セットアップ・ヘルパー

Ubuntu 日本語版セットアップ・ヘルパー

手動でTeX関係とかあれこれインストールしていたのだが、何と何と、日本語版セットアップ・ヘルパーというのがあり、そこから一括してインストールすることができた。おまけに、xdvi が xdvik(日本語版)にリンクされていたりと、こっちの方が手動よりもずっと賢い。orz…

気づいたきっかけは、PDFリーダーが日本語フォントを表示できなかったこと。検索したら、システム ーー> システム管理 から日本語版セットアップ・ヘルパーを選べばよい、とあった。やってみると、PDFリーダー用の日本語フォント以外にも、日本語版Adobe Reader、辞書の類、その他もろもろ、そして、日本語版のTeX環境が丸ごと。最初にこれをすればよかったんだ〜。

依然としてShift JISが通らないことは変わらないが、まあ、それはそれ。どうも、Debianのバグらしい。バックスラッシュ(\)が文字化けというか、きちんと認識されてないらしいのである。うーむ、謎。

UbuntuでTeX文書の文字コードをどうするか

Ubuntuを本格的に使うつもりなら、TeXの環境をどうにかしなくてはならない。悩ましいのは文字コードだ。Ubuntuでのデフォルトの日本語コードはutf-8のようで、エディター(文書編集ソフトウェア) gedit で普通に文書を作ると、自動的に utf-8 にされる。ところが、歴史的事情(?)や諸般の事情によって、Shift JIS で使いたいのである。もともとTeXの日本語版であるASCII pTeXでは内部コードはJISだったと思う。UNIXではEUC-JPが、MS-DOS(Windowsの先祖)ではShift_JISが主に用いられていたため、ASCII pTeXはこの3種類の文字コードをサポートし、読み込むときに変換していたと記憶している。

最近では UTF8 を直接読み込めるpTeXも開発されているようだが、主流は依然として EUC-JPかShift_JIS、そしてMac OS XでのpTeXもまたShift_JISなので、UbuntuでもShift_JISで行きたいのであった。正直言えば、そろそろShift_JISなんて止めたいのであるが。

Shift_JISのLaTeX文書を組版するには、シェルからなら platex –kanji=sjis hogehoge.tex などとすればよいはずだが、何故かこれがエラーとなる。ううむ。調べてみると、どうやらデフォルトでインストールされるpTeX環境はShift_JISをサポートしていない模様。

TokyoDebianMeeting20060415

詳細は上記ページを参照されたし、なのだが、Ubuntuのパッケージの多くはDebian経由であり、そのDebianの日本語TeXが公式にはShift_JISをサポートしていないらしい。

Debian の platex は EUC-JP と ISO-2022-JP しか処理できません。 SJIS については SJIS のフォーマットファイルがあれば動くようになるようで、パッチがあるようです (あとはメンテナの mhatta さん次第?)。 (上記ページより引用)

まあ、IniTeXを使ってフォーマットファイルを自分で生成すればいいのだろうが、さすがにそんなことしたことないしなあ〜。うう、困った、困った。いっそ、Macも含めて、UTF8版のptexに変えるかとも思うが、同僚のほとんどはWindowsでTeXを使っているから、ファイルのやりとりでトラブルになりそう。Windowsだけの人は文字コードとか意識してないし、UTF8に変換して送ってくれと言っても、どうやって変換すればいいのか、分からないだろうし。

やっぱり、Shift_JISで使えるようにするしかないのかなあ。もう少し調べてみるか。やれやれ。

[ 追記 ] こんなページを見つけたが・・・。
#234547 – To compile sjis pLaTeX file… – Debian Bug report logs

UbuntuでTeX環境をインストール

Screenshot-Synaptic パッケージ・マネージャ

どうやって入れるのかなあ、LINUXなら apt-get だよなあ、と思っていたら、何とメニュー・バーのアプリケーションの選択肢に「追加と削除」なるものがある。それを選ぶと、Synaptic パッケージ・マネージャーなるツールが起動する。分野別にインストール可能なプログラムが一覧表となってわかり、後は選んで適用ボタンを押すだけ。パッケージの依存関係も処理してくれて、自動的に必要なものをネットからダウンロードしてくれる。先に欧文版のteTeX一式をインストールした後で、日本語版のpTeXをインストールしようとしたら、teTeX Live extra のこのパッケージと衝突しているので、これを削除しますけど、いいっすか?みたいなメッセージが出て、OKすれば、あとは自動でやってくれた。とっても簡単。Mac OS XのFInk Commander と似ているが、ずっと使いやすい。要するに、Linux標準の apt-get install をグラフィック・インターフェイスにしたわけだが、シェルからコマンド入力しなくていいという敷居の低さは素晴らしいと思う。

えれがんとフォント

えれがんとフォント(タイプラボ製)をTeXで使う

先日タイプラボさんからフォントパック2008(全部入りのお得セット)を購入した :mrgreen: 。日々の原稿では、もっぱら本文をセプテンバーのM、見出しをアニトMかアニトLにしている。これで日常業務はOKなのだが、それとは別に気になっているのが「えれがんと」という仮名書体。これはひらがな・カタカナのみの書体であり、明朝体との混植を想定して作られている。幸いTeXにはVirtual Fontという仕組みがあり、任意の書体を混合した仮想書体を考えることができる。makejvfでは、漢字と非漢字という区分けしかできないので、LaTeX2e的にある「和文VFの作り方」を参考にして、仮名を「えれがんとW7」、それ以外を「ヒラギノ明朝W6」に割り当てたヴァーチャル・フォントを作成してみた。道具は上記サイトで配布されているPerlプログラムとovp2ovfというOmega(TeXを多言語版に拡張したもの)付属のプログラム。Mac OS X付属の明朝はヒラギノなのだが、ウェイトがW3とW6しかない。そこでこの組合せにしてみたのだが、バランスはまあまあじゃないかな。

さあ、これで全書体がとりあえず使える状態になった。もっとも、効果的に使わないと本末転倒であるから、使い処が難しい。とくに「えれがんと」はねえ〜 😉

おお、エイリアスとシンボリックリンクは違うのか!

フォントファイルは数メガバイトあるので、TeXで使うとき、dvipdfmxが参照するディレクトリーにすべてのフォントファイルを置くことはできれば避けたい。とくにTeX以外でも利用するフォントについてはそうである。2カ所に同じファイルを置くのは無駄であるし。ということで、エイリアスを置いてみたのだが、何故かdvipdfmxによるPDF変換が上手く行かない。やむを得ず、多数の日本語フォントを2重に配置していた。

今日、ふと(ファインダーから行う)エイリアスじゃなくて(UNIX Shellで作る)シンボリック・リンクで試してみようと思いついてやってみた。あっさりとPDFに変化されて拍子抜け。何てこった。やっぱりリンク張って処理できたんじゃないか〜 🙁 。

何故にシンボリックリンクだと上手く行って、エイリアスでは駄目なのか。そもそも、マックのエイリアスってUNIXのSymbolic Linkの事ではなかったのか? どちらもファイルの種類はエイリアスと表示されるが、良く見るとアイコンのデザインが微妙に違う。ファイルサイズも違う。いずれにしても dvipdfmx で使うためには、「エイリアスを作る」では駄目で、シェルから

$ ln -s hogehoge.otf hogehoge-link.otf

のようにシンボリック・リンクを張るべし、という結論。

情報の孤島

情報の�島

手元にLaTeXマニュアルの類もないし、ネットもないので、こういうときに困る。
原稿の取りまとめをしているのだが、TeXファイルをコンパイルしようとしたら、画像ファイルがないことが判明。あー、Y氏、メインのTeXファイルと出力のdviファイルだけを添付している。このままではコンパイルできない。画像をあきらめて、後で貼り込むこともできるが、こういう時に何とかしたいと頑張ってしまうのが、損な性分ではある。否、原稿を書くよりもこういう作業の方が好きなのさ〜 :mrgreen:

まず、dviファイルをdvipdfmxでPDFに変換して、それをPreviewで開く。画像の部分だけ切り取って保存する。これで画像単独のPDFファイルが完成。こういう時にPDFが標準になっているマックは便利だ。Graphic ConverterでPDFをEPSFに変換する。あとはこれを読み込めばよい。あー、読み込み方を覚えていない、orz… ハードディスクの中をあちこち探して、以前、かみさんのレポートを作成したときの文書を発見。それを真似して記述する。コンパイルすると・・・Bounding Box の情報がない、というエラーメッセージ。はあ〜。あーBounding Box ねえ。え〜と、どうやって調べるんだったっけ。ダメだ、完全に忘れている。やっぱり諦めるか〜と思ったとき、ふと、それってファイル自身に書いてあるはずだよねえ、ということで、ダメもとで Emacs でファイルを開く。そうか、EPSFも基本的にはPSだから、テキストファイルなんだ。えらいぞ、アドビ(笑)。あれこれ苦労したが、Bounding Boxも判ったので、以上で完了。備忘録として記録。

\begin{wrapfigure}{r}{6truecm}
  \vskip -1truecm
  \includegraphics[width=7truecm, bb=0 0 217 204]%
     {hogehoge-fig1.epsf}
  \vskip 2truecm
\end{wrapfigure}

あー、でも、これってネットがないと読めないから、備忘録にならないか・・・。