エディタでプレゼン資料を作りたい


advent calendar25日目です。
今日はクリスマスですね。クリスマスといえばクリスマスプレゼント。
なのでプレゼン資料についての記事です。

これは

「PowerPoint,Keynote以下、markdown2pdf(系)以上の効果を持つプレゼンテーション資料」を作りたいときに有用なツールと環境の紹介(自分が使い始めるのでそのログ)

追記:Dockerの方の詳細とテンプレートを作りました。
BeamerのDocker(-Compose)環境を作りました - Qiita

TL;DR

$LaTex$(ロゴうまく出ない)でプレゼン資料を作成しよう、ネックになる環境構築もDocker使ったりOverleaf使うと楽だよ

前提条件

  • 環境(本筋とは関係ないけれど一応)
    • Docker version 19.03.2, build 6a30dfc
  • 書かないこと
    • 入門のような記法の列挙
    • チュートリアルやハンズオン形式での説明

参考文献

モチベーション

  • エディタでプレゼン資料を作りたい
    • スライド内に:wという謎の文字列が生まれてしまう
    • パワポ内で<Ctrl>-hをしてしまうとイライラする
  • スライド中に数式の量が増えてきた
    • パワポにも数式の機能あるけどなかなかにつらい
  • 口頭内容をサポートする程度の視覚効果があればいい
    • パワポやKeynoteでは過剰だけどMarkdownでは足りない

これらは、LaTeXでプレゼンを作れば全部解決する!

でも

環境構築大変なんでしょう?

今回はそれを解決していきます!

LaTeXが書けないといけないんでしょう?

それはそう

本編

そもそも何だ

Beamer

Beamer(ビーマー)は LATEX に基づき、プレゼンテーションを作成するためのクラスである。名称の Beamer はビデオプロジェクターを意味するドイツ語に由来している。
https://ja.wikipedia.org/wiki/Beamer

Overleaf

LaTeX, 進化
簡単に使えるオンラインの共同LaTeXエディター
https://ja.overleaf.com/

とのことなので、つまりは

  • Beamer
    • LaTeXでプレゼン資料を作る機能(クラス)
  • Overleaf
    • オンライン(ブラウザ)でLatexを利用(編集、コンパイル、管理)できるサービス

Hello World的なもの

Overleafに登録

はじめは無料のままで問題ない

テンプレートを選択

左上の[New Project] > [Presentation] > 良さげなテンプレートを選ぶ > [Open as Template]

今回は2ページ目の「Modelo Projeto」を選んでみる

試しにいじってみる

  1. 15行目の\title{Título}の中身を\title{タイトル} に変える
  2. 中央上少し右の[Recompile]を押す

3.出ない

日本語に対応させる

下記の2行をエディタの3行目に貼り付ける
(選択したテンプレートによって異なる場合があるので適宜修正してください)

\usepackage{zxjatype}
\usepackage[ipa]{zxjafont}

PDFをダウンロード

[Recompile]と右の[Download PDF]


(先頭ページだけ)

できた!でも

  • エディタでプレゼン資料を作りたい

んじゃなかったの..??

Beamer + Docker

(使い慣れたエディタを使える)Overleaf以外の環境での作成も紹介

Dockerイメージ

既存のimageがあるが、自分はこちらのDockerfileを利用

FROM ubuntu:18.04
LABEL maintainer YOSHIMI Masato <myoshimi@DOMAIN_NAME>

ENV DEBIAN_FRONTEND noninteractive

RUN set -xe && \
    apt-get -y update && \
    apt-get install -y \
        make \
        texlive-lang-cjk \
        xdvik-ja \
        texlive-fonts-recommended \
        texlive-fonts-extra && \
    apt autoremove -y && \
    apt-get clean

RUN mkdir /texsrc
WORKDIR /texsrc

VOLUME /texsrc

CMD ["/bin/bash"]

ビルド

docker build -t texlive-docker .

.はDockerfileがあるディレクトリになるようにする

ファイル準備

texファイル、本当に最小限

main.tex
\documentclass{beamer}

\begin{document}

\begin{frame}{Hello Beamer}
こんにちは Beamer
\end{frame}

\end{document}

バッチファイル
コンテナの中で実行させるファイル

makePDF.sh
rm *.aux *.bbl *.blg *.idx *.ilg *.ind *.toc
platex main.tex
platex main.tex
dvipdfmx main

コンパイル

準備した2ファイルがあるディレクトリで

docker run --rm -v ${PWD}:/texsrc texlive-docker bash /texsrc/makePDF.sh

main.pdfができる

やっぱり諸々の準備が入らないOverleafの方が楽でいいかも

おわり

実際に作るときはページ上部の参考文献や\usethemeとかたくさん調べてみてください

アドベントカレンダー完走お疲れです