註: この文書は、技術評論社 「Software Design」 1998年5月号 掲載の記事の原稿です。 編集部の許可を得て掲載しています。 実際に掲載された際には校正などが入っていますので、 言葉遣いなどに若干の相違があります。
$Id: index.html,v 1.16 1998/04/19 06:58:07 itojun Exp $

updates


FreeBSDでプレゼンテーションしよう!
-- magicpointとewipe --
伊藤純一郎(itojun@itojun.org)

はじめに

身のまわりを見ると、PowerPointを使うためだけに ノートPCにWindows95とFreeBSDの両方をインストール している方が数多くいます。 ノートPCにとってディスク領域は非常に貴重な資源であり、 OSをふたつもインストールするのは非常に場所ふさぎです。 また、論文をTeXで書いている場合などは、 TeXによる論文の図とPowerPointによるプレゼンの図を 共有するのが面倒だったりもしたようです(*1)。 一部にはNetscape navigatorなどを使って HTMLファイルによるプレゼンテーションをしたり、 プレインテキストをkterm上で表示してプレゼンテーションをしたりする 剛の者(笑)もいましたが、少数派でした。

あれもこれも、UNIX上で動くニートなプレゼンテーションツールがあれば 解決できるのに...

1997年はこう考えるひとが日本にとても多くいらしたようで、 UNIX上で動作するプレゼンテーションツールが日本で相次いで誕生しました。 各ツールともいろいろ特徴があって興味はつきないのですが、 本稿ではそのうちの2つ、magicpointとewipeを紹介します。

magicpointは、慶應藤沢キャンパス(SFC)にいらっしゃる西田さんという方が X11上で作成したプレゼンテーションツールです。 プログラムの記述言語はCで、Xlibさえあればコンパイルできます。 magicpointはテキストファイルを入力とします。 プレゼンテーションを作成する際には、nroffやTeXで文章を書くときのように 適当なエディタを使ってテキストファイルにコマンドを埋め込んだ ファイルを作成します。 X11では日本語のスケーラブルフォントが取り扱えないので(*6)、 通常は大きな字を表示しようとすると綺麗に見えません。 magicpointでは、vflibというライブラリを組み込むことでこれを解決しています。

ewipeは、東京農工大学にいらっしゃる関下さんが作成されている tcl/tk(具体的にはtk4.2)上で動くプレゼンテーションツールです。 tcl/tkを利用して動作するということは、tcl/tkさえ各機種用に準備しておけば、 いちいちコンパイルする必要はありません。 極端な話、Windows95用tcl/tkの上でも動くようになりつつあるようです(*5)。 実は、ewipeはかなり長い歴史を持っています。 最初、IIJの歌代さんがwipeというプレゼンテーションツールを製作されました。 これを石岡さんという方が改造して絵などを貼れるようにし、wipe2となりました。 ewipeは、wipe2にさらにエディタ部分を加えた上でたくさんの機能拡張をしたもので、 wipeとwipe2でできることは全てできるようになっています。


インストールしてみよう

FreeBSDでのインストール

FreeBSD上にmagicpointやewipeをインストールするには、 portsやpackagesを利用するのが簡単です。

(いまさら書くまでもないかもしれませんが) portsとは、ソフトウェアのftpによる取得、FreeBSDのためのコンパイル作業から インストールまでを自動的にやってしまうためのMakefileやパッチの集まりです。 portsがあれば、ソフトウェアのインストールはほとんどmake一発で完了します。 もしあなたのマシンに「portsコレクション」がインストールしてあれば、 /usr/ports付近にたくさんのディレクトリがあるでしょう。 packagesとは、portsによってコンパイルされたソフトウェアのバイナリ形式を まとめたものでです。 packagesがあればコンパイルもせずにソフトウェアのインストールが可能です (*4)。 portsとpackagesはどちらもソフトウェアの間の依存関係を考慮してくれるので、 例えばewipeのインストールに必要なtk4.2がインストールされていなければ、 あわせてtk4.2もインストールしてくれます。

FreeBSD 2.2.6-RELEASE以降でインストール

FreeBSD 2.2.6-RELEASEおよびそれ以降の場合には、 magicpointおよびewipeのためのportやpackageが準備されています(*2)。

