6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rabbitを使ってプレゼンテーションを作るメモ

Last updated at Posted at 2021-07-15

はじめに

Rabbitはkouさんが開発している老舗のRubyist向けプレゼンテーションツールです。最近ではMarpが有名ですが、Rabbitは20年近くメンテナンスされており、今でもRubyistの間では一定の人気を誇ります。

GitHub:

  • RabbitはRubyとGTK3などGNOMEのツールで作られています。
  • RubyのGTK3バインディングはruby-gnomeで管理されています。
  • Linux, MacOS, Windows 全てのプラットフォームで動作します。

公式サイト:

Rabbitのスライド置き場

Rabbitで作成したスライドをアップロードできる場所として、Rabbit Slide Showが開設されています。(筆者は使ったことはありません)

これを見ると、Rabbitで作りやすいスライド、作りにくいスライドがよくわかります。
作りやすいスライドは、

  • 単純な箇条書きを使用
  • 1スライドには、1枚の画像もしくは1枚の表を表示

するものです。またソースコードの表示も得意です。一方でRabbitを使うべきではないケースも確かに存在します。

Rabbitは...

  1. 左右に分割されたページを作れません。例えば2枚の画像をhorizontalに表示できません。
  2. 文字や画像を大量に入れるお役所的プレゼンテーションの作成ができません。
  3. アニメーションはできません。動画の埋め込みも不向きです。

そういったスライドを作成する場合はPowerPointなど他のツールを採用しましょう。

Rabbitは、作成したスライドをRubyGemとしてGemサーバーにアップロードするという特殊な文化があります。これは現代では採用しえないエコシステムで、歴史的な経緯を感じます。

などで検索すると、Rabbitのスライドを発見することができます。

そのほか、クリアコード社のリポジトリには、Rabbitを用いた発表のソースが公開されており、参考になると思います。

Rabbitで作成したスライドはPDFに書き出すこともできます。RabbitユーザーでもPDFに書き出してから、Speaker DeckやSlide Shareなどの一般的なスライド共有ソフトにアップロードしているケースが多いと思います。

インストール

gem install rabbit

RabbitはRuby-GNOMEに依存しています。内部ではnative-package-installerというものが、GTKのパッケージを自動的にインストールします。もしもインストールで出ラーが発生した場合は、Ruby-GNOMEの問題か調査して、それらしければRabbitRuby-GNOMEのリポジトリに報告してください。

スライドの生成

GUIもついているので、単に rabbit-slide と打つだけでも大丈夫。

image.png

CUIの場合は

rabbit-slide new \
   --id theme-benchmark-ja \
   --base-name theme-benchmark \
   --markup-language rd \
   --name "Kouhei Sutou" \
   --email kou@cozmixng.org \
   --rubygems-user kou \
   --tags rabbit

そうすると、README.mdconfig.yaml が生成さます。

ただし、簡単なプレゼンテーションを作成するのにわざわざこのコマンドを使う必要はありません。単にMarkdownドキュメントをrabbitで開くだけでも、それなりに見栄えのするスライドになります。

スライドの書き方

3種類の記法が用意されています。

古参のRubyユーザーは Ruby Document format を使う事が多いです。私のような比較的新しいRubyユーザーはMarkdownを使う人が多いようです。

# TITLE

# FIRST SLIDE

* ITEM 1
* ITEM 2
* ITEM 3

# SECOND SLIDE

