ラベル AUCTeX の投稿を表示しています。 すべての投稿を表示
ラベル AUCTeX の投稿を表示しています。 すべての投稿を表示

2016-09-04

最新 AUCTeX を Mac でコンパイルする

最新の AUCTeX を Mac でコンパイルする方法。

過去記事との違いは二点。AUCTeX のバージョン管理が cvs から git に変わったこと。Mac の TeX 環境に合わせて configure オプションを指定すること。

取得

Savannah (FSF の Git リポジトリ・ホスティング・サービス) から AUCTeX を取得する。

$ git clone git://git.sv.gnu.org/auctex.git

インストール

TeX のシステムが /usr/local/texlive/texmf-local に入っていたとする。

$ ./autogen.sh
$ ./configure --with-texmf-dir=/usr/local/texlive/texmf-local
$ make
$ sudo make install

以上。

あとがき

--with-texmf-dir のオプションが覚えられない。オプションなしで configure にディレクトリーの位置を教えることは出来ないものか? 良く分からないので、毎回オプションを指定している。

バージョン管理が Git に移行した。手元でテスト用ブランチの作成が出来るようになった。ありがたい。

2012-05-21

自己紹介 〜 clmemo@aka の中の人間

コグレ・するぷのプロブロガー養成セミナーにおいて、読者は存外ブログを書いてる人のことを知らないもの。自己紹介すると、ブログに興味を持ってもらえることも... なんて話を伺った。

確かに、ぼくは 7 年間ブログを書いていて自己紹介に類する記事を書いたことがない。これを機に自己紹介を書いてみる。

自己紹介

本名・安宅正之 (あたか まさゆき)。香川県高松市生まれ。親が転勤族だったのと、大学を色々と移ったため、愛媛県・東京都・新潟県・広島県・京都府・神奈川県に住む。現在、神奈川県在住。

讃岐 (香川県) 生まれのくせに、麺類はそうめんとスパゲッティが好きで、うどんを食べなかった。大学時代に蕎麦屋でバイト。蕎麦が好きになる。その後、うどんの美味しさが分かる様になった。大学院時代・広島にて、尾道ラーメンを食べてラーメンも食べられるようになった。

ブログは 2 つ。趣味系の life@aka と IT 系/オーディオ系の clmemo@aka (このブログ)。

趣味は、読書と音楽鑑賞。基本インドア派。強いて好きなスポーツを挙げるなら水泳。速く泳ぐよりも、水の中に浸かっているのが好き。見るだけなら、高校野球とゴルフが好き。

読書を好きになったのは、小学二年生。じんましんで 19 日間入院。担任の先生がお見舞いに「エルマーのぼうけん」を持って来てくれた。何度も読んで、本が好きになる。図書館に入っては、ファーブル昆虫記やアシモフの子供向け科学ノンフィクションを読んだ。海外系のファンタジー・SF・ミステリーを好む。大学に入って、ライトノベルにも手を出す様になる。

エルマーのぼうけん (世界傑作童話シリーズ)
ルース・スタイルス・ガネット ルース・クリスマン・ガネット

4834000133
福音館書店 1963-07-15
Amazonで詳しく見る
by G-Tools

音楽に手を出したのは、かなり遅れて高校時代。当時、「クラシック・コレクション」という隔週雑誌があって、付録に CD が付いてきてた。この雑誌をきっかけにクラシック音楽にハマり始める。好きな作曲家はバッハ・モーツァルト・ベートーヴェン。古楽は多少、現代音楽はほんの少し聴く。クラシック音楽の次に好きなのは、ミュージカル、映画音楽。最近はジャズやポップスも手を出す様になってきた。日本人の CD はほとんど持っていない。

会社に入って、オーディオをやってる人達と友達になる。当時、ぼくはポータブル CD プレーヤーとアクティブ・スピーカー (PC 用) で音楽を聴いていたんだけど、本格的なオーディオ・コンポの音を聴き圧倒される。気がつけば、自分自身もオーディオ・システムを組んでいた。

パソコンを始めたのは、大学時代。インターネットがやりたくて、高校時代の親友と一緒に秋葉原へ。NEC の PC-98 CanBe を買う。最初はレポートを書くのがメインで、一太郎と ATOK 最高!! とか言っていた。当時のぼくはプログラミングが苦手で、Fortran 77 の Do ループが理解できない落ちこぼれだった。

大学二年の頃だったか? 論文をより奇麗に書くツールとして、LaTeX の存在を知る。この入力支援に EmacsYaTeX を導入 (当時は、まだ 日本語用の Emacs は Mule と呼ばれていた)。Emacs のカスタマイズに EmacsLisp に手を出して、プログラミングを勉強し始めた。なので、一番得意な言語は EmacsLisp だったりする。大学 4 年の頃に、YaTeX と双璧をなす LaTeX の入力支援 AUCTeX に手を出すも、日本語が通らないバグに遭遇。この修正パッチを送ったことがきっかけで、AUCTeX 派に転向。LaTeX がきっかけになって、今はなき UNIX USER 誌で二回特集を書かせてもらった。

ツールとして Emacs を愛するうちにパソコンも好きになっていった。当時困っていたのは、ATOK の口語入力。「だよ」と入力すると (口語入力モードで!) 「だ世」と変換候補が出てきて嫌気が差した。愚痴をこぼしたら、SKK の存在を教えてもらう。漢字の送り仮名の位置をユーザーが指定できるシンプルな漢字変換ソフト。ただし、シフト・キーを多用するので、小指が痛くてしょうがない。そこで噂を聞いたのが T-Code。漢字直接入力という方式の一つ。三度の挫折を経て、T-Code 派に変身。後に Google の TechTalk でライトニング・トークを行なう。

2002 年 1 月。Unix Magazine 誌に連載された高林哲氏の「横着プログラミング」で ChangeLog メモを知る。このメモ・ツールの検索用 EmacsLisp clgrep.el を作成 (あ、リンク切れしてる。直しておこう)。気がついたことは ChangeLog Memo (clmemo) に書いていく習慣を身に付ける。ChangeLog メモに書いていた「自分用のメモ」を外部に出すことを目的にブログを開始。それが 2005 年 4 月。それから、ずっとブログを書き続けている。

2007 年。当時のぼくはほとんど Linux をメインに使っていた。ノート PC は持っていなかった。ところが、会社の新人研修が 2 か月ほどあるという。この間、デスクトップ PC に触れない。そこで買ったのが MacBook だった。初 Apple 製品。その後、iPhone, iPad と Apple の製品にハマッてゆく。入社して多少財布に余裕が出たことから、ガジェット系にも手を出す様になった。

2011 年 10 月に会社を退職。少し体を壊しちゃった。今は次の就職先を考えながら、身体を治してる。できれば、プロ・ブロガーになりたいものだけれども、月のアフィリエイト収入が一万円を越えない状況なので、無理かなぁ。Kindle Store とかが日本上陸したら、電子書籍でも書いてみたいと思うけれども、まだ来ないかなぁ。身体も治ってきたので、就職活動でも始めようかなぁ。なんて今日この頃。

