ハトネコエ Web がくしゅうちょう

プログラミングとかAndroid

keynote に 数式を貼るには、TeXclip と TeX2img が便利

昨日、『プログラマのための数学勉強会』に参加してふたたびLT枠で登壇してきました。
前回の発表を特にブログに書かなかったのは、重い風邪でちゃんと準備できず消化不良だったためで、今回リベンジ出来てよかったです……!

プログラム・発表スライドは以下のGitHubリポジトリのREADMEからご覧いただけます↓
(気に入ったらSTARを押してもらえると作者のテンションが上がります)

f:id:nekonenene:20160320100742p:plain
かわいい・・・・・

1. 数学系のスライド作りって大変!

さて、スライドを作るに苦労したのが図を描くのと数式を書くこと。

図を描くこと。
それこそTeXを使うという方法もありますが、まだTeXに触れたばかりで文法がよくわかりませんし、
わかりやすいようカラフルに仕上げたいので、お絵かきソフトで頑張るしかありません。

数式を書くこと。
ここは、TeX の出番です。

TeX って名前は知ってるけど難しそう」とは思っていましたが、
keynote で下付け文字をいちいち指定するのは大変ですし、分数は普通の文字としては書けません。
きっと TeX なら楽に書けるに違いないと思い、
発表前日にスライドを作っていたのですが導入を考えました。

そのときに知ったのが TeXclip です。

2-1. TeXclip は TeX 初心者にぴったり!

この次に紹介する TeX2img の環境を整えるなかで知ったのですが、
TeX の環境を整えるのはわりと面倒……っていうかわかりにくいです。
TeX に関する情報が多すぎるゆえに、どれが最小限に必要なのかわかりにくかったりします。
(なにしろ、スライドに数式を貼りたいだけなのですからね!)

そこで便利なのが、TeXclip というWebサービスです。
TeXclip : http://texclip.marutank.net/

これの何がいいかって言いますと、

  • TeX 環境構築の手間がない!
  • Command + S キーですぐにプレビューが見られる!
  • png, eps (aiファイルみたいなもの), svg に対応!

すぐにプレビューを見られるのが、初心者にとってありがたすぎでした。

残念なところもありまして、

  • 日本語は使えない → 数式を書くだけなら困らないけどね
  • ダウンロードファイル名がわかりづらい → ダウンロードフォルダの並び順を「更新日時順」にしておくと楽です

日本語を使えないのがちょっとつらいですね。無理に使おうとすると、
全角文字に半角スペースが飲み込まれたりしてどうにもなりません。
日本語を使いたい場合は、次に紹介する TeX2img を使いましょう。

2-2. TeXclip を使ってみる

では、実際に使ってみます。

\[
    \theta_{a} = 2\pi \div (\frac{2}{3})^2
\]

こう打ち込んで取得した png ファイルはこんな感じです。
しっかり透過もされています。

f:id:nekonenene:20160320112350p:plain

このファイルをドラッグ&ドロップするなりして keynote に貼り付ければOKです。

他には、

\begin{eqnarray}
    p_i(x)      &=& r_{1}cos( \theta_{f} + (i-1) \times \frac{360}{n} ) + c_1(x) \\
    p_i(y)      &=& r_{1}sin( \theta_{f} + (i-1) \times \frac{360}{n} ) + c_1(y) \\
    \theta_{f2} &=& \theta_{f1} + \frac{360}{n} \div 2
\end{eqnarray}

と打てばこうなります。

f:id:nekonenene:20160320112813p:plain

この場合、右のカッコが邪魔な場合もあると思いますので、そのときは
keynote の Edit Mask 機能でささっと切り抜きするのが手軽かと思います。

f:id:nekonenene:20160320113237p:plain

3-1. TeX2img は日本語も使える!

続いては TeX2img です。

これは Webサービスでないので、パソコンにTeX環境の導入が必要になりますが、
日本語が使えますので、数式のほかに説明文も TeX でやりたい場合にはとても有用です。


昨日の発表後すぐに教えていただきました。

TeX2img : http://island.geocities.jp/loveinequality/