portの名前はそれぞれ以下の通りです。

例えばjapanese/magicpointであれば、 /usr/ports/japanese/magicpointにファイルがあるはずです。 rootになって/usr/ports/japanese/magicpointに行って、 make installを実行すればすべては完了するはずです。

packagesは、標準のインストーラでメニューに従ってインストールすれば インストールできます。 FreeBSDのブートフロッピーのメニュー、もしくはインストール後に起動した /stand/sysinstall(実体は同じものです)から適切なメニューを 選ぶだけで済みます。 packagesの名前はそれぞれ以下のようになっています(?.?はバージョン番号)。

Software Designの読者の方はjapanese/magicpointja-magicpoint-?.?(ewipeについても日本語のもの)を 利用なさると思います。 日本語圏以外のおともだちに教えてあげるときには、 misc/magicpointを使うように言ってあげましょう。

FreeBSD 2.2.6-RELEASE以前のFreeBSDにインストール

ところで、実はmagicpointやewipeのためのportsやpackagesは、 2.2.5-RELEASEのCD-ROMなどには含まれていません。 2.2.5-RELEASEのCD-ROMに含まれているports/packagesコレクションは、 2.2.5-RELEASEの配布セットをつくった時点でのスナップショットになっており、 ごく最近portsが作成されたソフトウェアについては収録されていません。 magicpointやewipeは最近のソフトウェアなので、 2.2.5-RELEASEのportsには含まれていないのです。 このため、「portsの最新版」をftpで取得して使用する必要があります。

ここでは簡単に、portsの最新版、 ports-currentによるインストールについて述べておきます。 ファイルを入れ替えるときには、いつでも戻せるように 古いファイルのコピーを保存しておいてください。

  1. /usr/share/mk/bsd.port.mkのいれかえ
    rootになって、/usr/share/mk/bsd.port.mkを 最新のものに入れ替えます。 最新版は例えば ftp://ftp.jp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/mk/bsd.port.mk などから入手できます。
  2. 最新版のportの入手
    最新版のportを入手します。 例えばjapanese/magicpointであれば、 ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports-current/japanese/magicpoint 以下のファイルを全て入手します。 入手の際には、もともとのディレクトリ構造が変わらないように 注意してください。 /usr/ports/japanese/magicpointを最新のものに入れ替えると、 依存関係のあるソフトウェアのインストールが楽です。
  3. make
    あとはmakeするだけです。

他のUNIX OSでのインストール

FreeBSD以外のUNIXベースOS(Linuxなどを含む)では、 portsなどのような簡単インストールシステムが提供されていない場合が 多くあります。 このためFreeBSD以外のシステムでは、 magicpoint/ewipeの配布キットについてくる説明書の手順どおりに インストール作業を進めなければなりません。 以下に記載されているインストール手順は特定のバージョンや 設定に基づいています。 バージョンや設定が異なる場合は当然手順が異なるので、 必ず配布キットに含まれている説明書をよく読んで作業してください。

magicpoint

magicpointで日本語のスケーラブルフォントを使いたい場合、 vflibがインストールされていることが前提となっていますので、 インストールしておきましょう。 vflibの配布元は ftp://gull.se.hiroshima-u.ac.jp/pub/VFlib/ です。

magicpointの配布元は ftp://ftp.mew.org/pub/MagicPoint/です。 最新版をftpしてきて、tar.gzファイルを展開しましょう(*3)。 展開が済んだら、magicpointのドキュメントにあるとおり一般ユーザとして

% ./configure
% xmkmf -a
% make
としてバイナリを作成してから、rootになって
# make install
としましょう。 この作業で/usr/X11R6/bin/mgpというバイナリがインストールされるはずです。

ewipe

ewipeを利用するには、tk4.2をインストールしておかねばなりません。 tk4.2の英語版は ftp://ftp.sunlabs.com/pub/tcl/に、 日本語化パッチは ftp://ftp.sra.co.jp/pub/lang/tcl/jp/にあります。 適宜インストールしましょう。 日本語化パッチ入りのtk4.2を利用した場合には、 ewipeでのプレゼンテーションに日本語が使えますし、日本語メニュー も利用できますので、日本語パッチ入りのtk4.2を コンパイルすることをおすすめします。