2008-02-14

AUCTeX 11.85 リリース

2008-02-11、Emacs の TeX 入力支援パッケージ AUCTeX の新バージョン 11.85 がリリースされた。2007-01-12 以来、約一年振りのバージョン・アップ。今回の目玉は、数学記号を Unicode フォントで Folding する機能。あとはバグ・フィクス中心。11.84 の時に、ぼくが入れてしまった日本語 TeX 回りのバグも修正されている (はず)。

変更点とリソースを以下に挙げる。インストール方法は、AUCTeX 11.81 の時と変わらない。

11.85 の変更点

  • Font Lock 機能の向上
  • ライセンスが GPL v2 から GPL v3 へアップデートされた
  • 数学マクロ (ギリシャ語と数学記号) の Folding をサポート
  • nomencl, flashcards, comment パッケージに対応
  • Babel パッケージでアイスランド語に対応
  • 11.84 で pLaTeX でコンパイルを実行できないバグを修正
  • 他、バグ修正・ドキュメント修正

数学マクロの Folding 機能は、ぼくが数年前に AUCTeX 開発者メーリング・リストに投稿していたもの。ChangeLog を見ると、ぼく自身が 2007-01-21 にコミットしている。あんまり前のことなんで、自分がコミットしたことすら忘れてた :p

この数学用 Folding 機能は、$\alpha$ のような数学記号を $α$ といふ風にユニコードを使って表示し忘す機能。必要なのは Unicode フォントだけ。長ったらしい数式を見易くしてくれる。

リソース

AUCTeX
AUCTeX の本家ウェブページ
AUCTeX in Japanese
日本語 AUCTeX の情報サイト
TeX Wiki AUCTeX
同じく、日本語 AUCTeX の情報サイト
clmemo@aka: AUCTeX のインストール (非特権ユーザーの場合, 2005/11)
非特権ユーザー (aka. root 以外、一般ユーザー) の場合の AUCTeX (含む preview-latex) のインストール方法。
clmemo@aka: preview-latex のインストール (2005/9)
開発版 AUCTeX における preview-latex のインストールについて (11.85 でも変わらない)
clmemo@aka: AUCTeX のインストール 2005/9
開発版 AUCTeX のインストールについて (11.85 でも変わらない)

2007-01-18

AUCTeX の preview-latex で本文がプレビュー画像に隠れない不具合

AUCTeX 11.83 以降の preview-latex 機能を使っていると、スクリーン・ショットのやうに「プレビュー画像」に隠されるべき \section{テスト} 命令が画像の横に表示されてしまう (赤線で囲った所) 不具合に遭遇することがある。

Preview-LaTeX

この TeX ソースは本来、かういふテキストだった。

\documentclass{jarticle}

\begin{document}
\section{test1}
\section{テスト}
\end{document}

スクリーン・ショットを見て分かる通り、\section 命令の引数が英数字の場合、この問題は現れない。あくまで、引数が日本語の場合にだけ起こる問題となっている。

原因と解決方法

これは、TeX の coding-system (文字コード) が正しく設定されていないのが原因。最近の OS は Unicode 化が進んでいるけれど、TeX はまだ EUC (or SJIS) ベースのシステムなので、その喰い違いが出てしまった。

Unix ユーザーなら次のコードを、

