Ubuntu

やっぱ、男はEmacsだな(^^;)

いや、まだ全然使いこなせてないんですがね(苦笑)。というか、以前使っていたときも、別にEmacs Lispをバリバリと書いていた訳じゃなし、普通のユーザーにすぎなかったんですから。

ともあれ、Emacs 23 (まだ安定版じゃないけど)にAUCTeXを入れて、自分の環境に合わせたカスタマイズを少々行いました。これでイーマックスもただのエディターに成り下がった :mrgreen: というか、普通に使う分には、難しいことは何もありません。ツールバーにあるライオンさん(TeXbook以来の伝統で、ライオンがTeXのイメージキャラクターなんです)のアイコンをクリックして組版、しかるのちに眼鏡のアイコン(なんで眼鏡なんだろう?)のアイコンをクリック。すると出来たPDFがプレビューできるという具合です。

Emacs編集画面

何故かWindowsのNTFSがマウントできなくなった

久しぶりに内臓ハードディスクのデータを読もうとしたら、マウントできません、との表示。この間、ntfs-3gというのをインストールして、UbuntuからもWindowsのntfs partitionをマウントできるようにしたというのに、なぜ今日になって・・・。思い当たる節は・・・うーん、rootのパスワードを設定して、ルートでログインできるようにしたことぐらいしか思いつかない。そうそう、マウントできないとのエラーメッセージを詳しく見ると、rootだけが、/dev/sda5 (これがマウントしたいデバイスの識別記号)をマウントできる、と書いてある。Ubuntuはもともとスーパーユーザー、すなわちルートがなくて、ルート権限が必要なときは sudo で対応するのだが、ルートのパスワードを作ったが為に、システムが変わってしまったのだろうか。もしそうなら、これはかなりピンチだ 😯 。

しかたなく、端末から、sudo mount /dev/sda5 としたのだが、なんだかんだエラーが出る。対処方法が2つあり、一つはWindows側から何かをする、これはパス。もう一つは、次の表示のもの。

Choice 2: 
If you don't have Windows then you can use the 
'force' option for your own responsibility. 
For example type on the command line:

  mount -t ntfs-3g /dev/sda5 /media/54G -o force

Or add the option to the relevant row in the
/etc/fstab file:

  /dev/sda5 /media/54G ntfs-3g force 0 0

自己責任で、という箇所にびびりながらも、ルートになって強制マウント、やってみたですよ。結果・・・何とかマウントできたみたいですかね。しかし、これから毎回こんなことしなくちゃならんのだろうか。なぜこんな事態になったのか、ホントの原因も不明。あー憂鬱だなあ。

Emacs+AUCTeXの設定

まだまだ改良の余地はあるが、一通り TeX のコンパイルと dvipdfmx により PDF への変換、ならびに Adobe Reader (ファイル名は acroread ) によるPDFでの表示が Emacs からできるようになったので、メモ。ちなみに、日本では多分少数派の AUCTeX を使用している。

うちの場合、TeXが2ヶ所にインストールされていることもあり、プログラムの指定でフルパスを書く必要になっている部分がある。AUCTeXをインストールするときに、./configure をオプションなしにしたため、/usr/share/ 以下のTeXに合わせて AUCTeXが設定されてしまっているのかもしれない。LaTeXの指定は、AUCTeXのカスタマイズメニューから行った為、設定ファイルの「.emacs」にプログラムが色々と書き込んでいる。それ以外は自分で指定。

ということで、とりあえず動作している設定は以下の通り。

(set-default-font "Bitstream Vera Sans Mono-10")
(set-fontset-font (frame-parameter nil 'font)
                  'japanese-jisx0208
                  '("VL ゴシック" . "unicode-bmp"))

(require 'tex-site)
(require 'tex)

;; 日本語 TeX 用の設定
(setq TeX-default-mode 'japanese-Latex-mode)

;; jsarticle を標準のクラスにする (デフォールトは jarticle)
(setq japanese-LaTeX-default-style "jsarticle")

;; (setq japanese-LaTeX-command-default "pLaTeX")

(setq kinsoku-limit 10)

(setq LaTeX-indent-level 4)
(setq LaTeX-item-indent 2)

;; View は、dvipdfmx で、pdf file を作って、Adobe Reader で閲覧
(add-to-list 'TeX-output-view-style
    '("^dvi$" "." "/usr/local/teTeX/bin/dvipdfmx %dS %d && acroread %s.pdf"))

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(LaTeX-command "/usr/local/teTeX/bin/platex --kanji=sjis"))
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 )

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使っているところがまだまだ多いし・・・。

原因はUSBケーブルの接触不良だった

携帯電話(SoftBank 705NK = Nokia N73) で撮った動画をコンピューターに転送しようとして一苦労。USBケーブルでMacに繋いでも、マウントしない。あれ?おかしいなあ。たしか以前はあっさりとマウントしたのに〜。

試しにUbuntu稼働中のVAIOに繋いでも同じ。大容量ストレージモードになっている旨の表示が出るが、マウントしない。マウントする方法をネットで調べても、繋げばあっさりとマウントする、という話ばかり。ありゃりゃ、どうなっているの?

何回かトライしているうち、瞬間的にマウントし、また直ぐに表示が消えるという現象が起きた。ははあ、さてはもしやケーブルが犯人か・・・。Nokiaに接続するコネクター部分のあそびが大きいのが気にはなっていたのだが、それが犯人とは気づかなかった。

ケーブルの下に物を置いて、コネクター部分が動かないようにして接続する。ほら〜、あっさりとマウントするじゃないか〜。

結論。Ubuntuでも、USBケーブルでNokia N73を接続するだけで、メモリーカードはあっさりとマウントされる。あ〜疲れた 😡 。

MetaGraph on Ubuntu

MetaPostのフロントエンドである MetaGraph を Ubuntu にインストールした。お絵描きソフトの要領で MetaPost のソースファイルが作成できるようだ。細部はともかく、これでおおまかな図を描くという手もあるな。グラフよりも、遷移図とか模式図などの作成に向いているかも。

JAVAで書かれているようで、起動方法は端末でMetaGraphを展開してあるディレクトリーに移り、
$ java -jar mg5.jar
とする。アプリケーション・メニューに入れる方法があれば嬉しいのだが。

Ubuntuはプリンターの設定も簡単

メニューバーから [システム>システム管理>印刷] と進み、新規のプリンターというのをクリックすると、自動的にプリンターを探してくれる。LANで接続している HP PhotoSmart が見つかるので、それを選ぶ。さて、ドライバーはどうするのかなあと思っていると、HPのサイトからドライバーをダウンロードしてくれて、あっけなく終了。ものの2、3分しかかからず、プリンターのインストールは今までで一番簡単だった。いや、驚いた。だって、MacやWindowsのときは付属のCD-ROMから、なんだかんだ10分以上かかったわけだから。まあ、サポートされているプリンターだからってことなんだろうけど、それにしても素晴らしい。

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 にパスを通して終了。