3-2. TeX 日本語環境を設定しよう

TeX の環境を整えるのはわりと面倒……っていうかわかりにくい』と書きましたが、
その方法をこれから書きますのでご安心ください。説明があれば単純です。

情報元 : TeX Live/Mac - TeX Wiki

3-2-1. BasicTeX をインストール

Homebrew Cask がインストールされていることが前提となります。
まだの方はこちらを読んで : みんなhomebrew-caskって知ってるか? - Qiita

LiveTeX という、TeX環境構築のためのパッケージがあるのですが、1.2GBもあります。
BasicTeX は、必要最小限になるよう削ぎ落として 300MB にしてありますのでこっちを使います。
TeX2img の実行に必要となる pdfTeX は BasicTeX にも含まれてるのでご安心を。

brew cask install basictex

『Staged at /opt/homebrew-cask/Caskroom/basictex/latest』みたいな表示がされると思いますので、そのフォルダを開きます。

open /opt/homebrew-cask/Caskroom/basictex/latest

そのフォルダに『BasicTeX.pkg』というファイルがあるのでそれを実行し、インストールします。
私の場合は、一度PCを再起動しないとインストールが反映されていませんでした。

なお、このインストールにより、
何かアプリケーションが増えるわけでなく、コマンドが増える という点もご注意ください。
アプリケーションフォルダに変化は起こりません。

3-2-2. Ghostscript をインストール

TeX2img の実行に必要となります。

brew install ghostscript

3-2-3. 日本語環境を整えよう

BasicTeX により導入されたプログラムたちを最新版にアップデートします。

sudo tlmgr update --self --all

TeX日本語環境を導入

sudo tlmgr install collection-langjapanese

しかし、El Capitanでの Mac OS の仕様変更が原因で、このままでは
TeXで日本語が使えませんし、もちろん TeX2img でも使えません。
以下のコマンドを順番におこないます。

cd /usr/local/texlive/2015basic/texmf-dist/scripts/cjk-gs-integrate
sudo perl cjk-gs-integrate.pl --link-texmf --force
sudo mktexlsr
sudo updmap-sys --setoption kanjiEmbed hiragino-elcapitan

これでOKです。

3-3. TeX2img が起動できるようにする

=== 追記 : 2016/03/20 19:00 ===
TeX2img が起動できない場合があります。
これは、Macのデフォルトのセキュリティー設定だと、
App Store にあるものか Apple に認定された開発者のアプリケーションでないと実行できないためです。

Macの設定画面から Security & Privacy の項目で以下の部分を変更します。
f:id:nekonenene:20160320190833p:plain

まず鍵アイコンをクリックしてこの設定を変えられる状態にしたあと、
デフォルトの「Mac App Store and ...」から「Anywhere」に変えます。
この設定にすれば TeX2img が起動できます。

セキュリティー的に心配な方は、一度起動してしまえばあとは起動できますので、
設定を再び「Mac App Store and ...」に戻しておくといいかと思います。

それから以下で書く設定は、今までの手順通りにやっていれば、
初回起動時にTeXのPATHを調べてAuto Detect(自動設定)してくれるそうなので、本来は必要ないそうです。

次の 3-4 は、私のように TeX のインストールより先に TeX2img を起動してしまった人向けの話になります。
=== 追記ここまで ===

3-4. TeX2img の設定を整える

TeXの日本語環境構築をおこない、
TeX2imgのサイトからアプリケーションをダウンロード・インストールして実行しても、
まだちゃんと画像生成の動作はおこなえません。

TeX2imgの設定を開いてください。

Engines の項目を見ると、動作に必要な3つのプログラムの欄が空白になっていると思いますので、
Auto Detect ボタンを押して、自動設定してもらいます。
f:id:nekonenene:20160320121804p:plain

あとは自分好みに設定をいじれば完了です!

Keynoteコンパイル後すぐに貼り付ける設定もありますので、
TeX の文法に慣れている方はその設定にすると、すらすらスライドが書けて良いと思います。


あ、最後にもう一度発表資料の宣伝させて!

満足満足!
ありがとうございました。