(setq TeX-japanese-process-input-coding-system 'euc-jp
      TeX-japanese-process-output-coding-system 'euc-jp)

Windows ユーザーなら次のコードを

(setq TeX-japanese-process-input-coding-system 'shift_jis
      TeX-japanese-process-output-coding-system 'shift_jis)

.emacs ファイルに追加すると、上記問題は解決する。

2007-01-17

AUCTeX 11.84 の tex-jp.el のバグ・フィクス

AUCTeX 11.84 の tex-jp.el にバグがある (井汲さん、報告ありがとう)。日本語ファイルを AUCTeX からコンパイルしても、コンパイルが終了しない。その状態で C-c C-l を打ってコンパイル・ログを表示させると (下記)、コンパイル自体が始まっていないことが分かる。

Running `LaTeX' on `foo' with ``platex " -interaction=nonstopmode\input{"foo.tex"}"''
This is pTeX, Version 3.14159-p3.1.3 (euc) (Web2C 7.4.5)
pLaTeX2e <2001/09/04>+0 (based on LaTeX2e <2001/06/01> patch level 0)
! I can't find file `" -interaction=nonstopmode"'.
<to be read again>
\let
<*> " -interaction=nonstopmode\input
{foo.tex}"
Please type another input file name: 

AUCTeX はバージョン 11.84 から、空白を含むファイル名に対応した。

この時、日本語関連のコードの修正を (ぼくが) 怠ったのが、今回のバグの原因 (なので、英語ファイルを編集するだけなら、このバグは顕在化しない)。

パッチと tex-jp.el.11.84

修正パッチは以下の通り。

Index: tex-jp.el
===================================================================
RCS file: /sources/auctex/auctex/tex-jp.el,v
retrieving revision 5.91
retrieving revision 5.92
diff -u -r5.91 -r5.92
--- tex-jp.el 7 Jun 2006 20:26:51 -0000 5.91
+++ tex-jp.el 17 Jan 2007 01:32:02 -0000 5.92
@@ -52,13 +52,13 @@
   ;; Changed to double quotes for Windows afflicted people.  I don't
   ;; use the %(latex) and %(tex) shorthands here because I have not
   ;; clue whether Omega-related versions exist.  --dak
-  '(("jTeX" "%(PDF)jtex %S%(PDFout) \"%(mode)\\input %t\""
+  '(("jTeX" "%(PDF)jtex %`%S%(PDFout)%(mode)%' %t"
      TeX-run-TeX nil (plain-tex-mode) :help "Run NTT jTeX")
-    ("jLaTeX" "%(PDF)jlatex %S%(PDFout) \"%(mode)\\input{%t}\""
+    ("jLaTeX" "%(PDF)jlatex %`%S%(PDFout)%(mode)%' %t"
      TeX-run-TeX nil (latex-mode) :help "Run NTT jLaTeX")
-    ("pTeX" "%(PDF)ptex %S%(PDFout) \"%(mode)\\input %t\""
+    ("pTeX" "%(PDF)ptex %`%S%(PDFout)%(mode)%' %t"
      TeX-run-TeX nil (plain-tex-mode) :help "Run ASCII pTeX")
-    ("pLaTeX" "%(PDF)platex %S%(PDFout) \"%(mode)\\input{%t}\""
+    ("pLaTeX" "%(PDF)platex %`%S%(PDFout)%(mode)%' %t"
      TeX-run-TeX nil (latex-mode) :help "Run ASCII pLaTeX")
     ("Mendex" "mendex %s" TeX-run-command nil t :help "Create index file with mendex")
     ("jBibTeX" "jbibtex %s" TeX-run-BibTeX nil t :help "Run jBibTeX"))

パッチをあてるのが面倒な人のために、修正済みの tex-jp.el を tex-jp.el.11.84 として下記リンク先に置いた。ダウンロード後、ファイル名を tex-jp.el に変更して古いファイルと置き換えられたし。

AUCTeX の CVS 版は、上記バグを修正済み。

2007-01-13

AUCTeX 11.84 リリース

2007-01-12、Emacs の TeX 入力支援パッケージ AUCTeX の新版バージョン 11.84 がリリースされた。2006-06-07 以来、半年振りのバージョン・アップ。今回のバージョン・アップは、バグ・フィクス中心。

変更点とリソースは以下の通り。インストール方法は AUCTeX 11.81 の時と変わらない。

11.84 の変更点

Changes ページにある変更点を要約しておく。

  • configure に -without-texmf-dir オプションを渡した場合のバグを修正した (主に XEmacs と preview-latex の間で問題があった)。
  • 空白を含むファイル名に対応した。
  • preview-latex はスタックを汚染する (Omega フォントのような) PostScript コードを許容するようになった。
  • preview.sty がいくつかの PostScript ヘッダー・スペシャルを削除できなかった問題を修正した。
  • コメントの Fold 機能の追加。
  • ポーランド語対応。
  • plain TeX 用のツール・バーが追加された。
  • 数式モードにおける上付・下付の表示バグの修正。
  • Emacs 21 における TeX-doc のバグ修正。
  • 他、バグ修正・ドキュメント修正多数。

なお、半年前のエントリーで紹介したパッチは、11.84 で取り込まれた。

リソース

AUCTeX
AUCTeX の本家ウェブページ
AUCTeX in Japanese
日本語 AUCTeX の情報サイト
TeX Wiki AUCTeX
同じく、日本語 AUCTeX の情報サイト
clmemo@aka: AUCTeX のインストール (非特権ユーザーの場合, 2005/11)
非特権ユーザー (aka. root 以外、一般ユーザー) の場合の AUCTeX (含む preview-latex) のインストール方法。
clmemo@aka: preview-latex のインストール (2005/9)
開発版 AUCTeX における preview-latex のインストールについて (11.84 でも変わらない)
clmemo@aka: AUCTeX のインストール 2005/9
開発版 AUCTeX のインストールについて (11.84 でも変わらない)

2006-06-26

Portable Emacs 22.0.50 on USB

Here, I'll give you a small descripiton to put NTEmacs (Emacs on Windows) into your USB flash memory! You can bring your Emacs anywhere ;) Only you need is USB flash memory 256+ MB.

emacs+auctex by Ralf Angeli

Ralf Angeli, one of the main developpers of AUCTeX, compiles the latest Emacs CVS with AUCTeX bundle for Windows. I call this distribution emacs+auctex for windows. emacs+auctex is available at

The latest version of emacs+auctex is checked out and packaged on 2006-06-24. Read the Release note for details.

The file emacs+auctex-w32-<date>.zip includes the pre-compiled package while emacs+auctex-src-<date>.zip holds the source code and build instructions in case you want to look at it or compile it yourself.

Instlattion

For installing the package, simply unpack emacs+auctex-w32-<date>.zip at the desired location. Then, copy the directory emacs+auctex-w32-<date> into your USB flash memory. It takes some minutes to copy all the files because emacs+auctex is very big package.

You can start Emacs by executing runemacs.exe in the bin subdirectory.

.emacs and site-lisp customization

Emacs for Windows looks for your .emacs file in c:/Document and Setting/USERNAME by default. But USB application must find its init files in the USB memony.

Here the tips!

Put the following codes into f:/emacs+auctex-w32-<date>/Emacs/site-lisp/site-start.el.

(defvar usb-drive-letter (substring data-directory 0 3))
(defvar usb-home-dir (concat usb-drive-letter "home/"))

(setenv "HOME" usb-home-dir)

In this section, I use f: for the drive letter of USB flash memory. But please remmember that the drive letter will be changed by each of machines. Do not write the drive letter directly to your init files. Use the variable usb-drive-letter for the drive letter.

Now make directory home in f:/. This is the simple .emacs file in f:/home/

;;
;; Portable Emacs init file.
;;;

(setq user-full-name "YOUR NAME")
(setq user-mail-address "YOUR EMAIL ADDRESS")

;;
;; Set environment
;;
(defvar usb-site-lisp-dir (expand-file-name "site-lisp" usb-home-dir))
(setq load-path (cons usb-site-lisp-dir load-path))
(let ((dir (delete nil (mapcar (lambda (f)
     (unless (string-match "\\.elc?\\'" f) f))
          (cddr (directory-files usb-site-lisp-dir t))))))
  (setq load-path (append dir load-path)))

Additional Elisp files should be saved in f:/home/site-lisp/.

Update emacs+auctex

Just remove old emacs+auctex directory, and copy new one into USB flash memory.

Then put above codes for site-start.el into new site-start.el.

Acknowledgment

Thanks go to Ralf Angeli and AUCTeX develop members!

2006-06-17

AUCTeX の Clean ターゲット

以前の記事にも書いたけど、AUCTeX 11.83 から Clean ターゲットが用意された。

も少し詳しく書きませう。

LaTeX でソースをコンパイルすると、沢山の中間ファイルが出来る。コンパイルのログ情報を記録した log ファイル。相互参照で利用される aux ファイル。目次作成時に作られる toc ファイル。同じく図目次・表目次作成時に作られる lof ファイルと lot ファイル。索引用の idx ファイルと ind ファイル。BibTeX 用の bbl ファイルと blg ファイルなどなど。

C-c C-c Clean を実行すると、こういった中間ファイルを一括で削除してくれる。

更に、C-c C-c Clean All とすると、中間ファイルに加えて dvi ファイル、PS ファイル、PDF ファイルも削除する。ちなみに、C-c C-c Clean AllC-u C-c C-c Clean の alias。

_region_ ファイル

AUCTeX では、リージョンを囲って C-c C-r することで、範囲指定したテキストだけを _region_.tex というファイルに書き出し、一部コンパイルを実行する。TeX のソース・ファイルが大きく、非力なマシンを使っている場合、コンパイル時間を短縮できるので重宝するでせう (最近のマシンはそうでもないかな?)。

さて、リージョン指定のコンパイルを実行すると、_region_.tex の中間ファイルも出来てしまう。

AUCTeX 11.83 では、_region_.tex の中間ファイルまでは削除しなかった。先日、CVS 版に _region_.tex の中間ファイルも削除するよう手を入れたので、興味のある方はどうぞお試しあれ。

Clean 関連の変数

最後に Clean (Clean All) に関連する変数の説明をば。

TeX-clean-default-intermediate-suffixes
Clean ターゲットで削除する中間ファイルの拡張子のリスト。
TeX-clean-default-output-suffixes
Clean All ターゲットで削除するファイルの拡張子のリスト。デフォールトでは「dvi」「ps」「pdf」の三つ。
TeX-clean-confirm
Clean ターゲットで、削除するファイル名のリストを削除前に表示して、ユーザーに確認を促す。デフォールトで ON。

2006-06-08

AUCTeX 11.83 リリース

2006-06-07、Emacs の TeX 入力支援パッケージ AUCTeX 11.83 がリリースされた。2006-12-18 以来、半年振りのバージョン・アップ。

変更点とリソースは以下の通り。インストール方法は AUCTeX 11.81 の時と変わらないはず。

11.83 の変更点

とりあえず、リリース・ノートの新機能の項を要約。

  • package, command, document の説明ページを開く新関数 TeX-docC-c ? にバインド。
  • 中間出力ファイル (.aux, .log, etc...) を削除する新コマンド Clean。出力 (.dvi) ファイルも削除するコマンド Clean All もあり。C-c C-c からアクセス。
  • PDF ファイルに対する source jump 機能が追加。(要 pdfsync パッケージと xpdf)
  • 新しい web2c で、preview-latex エラー・ジャンプにも対応。
  • LaTeX toolbar がデフォールトで ON。
  • XyMTeX (化学構造式を書くパッケージ) と preview-latex との不具合を修正。

PDF の source jump のために変数 TeX-output-view-style の内容が更新されている。ユーザーが個人で変数値を変更している場合、再設定が必要になる。

Apology - 私信

2 月半ばに頂いた Ikumi さんのパッチを、まだ適用していません。今週末か来週末に手が空きそうなので、その時にやります。すみません。

とりあえず、個人でパッチをあてたい方は、以下のコードをどうぞ。

--- tex.el-11.82        Fri Dec  9 04:37:16 2005
+++ tex.el      Wed Feb 22 01:24:49 2006
@@ -2003,9 +2003,9 @@
       skip-opt)
    ;; Maybe get rid of all optional arguments.  See `TeX-insert-macro' for
    ;; more comments.  See `TeX-insert-macro-default-style'.
-    (when (or (and (eq TeX-insert-macro-default-style 'show-optional)
+    (when (or (and (eq TeX-insert-macro-default-style 'show-optional-args)
                  (equal current-prefix-arg '(4)))
-             (and (eq TeX-insert-macro-default-style 'mandatory-only)
+             (and (eq TeX-insert-macro-default-style 'mandatory-args-only)
                  (null (equal current-prefix-arg '(4)))))
      (while (vectorp (car args))
       (setq args (cdr args))))
@@ -4571,6 +4571,8 @@
  (interactive "P")
  (if (TeX-active-mark)
      (progn
+       (if (< (point) (mark))
+           (exchange-point-and-mark))
       (insert TeX-grcl)
       (save-excursion
         (goto-char (mark))
--- style/amsmath.el-11.82      Sun Oct 23 19:13:01 2005
+++ style/amsmath.el    Wed Feb 22 00:46:44 2006
@@ -9,6 +9,8 @@

 ;;; Code:

+(require 'latex)
+
 (TeX-add-style-hook "amsmath"
 (function
  (lambda ()
@@ -34,7 +36,8 @@

    (TeX-add-symbols
     '("eqref" TeX-arg-ref)
-     '("numberwithin" TeX-arg-counter "Section level")
+     '("numberwithin" (TeX-arg-counter "Child counter")
+       (TeX-arg-counter "Parent counter"))
     '("raisetag" "Dimension")
     '("intertext" t)
     '("hdotsfor" ["Stretch"] "Number of columns to cover")
@@ -58,7 +61,7 @@
     '("allowdisplaybreaks" ["Weight (1..4)"])
     '("substack" t)
     '("leftroot" "Push root index left by")
-     '("uproot" "Push root index left by")
+     '("uproot" "Push root index upward by")
     '("boxed" t)
     '("mspace" t)
     '("mod" t)
@@ -129,7 +132,7 @@
    (LaTeX-insert-environment env (concat TeX-grop ncols TeX-grcl))
    (and (not (string= "xxalignat" env))
        (not (string= "*" (substring env -1)))
-        (LaTeX-label environment)
+        (LaTeX-label env)
        (newline-and-indent))))

 (defun LaTeX-amsmath-env-aligned (env)

リソース

AUCTeX
AUCTeX の本家ウェブページ
AUCTeX in Japanese
日本語 AUCTeX の情報サイト
TeX Wiki AUCTeX
同じく、日本語 AUCTeX の情報サイト
clmemo@aka: AUCTeX のインストール (非特権ユーザーの場合, 2005/11)
非特権ユーザー (aka. root 以外、一般ユーザー) の場合の AUCTeX (含む preview-latex) のインストール方法。
clmemo@aka: preview-latex のインストール (2005/9)
開発版 AUCTeX における preview-latex のインストールについて (11.83 でも変わらない)
clmemo@aka: AUCTeX のインストール 2005/9
開発版 AUCTeX のインストールについて (11.83 でも変わらない)

2006-01-29

AUCTeX 11.82 の preview-latex で画像位置がずれる問題

AUCTeX 11.82 以前に含まれる preview-latex で、プレビューとして表示される画像の位置がズレることがあるとの報告を頂いた (ありがとう Ikumi さん)。パッチも送って下さったのでこの場を借りて紹介する。

原因

LaTeX ファイルを JIS で保存していると困ることになる。というのも preview-latex は「platex コマンドのメッセージの文字コードはファイルの文字コードと同じ」と仮定しているため。

例えば、Windows の場合。platex コマンドは JIS と Shift_JIS の両方を扱うことができる (自動判別)。platex コマンドは処理をしながらこんなことをやりましたとメッセージを Shift_JIS で表示する。preview-latex はそのメッセージをファイルの文字コードと同じだと思って解析する。ここで、ファイルの文字コードが JIS だと、出力 (platex のメッセージ) と入力 (preview-latex の期待) で齟齬が産まれる。結果、正しい画像位置を決められなくなるというわけ。

UNIX の場合は Shift_JIS を EUC と読み換えて下さいな。

どうすればいいかというと、preview-latex に platex の出力メッセージの文字コードを教えてあげればいい。Ikumi 氏のパッチは、それをする。

Patch for AUCTeX 11.82

--- preview/preview.el-11.82 Sun Sep 25 04:15:55 2005
+++ preview/preview.el Sun Jan 22 23:49:03 2006
@@ -2583,7 +2583,10 @@
      string (substring string (match-end 0))))
     (setq output (concat output (regexp-quote string)))
     (if (featurep 'mule)
- (decode-coding-string output buffer-file-coding-system)
+ (decode-coding-string output
+         (or (and (boundp 'TeX-japanese-process-output-coding-system)
+           TeX-japanese-process-output-coding-system)
+      buffer-file-coding-system))
       output)))
 
 (defun preview-parse-messages (open-closure)
@@ -3424,8 +3427,10 @@
    (setq TeX-sentinel-function 'preview-TeX-inline-sentinel)
    (when (featurep 'mule)
      (setq preview-coding-system
-    (with-current-buffer commandbuff
-      buffer-file-coding-system))
+    (or (and (boundp 'TeX-japanese-process-output-coding-system)
+      TeX-japanese-process-output-coding-system)
+        (with-current-buffer commandbuff
+   buffer-file-coding-system)))
      (when preview-coding-system
        (setq preview-coding-system
       (preview-buffer-recode-system

emathPh の問題

emath のグラフ描画パッケージ (emathPh) を使うと preview-latex が

LaTeX: LaTeX found no preview images

とのたまうとの報告がある。

ぼくは emath を使ってないので検証してない。何か情報があればコメントなりメールなりを下さいませ。

蛇足

何故ファイルを JIS で保存するのか。Ikumi 氏曰く、UNIX と Windows で文字コード変換をする手間を省くためだといふ。

もし、ファイルを UNIX に合わせて EUC で保存すると、Windows の TeX 処理の前に文字コードを Shift_JIS に変換する必要がある。逆もまたしかり。でも、ファイルを JIS で保存しておけば、どちらのプラットフォームでも問題なくコンパイルが通る。

なるほどなぁ、と思った。

2005-12-19

emacs+auctex (11.82) for windows

AUCTeX 11.82 のリリースから一日経って、Windows 用の Emacs/auctex バイナリーがリリースされた。内容は AUCTeX 11.81 の時と変わらないみたい。以下、参照記事。

あれ、今チェックしたら 2005-12-18 版と 2005-12-19 版の二つがある。ML をチェックしたら、こんな情報が。

Today I've uploaded a new version including the DLLs necessary for image display which were missing in the previous version. Sorry for the inconvenience.

2005-12-18 版は画像を表示させるための DLL が含まれていなかったのだそう。ダウンロードする時は 2005-12-19 版を選んで下さいね。

2005-12-18

AUCTeX 11.82 リリース

AUCTeX 11.82 が 2005-12-18 にリリースされた。2005-09-25 以来、3 か月ぶりのバージョン・アップ。

変更点とリソースは以下の通り。インストール方法は AUCTeX 11.81 の時と変わらない。

11.82 の変更点

  • usepackage のオプションに補完が利くようになった。
  • MinionPro LaTeX パッケージがサポートされた。
  • フランス語関連のサポートがいくつか追加された。
  • underfull/overfull boxes の警告 (warning) はエコー・エリアに表示されるようになった。
    • C-c C-w (TeX-toggle-debug-boxes) は C-c C-t C-b (TeX-toggle-debug-bad-boxes) に変更。
    • C-c C-t C-w (TeX-toggle-debug-warnings) が追加された。
    • C-c C-t C-wC-c C-t C-b がトグルされていると、TeX-next-error で error だけでなく warning 部分へもジャンプするようになった。
  • BibTeX 実行時、warnings/errors のチェックを行うようになった。
  • 新変数 TeX-electric-sub-and-superscript: non-nil なら、^_ の後に自動で中括弧を加える。
  • verbatim 関連のコマンドの font-lock 用に変数がいくつか導入された。
  • AUCTeX のロードが (require 'tex-site) から (load "auctex.el" nil t t) に置き換わった。
  • 日本語マクロの fill に関するバグが修正された →詳細
usepackage のオプション引数について

AUCTeX 11.82 での目玉 (だとぼくが勝手に思っているの) は、usepackage のオプション引数に補完が使えよるようになったこと。usepackage のオプションというのは、[]で囲まれた部分。

\usepackage[fleqn]{amsmath}

上の例でいうと、fleqn の部分のこと。

AUCTeX 11.81 までは C-c C-m usepackage すると、まずパッケージのオプションを先に聞いて、次にパッケージ名を入力してた。この時、パッケージ名に補完は利いたものの、オプションは補完なしで入力しなければいけなかった。

AUCTeX 11.82 からは、まずパッケージ名を聞き、次にオプションを尋ねるようになった上、オプション入力でも補完が利くようになった。複数のオプションが要る場合は、, で区切る。もちろん、二個目のオプションでも補完が利く。今回、このオプション補完が利くようになった package は以下の通り。

  • alltt.sty
  • amsbsy.sty
  • amsmath.sty
  • amsopn.sty
  • amstex.sty
  • amstext.sty
  • babel.sty
  • bib.sty
  • booktabs.sty
  • captcont.sty
  • fancyref.sty
  • harvard.sty
  • index.sty
  • inputenc.sty
  • listings.sty
  • makeidx.sty
  • mdwlist.sty
  • multind.sty
  • natbib.sty
  • nicefrac.sty
  • paralist.sty
  • scrpage2.sty
  • subfigure.sty
  • units.sty
  • url.sty
  • varioref.sty
  • verbatim.sty

CVS でインストールしてる人に...

AUCTeX というより AUCTeX をホスティングしてる Savannah 側の変更で CVS が ext から pserver でのダウンロードに変わった。2005-12-13 の変更。

auctex のディレクトリー内で次のコマンドを実行されたし。

$ find . -path '.*/CVS/Root' -print0 | xargs -0 perl -i -p -e 's/:ext:anoncvs\@(cvs\.)?s/:pserver:anonymous\@cvs.s/'

詳しくは以下の URL を参照のこと。

リソース

AUCTeX
AUCTeX の本家ウェブページ
AUCTeX in Japanese
日本語 AUCTeX の情報サイト
TeX Wiki AUCTeX
同じく、日本語 AUCTeX の情報サイト
clmemo@aka: AUCTeX のインストール (非特権ユーザーの場合, 2005/11)
非特権ユーザー (aka. root 以外、一般ユーザー) の場合の AUCTeX (含む preview-latex) のインストール方法。
clmemo@aka: preview-latex のインストール (2005/9)
開発版 AUCTeX における preview-latex のインストールについて (11.82 でも変わらない)
clmemo@aka: AUCTeX のインストール 2005/9
開発版 AUCTeX のインストールについて (11.82 でも変わらない)

2005-11-10

AUCTeX のインストール (非特権ユーザーの場合, 2005/11)

CVS AUCTeX を一般ユーザー権限でインストールできないとのコメントがあったので試してみた。

$ cd auctex
$ ./autogen.sh
$ ./configure --prefix=$HOME/local
$ make
$ make install

以上のコマンドを実行すると確かにエラーになる。

解決策

configure で以下のオプションを加えると make install が通るはず。ここでは *.el ファイルを ~/local/site-lisp/auctex 以下にインストールするものとしている。

$ ./configure --prefix=$HOME/local --with-lispdir=$HOME/local/site-lisp --without-texmf-dir

--without-texmf-dir を指定すると、preview-latex 関連の sty ファイルも ~/local/site-lisp/auctex 以下にインストールされる。もし別の場所にインストールするなら、--with-texmf-dir=/path/to/your/texmf をかわりに指定する。

.emacs の設定

load-path--with-lispdir で指定した path を加える。また、info も ~/local/info 以下にインストールされているので、これも Info-directory-list に加える。AUCTeX と preview-latex と日本語の設定を加えると .emacs は次のようになる。

;;
;; Load path and Info path
;;
(add-to-list 'load-path "~/local/site-lisp/")
(eval-after-load 'info
  '(add-to-list 'Info-directory-list "~/local/info/"))

;;
;; AUCTeX (including preview-latex)
;;
(load "auctex.el" nil t t)
(load "preview-latex.el" nil t t)
;;
;; Automatic Parsing of TeX files.
;;
(setq TeX-parse-self t)  ; ファイルを開いた時に自動パース
(setq TeX-auto-save  t)  ; パースしたデータを保存する
;;
;; Japanese TeX
;;
(setq TeX-default-mode 'japanese-latex-mode)

load-path に追加するのは ~/local/site-lisp。AUCTeX 関連のファイルはほとんど ~/local/site-lisp/auctex 以下にあるけれど、tex-site.el (auctex.el の中で呼ばれる) の中で load-path が定義されているので、~/local/site-lisp/auctex を load-path に追加する必要はない。

非特権ユーザーでのインストールはこれで成功するはず。ただ preview-latex が通るかどうか試してないので、成功したらコメント下さい。

2005-11-01

LaTeX の日本語コマンドで改行をさせない (AUCTeX 11.81)

AUCTeX の fill (改行) 回りで、またバグがあったので修正パッチ。対象は AUCTeX 11.81。

症状

日本語 TeX では、次のようにして日本語のコマンドを作ることができる。

\newcommand{\ほげぼげ}{日本語のコマンド}

本来、 \ほげぼげ は一つのコマンドなので、途中で改行を入れてはいけない。 例えば、次のソースは

\ほげ
ぼげ

\ほげというコマンドと、 ぼげという単なるテキストとして解釈される。

そのため、自動改行するエディターは、改行位置の日本語がコマンドでないことを確認しないといけなのだけど、 AUCTeX 11.81 の M-q (fill-paragraph) は何も考えずにコマンドを分割してしまう。思わぬコンパイル・エラーを引き起こす原因になるので、日本語コマンドを書く (もしくはそういうソースをもらう) 可能性のある人は下のパッチをどうぞ。

Patch

AUCTeX 11.81 に対するパッチ。

*** latex.el 11 10 2005 12:01:34 +0900 5.386
--- latex.el 11 10 2005 15:16:33 +0900 
***************
*** 2760,2765 ****
--- 2760,2774 ----
      (if (looking-at "..\\c>")
   (forward-char 1)
        (forward-char 2)))
+   ;; Cater for Japanese Macro
+   (when (and (boundp 'japanese-TeX-mode) japanese-TeX-mode
+       (aref (char-category-set (char-after)) ?j)
+       (TeX-looking-at-backward (concat (regexp-quote TeX-esc) "\\(?:[a-zA-Z]\\|\\cj\\)+")
+           (1- (- (point) (line-beginning-position))))
+       (save-excursion
+         (goto-char (match-beginning 0))
+         (zerop (logand 1 (skip-chars-backward "\\\\")))))
+       (goto-char (match-beginning 0)))
    ;; Cater for \verb|...| (and similar) contructs which should not be
    ;; broken. (FIXME: Make it work with shortvrb.sty (also loaded by
    ;; doc.sty) where |...| is allowed.  Arbitrary delimiters may be

なお、この修正は 2005-10-31 に AUCTeX CVS にコミットされている。

2005-10-13

Windows 用 emacs+auctex バイナリ

開発版 EmacsAUCTeX をバンドルさせた Windows 用バイナリが Ralf Angeli 氏によって作られた。サイズは 34 MB。zip ファイルを展開して、bin フォルダー内の runemacs.exe を実行すれば使えるようになるという。ファイルとリリース・ノートは以下のアドレスにある。

今回のパッケージは URL を見ても分かる通り alpha 版なのでバグなどは自己責任で。

Emacs 22.0.50 + AUCTeX 11.81 on Windows

なんでこんなバイナリ・パッケージを作ったのか、Angeli 氏の真意は分からないのだけど、僕なりに考えたメリットをば。

  • Windows で開発版 Emacs を (コンパイル無しに) 試すことができる。
  • 画像ライブラリー (libpng, libz, etc...) などは同梱済。
  • AUCTeX の設定をする必要がない (最低限の設定は終えている)。

Windows で Emacs をコンパイルするには、沢山の画像ライブラリーが必要になる。これを揃えるのは面倒なので、その手間が省けるのはよろしいと思う。ただし、 dvipng や Ghostscript は付属しないようなので、preview-latex を使うには別途これらのインストールが必要。

Windows で動く Emacs というと、cygwin 版や Meadow がある。記憶違いでなければ、cygwin 版の Emacs は安定版 (21.4) だから、開発版を使ってみたい人にはお勧めできる (かな?)。

Meadow は、Meadow 3.00-dev が Emacs 22.0.50 を追従してて、なんと AUCTeXパッケージに含まれている。両方とも使ったことがないので、どっちがいいか分かんない Xp。

手元に Windows はないので情報提供のみ。もし試したら是非トラックバック (or コメント) を下さい。

2005-10-02

AUCTeX 11.81 の日本語モード

AUCTeX の日本語モードについて、バージョン 11.81 を対象に解説を書いた。

AUCTeX には日本語 TeX 用に tex-jp.el というファイルが用意されており、この中で japanese-latex-mode が定義されている。 japanese-latex-mode は、tex-jp.el をロードしただけでは有効にならない。ここではメジャー・モードが japanese-latex-mode な時、 AUCTeX は日本語モードに入っているとしよう。

日本語モードに入ると、どうなるか

まず、tex-jp.el をロードした時点で次の設定が加わる。

  • コンパイル・コマンド ( C-c C-c) に日本語 TeX 用のコマンドが追加される。追加されるのは、 pLaTeX, jLaTeX, mendex, jBibTeX など。
  • クラス・ファイルの候補に日本語のクラス (jarticle や jsbook など) が追加される。
  • スタイル・ファイルのサーチ・パスに日本語 TeX の Path (/usr/share/texmf/ptex など) が追加される。
  • 日本語の命令 ( \西歴 など) を理解するようになる。
  • エラー・メッセージが日本語になる。

そして、 AUCTeX が日本語モードに入ると、次の機能が加わる。

  • コンパイル・コマンド LaTeXplatex (or jlatex) が実行されるようになる。
  • BibTeX のデフォールトが、jBibTeX になる。
  • クラス・ファイルのデフォールトに japanese-LaTeX-default-style が使われる。

少し説明が必要なのは、コンパイル・コマンドかな。

AUCTeX では C-c C-c COMMAND で外部コマンドを呼び出し、TeX ファイルをコンパイルできる。デフォールトの COMMAND は LaTeX で、 latex コマンドが実行される。この LaTeX は少し賢くて、クラス・ファイルから実行するコマンドを切り替える。つまり、article クラスなら latex を、jarticle クラスなら platex を、j-article クラスなら jlatex コマンドで TeX をコンパイルする。ちなみに、クラス・ファイルから実行コマンドの推測に失敗した場合に備えて、 pLaTeX, jLaTeX というのも用意されてる。クラス・ファイルを自作でもしてない限り、全て LaTeX でやって大丈夫。

一方、 BibTeX は違う。 AUCTeX は TeX のコンパイルに bibtex コマンドが必要な場合、 C-c C-cBibTeX が候補に挙がる。この時、日本語モードに入っていると、 BibTeX の代わりに jBibTeX が候補に挙がる。つまり、 BibTeX は、クラス・ファイルを見て実行コマンドを切り替えてはくれない、ということ。

日本語モードにどうやって入るか

AUCTeX はファイルをパースして (正確には \documentclass で指定されてるクラス・ファイルを調べて) 日本語モードに入るかどうかを決める。ところが、 AUCTeX はデフォールトで自動パースしない。そのため、ユーザーがパーサーを走らせなきゃいけない。パースの実行は C-c C-n

TeX ファイルを開いた時、自動的にパースするには次の設定を .emacs に追加する。

;;
;; Automatic Parsing of TeX files.
;;
(setq TeX-parse-self t)  ; ファイルを開いた時に自動パース
(setq TeX-auto-save  t)  ; パースしたデータを保存する

さて、問題はもう一つある。新規にファイルを作った時、ファイルは空でクラス・ファイルも \documentclass もない。だからパースしても、日本語モードに入らない。従って、新しいファイルに限っては、\documentclass を書いた後に、明示的に C-c C-n しなくちゃいけない。

それが面倒というなら、次の設定を .emacs に加える。

;;
;; Japanese TeX
;;
(setq TeX-default-mode 'japanese-latex-mode)

これで新しく開いたファイルは日本語モードに (強制的に) なる。

僕は日本語と英語の文章を半々の割で書くから、 TeX-default-mode の設定はしてない。少々面倒だけど、日本語ファイルの場合だけ C-c C-n してる。どうせ、最初の一回だけなので気にしない。

まあ、ほとんどの人は上の設定も加えるようにしとけば、いいんじゃないかしらん。

新しくクラス・ファイルを作った時に

今の AUCTeXC-c C-c LaTeX で、クラス・ファイルから実行する latex コマンドを選ぶ。これはもう書いた。問題は、新しくクラス・ファイルを書いた場合はどうするか? AUCTeX がそのクラス・ファイル知らなければ、日本語モードに入っていても latex でコンパイルされちゃう。

回避策は二つある。一つは、 C-c C-c LaTeX の代わりに C-c C-c pLaTeX を使う。もう一つは、 AUCTeX に自作のクラス・ファイルを教える。

後者の具体的な設定は、自作のクラス・ファイル名が myclmemo.cls だとして、次のようなコードを .emacs に追加する。

(setq LaTeX-command-style
      (append '(("^myclmemo$"
   "%(PDF)platex %S%(PDFout)"))
       LaTeX-command-style))

2005-09-29

AUCTeX 11.81 リリース |Emacs|preview-latex|

AUCTeX 11.81 が 2005-09-25 にリリースされた。

3 月頃から、「あと二週間で 11.80 リリース」という話が (何度も) 出てるけど、 未だリリースされず... 今年中のリリースなるか? (きっと無理だな Xp)

なんてことを書いてたその日に 11.81 リリース。穴があったら入りたい ;_;。

それはともかく、11.81 での変更点とリソースを書いとく。

AUCTeX 11.81 の変更点

  • preview-latex が AUCTeX に統合された。
  • インストール・プロセスが書き直された。
    • make contribmake に一本化された。
    • (require 'tex-site) から (load "auctex.el" nil t t) に変更。
  • 日本語 fill コードが新規に書き直された (11.55 で入った fill のバグも修正された)。
  • Folding がマウス・オーバー・ツールチップを採用。
  • preview-latex と folding が競合するバグが修正された。
  • font-latex のカスタマイズ変数が変更された (from font-latex-title-fontify to font-latex-fontify-sectioning)
  • 日本語 TeX モードなら mode name に japanese- を加えるようになった。
  • Beamer 関連のコードが充実 (テーマが補完できるようになったとか (\usetheme))。
  • amsmath 関連のバグ・フィクス (ラベル周りの修正と未サポートの数式環境の追加)
  • その他、沢山のバグ・フィクスと機能拡張

11.55 を使っている人には、特に日本語改行 (fill) のバグ修正が大きいと思う。

preview-latex も一年前に比べれば格段にインストールが楽になった。TeX-fold との競合バグもなくなったので、是非、preview-latex + TeX-fold な世界を楽しんでもらいたい。これは、スゴイの一言ですよ!!

リソース

AUCTeX
AUCTeX の本家ウェブページ
AUCTeX in Japanese
日本語 AUCTeX の情報サイト
TeX Wiki AUCTeX
同じく、日本語 AUCTeX の情報サイト
clmemo@aka: preview-latex のインストール (2005/9)
開発版 AUCTeX における preview-latex のインストールについて (11.81 でも変わらない)
clmemo@aka: AUCTeX のインストール 2005/9
開発版 AUCTeX のインストールについて (11.81 でも変わらない)

2005-09-25

preview-latex のインストール (2005/9) |AUCTeX|

preview-latexGNU Emacs の TeX 入力支援ツールの一つで、数式やアクセント記号を画像で表示する ( See screenshot)。 AUCTeX のメンテナーである David Kastrup 氏を中心に開発が進められ、今年始めに AUCTeX プロジェクトに併合された。現在、preview-latex を配布に含めた AUCTeX をバージョン 11.80 としてリリースするため作業中。3 月頃から、「あと二週間で 11.80 リリース」という話が (何度も) 出てるけど、未だリリースされず... 今年中のリリースなるか? (きっと無理だな Xp)

さて、preview-latex の正式最新版は 0.9.1 (2005-04-03)。だけど、 AUCTeX にマージされてから、いくつかの (重要な) バグ・フィクスが入ってるので、開発版 AUCTeX のインストールの仕方を書いてみる。なお、開発版 AUCTeX 単体のインストール方法は AUCTeX のインストール 2005/9に書いた。preview-latex のインストールに躓いたら、 AUCTeX のインストールそのものに失敗してないか、まず確かめて下さい。

せっかち者のための Quick Start

インストールの流れは、 AUCTeX のインストールと全く同じ (楽になったものだ ^^)。

$ cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/auctex co auctex
$ cd auctex
$ ./autogen.sh
$ ./configure
$ make
# make install

.emacs ファイルに、次のコードを入れる。

(load "auctex.el" nil t t)
(load "preview-latex.el" nil t t)

preview-latex は、バックエンドで TeX を走らせ DVI ファイルを得る。その DVI ファイルから数式などを画像に変換している。この時、デフォールトでは Ghostscript が使われるが画像の生成スピードが遅い。もしか dvipng がインストールされていれば、次の設定を .emacs に足そう。体感スピードが上がるはず。

(setq preview-image-type 'dvipng)

なお、dvipng のインストール方法については dvipng 1.6 を使ってみる を参照のこと。

preview-latex を使ってみる

ちゃんと動くか試してみましょ。サンプルのソースは下記のものを使う。ファイル名は foo.tex。

\documentclass{jarticle}
\begin{document}
\section{preview-latex のテスト}
有名なピタゴラスの定理は、三角形の長辺 $x$ の (以下略)
\begin{equation}
 x^2 = y^2 + z^2
\end{equation}
\end{document}

foo.tex のバッファーで C-c C-p C-d

Cache preamble? (y or n)

と聞かれるので、 y と入力。すると、次のように、数式とセクション部分が画像でプレビューされる。日本語も OK。

カーソルを画像部分の中に入れると、ソースが表示される。そのまま色の変わった部分から、カーソルを外に出すと、また画像に戻る。

ソースを編集したら、 C-c C-p C-p でその場所だけ preview-latex を実行する。

プレビューを解除するには、 C-c C-p C-c C-d

古い preview-latex は tex-fold と競合して Emacs を殺してくれたが、開発版では修正されてる。また、もっと古い preview-latex だと、 \usepackage{preview} という一文が必要だったが、それも要らなくなった。

残念なことに、開発版の preview-latex は YaTeX と一緒に動かない。preview-latex 0.9.1 もどうだろう? preview-latex と同じようなツールに XSymbol があるので、 YaTeX 使いはこちらを使うとよいかも。ただし、開発版の GNU Emacs と相性が悪い気がするので僕はもう XSymbol は使っていない。

2005-09-24

dvipng 1.6 を使ってみる |AUCTeX|LaTeX|

dvipng は、TeX の DVI ファイルから PNG (or GIF) 画像を生成するコマンド。今回は簡単な使い方を書いてみる。

先に書いておくけど、dvipng 1.6 はまだ日本語に対応していない。

インストール

インストール方法は、普通の GNU 方式。通常、以下の操作で OK なはず。

$ ./configure
$ make
# make install

必須のパッケージは、 gd と libing, libz, Texinfo。gd 以外、ほとんどのシステムでデフォールト・インストールされてるはず。

dvipng を使ってみる

こんな TeX ソースを試してみよう。

\documentclass{article}
\begin{document}
This is a test of dvipng.
\newpage
\pagestyle{empty}
\begin{equation}
1 + 2 + \cdots + 10 = \sum_{i=1}^{10} i = \frac{10(10-1)}{2}
\end{equation}
\end{document}

ファイル名を dvipng.tex とする。コンパイルは次の通り。

$ platex dvipng.tex
$ ls
dvipng.aux  dvipng.dvi  dvipng.log  dvipng.tex

出来上がった DVI ファイルを dvipng にかけてみよう。

$ dvipng dvipng.dvi
$ ls
dvipng.aux  dvipng.dvi  dvipng.log  dvipng.tex 
        dvipng1.png  dvipng2.png

      

dvipng1.pngdvipng2.png というファイルが出来た。このように、dvipng は、1 ページごとに PNG 画像を生成し file#NUM.png という名前で出力する。

PNG ファイルの中身を見てみよう。

dvipng1.png は、縦長の画像になった。dvipng は基本的に、文字が表示された範囲だけを PNG にする。この場合、ページ番号がページ下にあるため縦長の画像になってしまった。

dvipng2.png は数式の画像。ページ番号を出力させないよう \pagestyle{empty} という命令を使った。今回、サンプルということで改ページ後に入れたけど、本来、このコマンドはプリアンブルに入れるもの。

dvipng のオプション

よく使いそうなものだけ、ピップアップ。詳しいことは、info を読んで下さい。

-T tight
dvipng2.png を見れば分かるが、左上に空白部分が残っている。このオプションを指定すると、できる限り空白部分を除くようになる。
-bg transparent
背景部分を透明にする。
-fg 'rgb 1.0 0.0 0.0'
前景色 (文字の色) を指定する。
--gif
PNG 画像の代わりに GIF 画像を出力する。
-pp firstpage-lastpage
firstpage から lastpage までを dvipng する。

さっきの dvipng.dvi の 2 ページ目を赤色で出力してみませう。

$ dvipng -T tight -bg transparent -fg 'rgb 1.0 0.0 0.0' -pp 2:2 dvipng.dvi

dvipng2.png Webpage やプレゼンなんかで、TeX の数式を PNG で貼り付けたくなることがあると思う。そんな時、dvipng は役に立つ。

ref

2005-09-13

AUCTeX のインストール 2005/9

開発版の AUCTeX で、インストール方法に手が入った。11.55 よりインストールが楽になったので、是非試して欲しい。

せっかち者のための Quick Start

新規インストールは、以下のコマンドで...

$ cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/auctex co auctex
$ cd auctex
$ ./autogen.sh
$ ./configure
$ make
# make install

.emacs ファイルに、次のコードを入れる。

(load "auctex.el" nil t t)
(load "preview-latex.el" nil t t)

contrib ターゲットが消えた

Makefile から contrib ターゲットが消えた。

AUCTeX の日本語用コードは tex-jp.el というファイルに入っている。11.55 では、tex-jp.el のコンパイル/インストールを、 make contrib ( make install-contrib) ターゲットで実行していた。ChangeLog によると [2005-07-21] の変更で、contrib ターゲットが廃止され、 make 一発でコンパイルできるようになった。

contrib ターゲットでは、tex-jp.el の他に、font-fptex.el や bib-cite.el などもコンパイルされていたが、これらも make 一発でコンパイルされるようになっている。

tex-site.el を呼ばなくなった

AUCTeX のシステム初期化ファイル tex-site.el を呼ばなくなった。つまり、今まで .emacs に

(require 'tex-site)

と書いていた所を、次のように書く。

(load "auctex.el" nil t t)

特に、古い AUCTeX から移行する人は書き直すのを忘れないように。

# 後方互換のため、tex-site.el を require してもエラーにはならない。

ref