文書作成に役立つEmacs MuseLeverage OSS

達人と呼ばれるプログラマーが好んで使うEmacs。単なるテキストエディタの枠にはとどまらず、PIMやタスク管理ツール、メールクライアントなどとしても使うことができるEmacsだが、ここでは、文章の執筆と発行に役立つMuseモードを紹介しよう。

» 2007年04月12日 09時00分 公開
[Scott-Nesbitt,Open Tech Press]
SourceForge.JP Magazine

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

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

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

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

Museの入手とインストール

 Museは、MuseプロジェクトのWebサイトから直接ダウンロードできる。安定版または最新の開発版のどちらかを選択可能だ。ダウンロードが済んだら、HDDにアーカイブを展開し、.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が高速で実行できるコードに変換する処理のことだ。わたしのノートPCはかなり高速なので、バイトコンパイル版のMuseと未コンパイル版のMuseとで、目に見える違いはなかったが、マシンによっては有益な結果が得られるかもしれない。

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

Museのマークアップ

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

Museのソース文書をEmacsで編集している様子 Museのソース文書をEmacsで編集している様子

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

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

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

ファイルの発行

 文書の執筆とマークアップが済んだら、次は発行だ。文書を保存して「Esc-x muse-publish-this-file」と入力し、Enterキーを押す。(または、HDD上のいずれかの場所にある別のファイルを発行することもできる。その場合は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こそが、これまでずっと探し求めてきた文書作成ツールだと感じている。


Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