ewipeはスクリプト言語であるtk4.2で記述されていますので、 コンパイルの必要はありません。 ドキュメントに従い一部ファイルを書き換え (親のスクリプトの中に、 後からロードされるファイル群を置いたディレクトリの名前を書く必要があります)、 スクリプトファイルを適切な場所に置いてください。


magicpointを使ってみよう

プレゼンファイルを作る

magicpointでは、プレゼンテーションの原稿はエディタで 記述するようになっています。 muleやnviなど、お好きなエディタを使って 以下のような原稿を準備してください。
%page
%size 5, back "black"




%center, fore "white"
こんにちは、magicpointです。
%left, fore "red"
こんにちは、magicpointです。
%right, fore "blue"
こんにちは、magicpointです。
行頭の「%」はその行に制御コマンドが書かれていることを示しています。 ファイルの一番先頭にpageコマンドがありますが、 これは0ページめがファイル全体の書式統一のに利用されるからです。 空行はテキストを少し画面のてっぺんから下げるために入れてあります。 size 5は文字のサイズを指定しています。 back "black"は背景色の指定、 fore "white"は文字色の指定です。 rightleftで行の詰め方の指定をしています。

このようにして作ったプレゼンテーションファイルは、

% mgp sample1.mgp			# 画面全体を使う
% mgp -g 400x300 sample1.mgp		# 400×300で表示
のようにすると見ることができます。 画面全体を使う場合にはウィンドウマネージャの設定に依らず、 mgpが全画面を奪って利用します。 -gオプションでウィンドウサイズを指定した場合、 magicpointのウィンドウはウィンドウマネージャの制御に従いますので、 適宜位置やサイズを変更できます。

上記に書いた以外にもたくさんの制御コマンドが提供されています。 例えばbgradコマンドを利用して 手軽に背景にさまざまなグラデーション模様を出したり、 image "hoge.gif"などとして画面に画像ファイルを貼り込んだり することができます。 また、長い行は自動的に折り返されるので、長い文章を張り込むのも簡単です。 ここでは画面を紹介するにとどめますが、 magicpointの配布キットにはサンプルがいくつか添付されていますので、 サンプルをみながら記述するとわかりやすいでしょう。

グラデーション 画像貼りこみ 行の自動折り曲げ

プレゼンテーションする

実際にプレゼンテーションする場合、 会議場の都合にあわせて以下のふたつの方法がとれます: VGAプロジェクタを利用する場合、 VGAプロジェクタの投影できる画面サイズがノートPCの画面サイズと 異なる場合があります。 magicpointのプレゼンテーションファイルは、 画面サイズに依存しないような書式になっています。 例えば、フォントサイズは画面サイズに対するパーセンテージで表現されています。 画像をはりこむ場合も、画像を「画面サイズの何割」と指定してサイズ変更して 貼ることができます。 このため、突然画面サイズの違うVGAプロジェクタを使わないといけなくなった 場合にも容易に対処することができます。

ページ移動にはマウスボタンまたはキーボードを使用します。 ワイヤレスマウス、またはケーブルの長いマウスを用意すると便利でしょう。 magicpointはページ描画途中のマウス入力も受け付けますので、 複数ページ移動したい場合はマウスボタンを連打すればすばやく移動できます。 ページの上の特定の位置を指示するときには、マウスポインタで指せばよいでしょう。

magicpointの配布キットには、 画面上でプレゼンテーションを見るmgpに加えて、 mgp2psというPostScriptファイル生成ツールが含まれています。 これを使えば、OHPフィルムへの印刷も簡単にできます。 画面イメージほぼそのままのPostScriptファイルを生成することができます。 プレゼンテーションに使ったファイルを、 あとでmagicpointを持っていないひとに配布するのにも使えますね。

進んだ機能

magicpointには、いくつかの実験的な機能が実装されています。 その代表が、「話者のmagicpointがwebサーバになる」機能です。 プレゼンテーションを行う会議場にネットワークが整備されている場合、 話者も聴衆もノートパソコンを持ち込んでいる場合がほとんどです。 「席が遠くてスクリーンが見えない」と文句を言われるくらいなら、 みんなの液晶画面にスクリーンを送ってしまえ、 というのが開発の発端です。 この場合、話者はmgpのかわりにmgpnetという プログラムを起動します。 こうすることで、http://話者のマシン:9999/で 現在話者が表示しているプレゼンテーションの画面を見ることができます。
話者のPC	聴衆のPC
[[PC]]		[[PC]]	[[PC]]
  |		  |	  |
