今日は秋分の日ですね。今日から秋なので、ちょっと秋らしいことをしようかなと思いました。
「秋…。秋か…。秋といえば、プログラムの秋…」
ということでL5のver1.1.0をリリースしました。
前バージョンとの違い
- スライドの記述言語が少し簡単になりました
- GUIで操作できるようになりました
- UbuntuでPDFエクスポートができない問題を解決しました
使い方
L5はJDKがインストールされている環境なら動きます。以下のリンクからJARファイルをダウンロードしてください。
JARファイルはダブルクリックで起動できます。たぶんね。できなかったらごめんなさい。コンソールで$ java -jar L5.jarしてください。
起動すると以下のようなパネルが開きます。

「Open」をクリックしてL5のプレゼンファイルを選択すればプレゼンテーションが始まります。
どんな感じの表示になるかを確認したければ、サンプルからcljファイルをダウンロードしてOpenしてみてください。
プレゼン資料を作る
構成
プレゼン資料は以下のような構成になります。
(ns L5.sample
(:use L5 L5.layout))
(defcontext {...})
(defslides [...]*)
defcontextは”コンテキスト”の設定、defslidesはスライドの記述です。
コンテキストの記述
L5では資料全体に影響するパラメータを”コンテキスト”と呼びます。コンテキストの定義にはdefcontextを使います。たとえばこんな感じ。
(defcontext
{:width 640 ; 横幅
:height 480 ; 縦幅
:font-family "Gill Sans" ; フォント
:font-size 30 ; 文字の大きさ
:color (Color/white) ; 文字の色
:background-color Color/darkGray ; 背景の色
})
他に:background-imageも指定できます。
スライドの記述
スライドはdefslidesで定義できます。たとえば。
(defslides
[(title "自己紹介")
(item "深町英太郎です"
"Webプログラマ"
"Lisper (CL, Clojure)"
"Perl5, JavaScript..."
"オープンソース愛好家")]
...)
スライド一つは[...]で表します。
スライドは複数の”要素”を含みます。この要素は文字とか、画像とかです。上の例では(title...)と(item...)の2つの要素が入ったスライドを作っています。
| title | [& strs] | スライドの上部にタイトル文字をつける |
|---|---|---|
| lines | [& strs] | 文字を一行ずつ表示 |
| item | [& strs] | 文字を箇条書きで一行ずつ表示 |
| enum | [& strs] | 文字を行番号をつけて一行ずつ表示 |
| t | [& strs] | 画面いっぱいの文字を表示 (高橋メソッド) |
| img | [file] | 指定された画像ファイルを表示 (相対パス) |
これらは要素を記述するものですが、その他にレイアウト用のマクロもあります。
| with-size | [size & body] | 中の要素の文字サイズを変更 |
|---|---|---|
| with-padding | [padding & body] | 中の要素のpaddingを変更 |
| with | [params & body] | 中の要素のパラメータを変更 (より汎用的なマクロ) |
より詳しく知りたい人のために
この節は蛇足なので読まないでいいです。
ver1.1.0では、前バージョンにあったalignなどのマクロがなくなっていますが、文字の整列ができないわけではありません。実際、(title..)はセンタライズされて表示されます。
実はスライドの各要素はdefslidesに渡される段階で最終的にArrayMapになっており、これが描画する関数に渡されてスライドが構築されます。上の例だけ見ればtitleなどを使って描画しているように見えますが、これはただArrayMapを返すマクロです。なのでdefslidesに以下のように書いても同じです。
(defslides
[{:attr {:text-align :center
:padding {:bottom 20}}
:body "自己紹介"}
{:attr {:padding {:top 10 :bottom 10}}
:body ["深町英太郎です"
"Webプログラマ"
"Lisper (CL, Clojure)"
"Perl5, JavaScript..."
"オープンソース愛好家"]}]
...)
各要素は:attrと:bodyのキーを持つArrayMapです。:attrに:text-align :centerと指定すると文字をセンタライズできます。
上で紹介したwith-*系のマクロは、この要素の:attrをいじるための構文糖でしかありません。
キー操作
| 進む | →、Space、Enter |
|---|---|
| 戻る | ←、BackSpace |
| フルスクリーン | F5 (トグル)、Esc (解除) |
| リロード | R |
| PDF出力 | E |
まとめ
L5も随分と使い勝手がよくなったように思います。まだKeynoteにはかないませんが、LT資料をサクッと作る程度なら十分な手軽さになっています。
ぜひプレゼンの秋に活用してみてください。




コメントする