文書作成に役立つEmacs Muse

 Emacsはテキスト・エディタだが、その枠だけにはとどまらない。たとえば、PIMやタスク管理ツール、電子メール・クライアントなどとしても使うことができる。私にとっては、Emacsは文章の執筆と発行のためのツールである。その際、Museモードが特に役立っている。

 Museモードとは、Michael Olson氏が手がけているもので、文書を作成するための習得しやすいマークアップ言語と、各種のフォーマットで出力を生成するための一連のスタイルとが組み合わされている。対応フォーマットは以下のとおりだ。

  • LaTeX(標準のbookクラスまたはarticleクラスを使用)
  • Texinfo
  • PDF(LaTeXベース)
  • HTMLおよびXHTML
  • DocBook XML
  • Blosxom(軽量なブログ・ツール)

 世間でMuseが実際に使われている用途には、ドキュメンテーションとチュートリアル、Webページ、レシピ、詩、ブログ、ナレッジ・ベースなどがある。私は去年からMuseを使い始め、これまでに、LaTeX、HTML/XHTML、DocBook、PDFの各種ファイルの出力に利用してきた。若干の修正を加えた結果、非常に満足のいく成果物が得られている。

Museの入手とインストール

 Museは、MuseプロジェクトのWebサイトから直接ダウンロードできる。安定版または最新の開発版のどちらかを選択可能だ。ダウンロードが済んだら、ハード・ディスクにアーカイブを展開し、.emacsファイルに以下の記述を追加すればよい。

(add-to-list 'load-path "/home/scott/elisp/muse_latest/lisp")
(require 'muse-mode)
(require 'muse-html)
(require 'muse-latex)
(require 'muse-texinfo)
(require 'muse-docbook)
(require 'muse-book)

 また、Museのインストール後に、「バイト・コンパイル」を行ってもよい。バイト・コンパイルとは、Lisp(MuseなどのEmacs拡張機能の作成で使用するプログラミング言語)のファイルを、Emacsが高速で実行できるコードに変換する処理のことだ。私のノートパソコンはかなり高速なので、バイト・コンパイル版のMuseと未コンパイル版のMuseとで、目に見える違いはなかったが、マシンによっては有益な結果が得られるかもしれない。

 load-pathの指定をMuseのインストール先に変更したうえで、Emacsを起動し、文章の執筆に取りかかろう。

Museのマークアップ

 Museのマークアップ言語は単純で習得しやすい。HTMLやXMLとは違って、山のようなタグを覚える必要はほとんどない。代わりに、キーボードから入力できる記号を使ってテキストの書式を指定する。たとえば、テキストの前にアスタリスク(*)を付けると、見出しになる。スペースの後にハイフン(-)か数字を指定すると、番号なしまたは番号付きの箇条書きを作成できる。いくつかのアスタリスクでテキストを囲むと、その部分が太字や斜体になる。

Museのソース文書をEmacsで編集しているようす
Museのソース文書をEmacsで編集しているようす(クリックで拡大)

 Museのマークアップはwiki風だと思った人もいるかもしれない。その見立ては、なかなかいい所を突いている。MuseはEmacs wikiモードをベースとしており、多くのマークアップを流用しているのだ。だが、それを基にした拡張が施されており、さまざまなタグが追加されている。

 タグの中にはHTMLやXML風のものもある。山かっこで囲まれたタグだ。たとえば、<contents>タグでは、文書の冒頭に目次が生成される。<example>タグでは、テキストのブロックに対して固定幅のフォントが設定され、コード・サンプルに使用できる。

 Museでは、wiki風のマークアップ・ディレクティブにより、ハイパーリンク、画像、表にも対応している。サポートされている全マークアップの詳しい説明は、Museのマニュアルに記載されている。

ファイルの発行

 文書の執筆とマークアップが済んだら、次は発行だ。文書を保存して「Esc-x muse-publish-this-file」と入力し、Enterキーを押す。(または、ハード・ディスク上のいずれかの場所にある別のファイルを発行することもできる。その場合はmuse-publish-fileコマンドを使用する)。

 次に、作成する出力の種類を指定するよう要求される。指定できる発行スタイルが不明な場合は、Tabキーを押せば一覧が表示される。目的のスタイル名(たとえば「pdf」)を入力すると、次に、ファイルを出力するディレクトリの指定を求められる。ソース・ファイルの保存場所と同じディレクトリを使用する場合はEnterキーを押し、別のディレクトリを使用する場合は目的のパスを入力する。

 以上が完了すると、文書が発行される。発行に要する時間は、ソース・ファイルのサイズと、選択した出力フォーマットに応じて変わる。私の場合、30ページのPDFファイルをわずか数秒で発行できた。HTMLやXHTMLファイルなら、時間はさらに短い。

出力のカスタマイズ

 Museに関して、個人的に不満に思っている点の1つが、LaTeXファイルやPDFファイルの生成において、LaTeXの標準のarticleクラスやbookクラスを使用しているということだ。いずれも、見た目にあまり魅力を感じないのだ。だが、これは簡単に変更できる。LaTeXのさまざまな文書クラスに切り替えることができるからだ。

 変更を加えるには、muse-latex.elファイルとmuse-book.elファイルを編集する。「\\documentclass{article}」と「\\documentclass{book}」というエントリを見つけ、好みの文書クラスに変えればよい。個人的には、articleクラスの代わりには、hitecクラス、refartクラス、paperクラスがお気に入りだ。bookクラスの代わりには、memoirクラスやscrbookクラスがお気に入りだ。

 なお、Museファイルをバイト・コンパイル済みの場合は、muse-latex.elとmuse-book.elを再度バイト・コンパイルしないと変更が有効にならないという点には注意が必要だ。

 Museが出力するHTMLやXHTMLは、Web標準に驚くほど準拠している。XHTML出力では、カスケーディング・スタイル・シートがファイルに埋め込まれている。そのスタイルはシンプルで機能的だが、自分が求めているスタイルとは異なる場合もあるだろう。これを変更するには、文書のヘッダーにmuse-htmlstyle-sheetオプションを記述し、スタイルシート情報を追加すればよい。詳しくは、Museのマニュアルを参照してほしい。

まとめ

 文章の執筆に携わることがある人には、Emacs Museはうってつけだ。執筆作業のみならず、文書の発行までこなすことができる。使用するマークアップは習得しやすいし、ソース文書を各種フォーマットに変換するためのオプションも多数用意されている。

 Museは「プロフェッショナル」な文書の作成には使えない、と思っている人は、ぜひ考え直してほしい。私は、レポートや短いマニュアルの作成など、さまざまな顧客向けにMuseを何度も使ってきた。実はこの文書もMuseで作成したのである。

Scott Nesbitt:カナダのトロント在住のライター。Emacs Museこそが、これまでずっと探し求めてきた文書作成ツールだと感じている。

NewsForge.com 原文