==+===============+=======+== ethernet
	-> HTTPで画面を送る

これ以外にも、プレゼンテーションファイルをLaTeXやHTMLに変換するための ツールも付属していますので、 いちいち出力形式にあわせてファイルを書き直さなくて済みます。

ewipeを使ってみよう

プレゼンファイルを作る

magicpointの場合にはテキストエディタでプレゼンテーションファイルを 作りましたが、ewipeはエディタを含んでいるので、 おもむろにewipeを起動して構いません。
% ewipe					# 新規ファイル
% ewipe hoge.ewp			# hoge.ewpを使う
起動するとファイル編集のためのウィンドウが現われます。 編集ウィンドウは右図のようなかんじになっています。 編集は行を単位としており、 行を挿入したり削除したりするには画面上部のメニューをつかいます。


実際にプレゼンテーションで利用するためのウィンドウは 編集ウィンドウとは別になっていて、 編集ウィンドウの左下の「Viewer」ボタンを押すと現われます。 Viewerウィンドウのサイズは、編集ウィンドウのメニューから選択して 640×480と800×600を切り替えられます。 ウィンドウマネージャを用いたリサイズはできません。


画像の貼りこみや表組みも可能です。 表組みの場合には編集ウィンドウでの編集がかなり苦しくなりますが、 ewipeも入力ファイルはテキスト形式なので、 ewipeの編集ウィンドウを使わずエディタで編集することもできます。


プレゼンテーションする

ewipeを起動する際、ewipe -v hoge.ewpとして起動すると、 起動時に編集ウィンドウでなしにViewerウィンドウが現われます。 編集ウィンドウで設定した画面サイズなどのオプションは プレゼンテーションファイルの先頭部分に埋め込まれて保存されます。 Viewerウィンドウでは変更できませんので、 画面サイズの調整をする場合には編集ウィンドウを開いて調整する必要があります。

あとはほぼmagicpointの場合と同様です。 マウスボタンやキーボードでページをめくり、 プレゼンテーションを成功させましょう。

進んだ機能

編集ウィンドウのメニューを選択することで、 プレゼンテーションをHTMLファイルに書き出すことができます。 最近のベータバージョン(0.7.2以降)には、 プレゼンテーションの割り当て時間を超過しないためのタイマー機能が ついているようです。 卒論修論などの発表には必須ですね。

まとめ

本稿では、プレゼンテーションツールとしてmagicpointとewipeを紹介しました。 どちらにも得意な点、不得意な点がありますので、 適材適所で使い分けていくのがよいでしょう。 magicpointやewipeを使って、PowerPoint(とWindows95)にはさよならを言いましょう。 Windows95を消すと、ノートPCのハードディスクを広々使えますよ。

magicpoint、ewipeとも以下にwebpageがあります。

おのおの、 ユーザ間の情報交換のためのmailing listなども用意されているようですので、 インストールが済んだら上記webpageを見て参加してみてはいかがでしょうか。

※記事中の画面には、 配布キット付属のサンプルファイルを利用させて頂きました。


註:
(*1)
筆者はWindowsを一度も自分のマシンにインストールしたことがないくらい Windowsを避けているため、どこまで本当かは神のみぞ知る、である。
(*2)
執筆時には2.2.6-RELEASEはまだでていないのですが、 準備されている、はずです。
(*3)
ねんのため: 適当な作業ディレクトリに行き、
% tar zxf nantara.tar.gz
とすれば展開できる。
(*4)
編集の方へ: このへんは、他の節で取り上げている場合削除も可
(*5)
98年3月(version 0.7.1)現在
(*6)
話題が外れるので述べませんが、 vflibやfreetypeなどのフォント展開エンジンをX11サーバに 組み込むことで、X11サーバが日本語のスケーラブルフォントを 扱えるようにするプロジェクトが現在多数動いています。