--- layout: ja title: テーマの作り方 --- == テーマについて スライドの見た目はRDとは別に指定します.それがテーマです. テーマのテスト用のスライドがsample/theme-bench.rabにあるので 活用してください。 == 置き場所 テーマはrubyの$LOAD_PATHから検索されます.新しくテーマを作成 した場合は((|$LOAD_PATHに含まれているパス/rabbit/theme/テーマ 名/テーマ名.rb|))あるいは((|ソースがあるディレクトリ/テーマ 名.rb|))に置いてください. == 書き方 テーマはRubyスクリプトです.難しいと思われるかもしれませんが, 凝ったことをしなければそれほど難しいことはありません. テーマは以下のような記述を列挙していくことになると思います. (1) 対象となるスライド中の要素(段落とか,ページタイトルと か)を選択 (2) 選択した要素に対して属性を変更したり,描画時の動作を加 えたりする. 例えば,各ページ(タイトルページは含まない)にあるタイトルの 文字の色を変更したい場合は以下のように書きます. match(Page, HeadLine) do |heads| heads.prop_set("foreground", "red") end ((|heads|))というように複数形になっているのは,((|heads|))は タイトル(見出し,head line)を0個以上含んでいるからです. == プロパティ (({prop_set}))では前景色(foreground)以外にも以下のものが指 定できます.詳しくは(()) を見てください. : font_desc フォント情報を指定します. : font_family フォント名を指定します. フォント名の一覧は(({font_families}))とやればフォント名の 配列として取得できます. : face font_familyと同じです. : size フォントの大きさを指定します. フォントの大きさを数値で指定する場合は,指定する数値を (({screen_size}))で変換してから(({Pango::SCALE}))を掛けて ください.例えば,フォントの大きさを(Rabbitのテーマの世 界の単位で)2にする場合は以下のようにします. screen_size(2) * Pango::SCALE : style フォントのスタイルを指定します. : weight フォントの重みを指定します. : variant フォントのvariant(変形方法って感じ?)を指定します. : stretch フォントの伸び縮みの具合を指定します. : foreground 前景色を指定します. : background 背景色を指定します. : underline 下線の種類をします. : rise 文字の上下の位置を指定します. : strikethrough 取消線を引くかどうかを指定します. : fallback 指定したフォントがなかった場合に似たようなフォントで代用 するかどうかを指定します. : lang 言語を指定します. : b 太字にします. : big フォントのサイズを大きくします. : i 斜体にします. : s 取消線を引きます. : sub 下付き文字にします. : sup 上付き文字にします. : small フォントのサイズを小さくします. : tt 固定スペースフォントにします. : u 下線を引きます. == フック 要素が描画される前,又は後に実行される手続きを指定することが できます.それぞれ,(({add_pre_draw_proc})), (({add_post_draw_proc}))で指定できます.これらの手続きを削除 するときは,それぞれ(({clear_pre_draw_procs})), (({clear_post_draw_procs}))を使います. 詳しくは...とりあえず,今のところはdefaultテーマを参考に してください.