![](https://raw.github.com/rabbit-shocker/rabbit/master/sample/lavie.png){:relative_height='100'}

Rabbitを使った発表のコツは、トークに力を入れる ことだと思います。
スライドはあくまで補助であり、声による情報伝達がもっとも重要であると心得ましょう。

読み原稿を書く

## によって読み原稿を書くことが可能ですが、通常のマークダウン記法と異なるので注意が必要です。

# FIRST SLIDE

* ITEM 1
* ITEM 2
* ITEM 3

## こんにちは。今日は ITEM1 ITEM2 ITEM3 について説明します。

テーマ

Rabbitでは、テーマはRubyのコードです。テーマは

に置いてあります。クリアコード社でもロゴを入れて使っているclear-blueの完成度が高いです。私はクリアコード社の関係者ではないですが、Rabbitによるプレゼンテーションでは clear-blue を使う事が多いです。

テーマを一部だけ変更したい場合は、直接プレゼンテーションのディレクトリにコピーして、該当部分だけ編集するのが簡単です。

テーマはインスタンス変数を使って記述されています。テーマの書き方はほとんど文章化がされていないため、grep -rl コマンドなどを使ってRabbitのソースコードを探す行動が必須になります。

うさぎと亀の画像を差し替える

Rabbitの代名詞とも言える「うさぎ」と「かめ」の画像ですが、公式な発表の場では使いづらいことが多いかと思います。その場合は以下のようにすると差し替えることができます。

@image_timer_image = "kame-no-kawari.png"
@image_timer_space_ratio = 0.03 # 小さく
@image_slide_number_image = "usagi-no-kawari.png"
@image_slide_number_space_ratio = 0.03 # 小さく

時間の指定

コマンドラインオプションを使用するときは、--allotted-time オプションを使うことができます。単位を指定しないと秒数になるっぽい。10mなどとすると10分になる。

スライドの冒頭部分でも指定することができる。

: allotted_time
    25m

スライドを16:9にする

  • コマンドラインオプション --size 800,450 をつけます
  • config.yml の設定でもいける

フォントの指定

  • テーマファイルの必要なところをいじる

スライドをPDFとして出力する

コマンドを使う

rabbit --print --slides-per-page 6

スライド作成例

ここでは、Rabbitの公式スライドを転載します

# Rabbit

subtitle
:   Markdownでプレゼンテーション

author
:   須藤功平

institution
:   COZMIXNG

theme
:   rabbit

Rabbit - Markdownでプレゼンテーション-00.png

# Rabbit

プレゼンテーションツール

* 実装: Ruby/GTK+ 2/cairo
* 動作: PC-UNIX/Win/Mac
* 書式:
  Wiki/RD/Markdown/PDF
* 見た目: Ruby{::note}(ソースと分離){:/note}

Rabbit - Markdownでプレゼンテーション-01.png

# 機能: 表示(1)

* *強調*~~削除~~
* ソースの色付け

Rabbit - Markdownでプレゼンテーション-02.png

# 機能: 表示(2)

* 
* おもしろテーマ
* 画像
  * 対応フォーマット多数
  * PNG/JPEG/.../PDF/EPS/SVG

Rabbit - Markdownでプレゼンテーション-03.png

# 機能: 表示(3)

* 長い行の折り畳み
* ソースの色付け
* 大きな文字

Rabbit - Markdownでプレゼンテーション-04.png

# 機能: UI(1)

* 豊富なキーバインド
* 右クリックメニュー
* マウスジェスチャ
* スポットライト
* 虫眼鏡

Rabbit - Markdownでプレゼンテーション-05.png

# 機能: UI(2)

* 一覧ページ
* 落書き
* {::wait/}ポーズ
* {::wait/}国際化
* スライド内検索

Rabbit - Markdownでプレゼンテーション-06.png

# 機能: UI(3)

* ホワイト・ブラックアウト
  * スライド白塗り・黒塗り
* ラビットホール
  * スライドに穴
* 持ち時間の残りを視覚化
  * うさぎとかめ

Rabbit - Markdownでプレゼンテーション-07.png

# 機能: 入力

* ファイル
* 標準入力
* HTTP
* Hiki/RWiki
* SlideShare

Rabbit - Markdownでプレゼンテーション-08.png

# 機能: 入力書式

* WikiHiki
* RD
* Markdown (kramdown)
* PDF
  * PDFビューア

Rabbit - Markdownでプレゼンテーション-09.png

# 機能: 出力

* 画像
* 画像 + HTML
* PS/PDF
* 印刷用PS/PDF
  * nスライド/ページ

Rabbit - Markdownでプレゼンテーション-10.png

# 機能: 外部API

* HTTP
* dRuby
* XML-RPC
* SOAP

Rabbit - Markdownでプレゼンテーション-11.png

# 機能: 作成支援

* ソースの自動再読み込み
* テーマの再読み込み
* テーマの切り替え

Rabbit - Markdownでプレゼンテーション-12.png

# 機能: タグ

{::tag name="x-large"}大きなテキスト{:/tag}

{:.center}
中央寄せされたテキスト

{:.right}
右寄せされたテキスト

Rabbit - Markdownでプレゼンテーション-13.png

# ToDo

* インラインでの画像表示
* リンク先へのジャンプ
* サウンド
* ビデオ
* 3D

Rabbit - Markdownでプレゼンテーション-14.png

# 画像

![](lavie.png "Lavie"){:width='100' height='100'}

Rabbit - Markdownでプレゼンテーション-15.png

# 画像: 鏡面反射

![](shocker.jpg){:relative_height='80' reflect_ratio='0.5'}

Rabbit - Markdownでプレゼンテーション-16.png

# 画像: 背景(1)

* 背景画像
* デフォルトはセンタリング

Rabbit - Markdownでプレゼンテーション-17.png

# 画像: 背景(2)

![](lavie.png){:relative_width="30" align="right" relative_margin_right="-5"}

* 右寄せ背景画像
* スライド内で指定
  * \{:align="right"\}

Rabbit - Markdownでプレゼンテーション-18.png

# 画像サイズ

スライドサイズに応じて変更可能

![](usagi.png){:caption="兎" relative_height="50"}

Rabbit - Markdownでプレゼンテーション-19.png

# 外部画像

URL先の画像をダウンロード

![](https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png "こずみっくちゅー")

Rabbit - Markdownでプレゼンテーション-20.png

# 数式

* 書式: TeX{::note}(っぽい){:/note}
* バックエンド
  * LaTeX

Rabbit - Markdownでプレゼンテーション-21.png

# LaTeX

$$
$f(x)=\displaystyle\int_{-\infty}^x~e^{-t^2}dt$

\LaTeX
$$

Rabbit - Markdownでプレゼンテーション-22.png

# EPS

事前にEPSで作成

![](equation.eps){:relative_width="80"}

Rabbit - Markdownでプレゼンテーション-23.png

# SVG

![](spiral.svg){:relative_height="100"}

Rabbit - Markdownでプレゼンテーション-24.png

# Dia

![](rabbit.dia){:relative_width="90"}

Rabbit - Markdownでプレゼンテーション-25.png

# GIMP

![](rabbit.xcf){:relative_height="100"}

Rabbit - Markdownでプレゼンテーション-26.png

# blockdiag

```blockdiag
{
  default_fontsize = 25;
  RD -> Rabbit;
  Hiki -> Rabbit;
  PDF -> Rabbit;
  group {
    Rabbit -> 画面;
  }
}
#```  kojix2 ここではQiitaの表示の都合上#を入れています。本来は必要ありません。
{:
  relative_width="90"
  fonts="/usr/share/fonts/opentype/ipafont/ipag.ttf, /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf"
}

Rabbit - Markdownでプレゼンテーション-27.png

# 折り返し

なーーーーーーーーーーーーーーーーーーーーーーーーーーーーーがーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーい行は?

Rabbit - Markdownでプレゼンテーション-28.png

# ソース

以下がソース

    # comment
    def method_name
      body
    end

以上がソース

Rabbit - Markdownでプレゼンテーション-29.png

# ソース: 色付き

以下がソース

    # comment
    def method_name
      body
    end
{: lang="ruby"}

以上がソース

Rabbit - Markdownでプレゼンテーション-30.png

# 引用

> You take the ''red pill'', you stay in Wonderland and 
> I show you how deep the ''rabbit-hole'' goes.

Rabbit - Markdownでプレゼンテーション-31.png

# 箇条書き

1. レベル1-1
   1. レベル2-1
      1. レベル3-1
      2. レベル3-2
   2. レベル2-2
2. レベル1-2

Rabbit - Markdownでプレゼンテーション-32.png

# ラベル付きリスト

Rabbit
:   うさぎ

    Tortoise
    :   かめ

うさぎ
:   Rabbit

Rabbit - Markdownでプレゼンテーション-33.png

# 表

| みだし1 | みだし2 |
|---------|--------|
| 内容1 | 内容2 |
| 長ーーーーーい内容3 | 長ーーーーーーーーーーーーーーーーーーい内容4 |

Rabbit - Markdownでプレゼンテーション-34.png

# 操作: 移動

次ページ
:   次に進みそうなキー/左クリック
    n, f, j, l, Spc, Ret, +, , 

前ページ
:   前に進みそうなキー/中クリック
    p, b, k, h, BS, Del, -, , 

Rabbit - Markdownでプレゼンテーション-35.png

# 操作: 高度な移動

タイトルページへ移動
:   a, 0, <, Home

nページ目へ移動
:   1-9, +Ctrl=+10, +Alt=+20

最後のページへ移動
:   e, $, >, End

Rabbit - Markdownでプレゼンテーション-36.png

# 操作: 本番用(1)

フルスクリーン切替え
:   F5, F10, F11, ジェスチャ↓↑

一覧モード切替え
:   i

一覧モードからページ移動
:   ダブルクリック

Rabbit - Markdownでプレゼンテーション-37.png

# 操作: 本番用(2)

キャッシュ作成
:   c

情報ウィンドウ表示切替え
:   I

Rabbit - Markdownでプレゼンテーション-38.png

# 操作: 本番用(3)

虫眼鏡
:   Ctrl+右クリック
    ホイールで拡大率変更

スポットライト
:   ダブル右クリック
    ホイールで半径変更

Rabbit - Markdownでプレゼンテーション-39.png

# 操作: 本番用(4)

落書き
:   ポップアップ(右クリック)→
    落書きモード

マウスジェスチャー
:   右ドラッグ

Rabbit - Markdownでプレゼンテーション-40.png

# 操作: 本番用(5)

ホワイトアウト
:   W

ブラックアウト
:   B

Rabbit - Markdownでプレゼンテーション-41.png

# 操作: 保存

スクリーンショット
:   各ページを画像として保存
    s

印刷
:   各ページをPS/PDFとして保存
    Ctrl+p

Rabbit - Markdownでプレゼンテーション-42.png

# 操作: 描画

再描画
:   Ctrl+l

テーマ再読み込み
:   t, r

スライドの調整値をリセット
:   Alt+a

Rabbit - Markdownでプレゼンテーション-43.png

# 操作: 穴

穴を広げる
:   E

穴を狭める
:   N

Rabbit - Markdownでプレゼンテーション-44.png

# 操作: 検索

次を検索
:   C-s, /

前を検索
:   C-r, ?

検索終了
:   C-g

Rabbit - Markdownでプレゼンテーション-45.png

# 操作: 終了

終了
:   q, Escape

アイコン化
:   z

Rabbit - Markdownでプレゼンテーション-46.png

# まとめ

* プレゼンテーションツール
* マルチプラットフォーム
* 機能/UI: 高機能/ユニーク
* キーボード重視
  * UI・テキストベースのソース

Rabbit - Markdownでプレゼンテーション-47.png

PowerPointへの変換

Pandocに通してからパワーポイントで編集

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?