Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

Beamer用の社内スライドテンプレートを作りました

本記事はSansan Advent Calendar 2024の19日目の記事です。

こんにちは。技術本部 研究開発部 Data Analysisグループの田柳です。大学院では計量経済学・時系列解析を研究しており、2024年4月に新卒として入社しました。

本記事では、PowerPointやGoogle Slidesの社内スライドテンプレートを参考にしたBeamerの社内スライドテンプレート作成について紹介します。

Beamerのスタイルやカラーをデフォルトから変更してみたい方の参考になれば幸いです。スタイルの作成ではbeamerでスライドづくり:Tipsとカスタムテンプレート #LaTeX - Qiitaを参考にさせていただきました。
qiita.com

Beamerとは

BeamerはTeX記法でスライドを作成できるパッケージです。詳しい使い方については本記事では省略しますが、TeXで論文を執筆している方には簡単に使用できると思います。

Beamerには次のようなメリットがあります。

  • 引用が容易である。
  • 数式が綺麗で式番号の管理が容易である。
  • 配置順序について考えずに作成できる。

BibTeXを使用すると、実際に引用した文献のみを参考文献に掲載できます。また、論文誌のスタイルに合わせた引用も簡単です。論文をTeXで執筆している場合、BibTeXファイルを使い回せるのも便利です。

数式も美しく簡単に書けます。これはBeamerというよりTeXの長所ですが、Beamerもその特徴を継承しています。式番号の管理やリンク作成も容易なので、数式を多用する場合は効率的にスライドを作成できます。

私の場合、PowerPointのようなGUIツールを使用中に編集したいテキストボックスが他の要素に隠れてしまうと、操作できないストレスで集中力が途切れてしまいます。PowerPointやGoogle Slidesは高度なカスタマイズが可能ですが、Beamerではそこまで複雑な配置を考える必要がないため、この問題に悩まされることは少なくなります。

このため、研究発表のような場面ではBeamerの使用をお勧めできます。ただし、数式を使用しない場合や複数人での同時編集が必要な場合は、他のツールの方が適しているかもしれません。

テンプレート作成のきっかけ

研究開発部では論文読み会や勉強会など、知識共有の場が多く開催されています。発表内容は機械学習系や統計学系が中心で、数式を使用する機会が多くあります。PowerPointやGoogle Slidesでは数式や引用の扱いに不便を感じることがあり、また学生時代からBeamerでスライドを作成していた経験もあったため、Beamerの社内スライドテンプレートを作成することにしました。

テンプレートの作成

テンプレートのフォルダ構成は次のようになっています。

tex_template
    ├── sansan_style.sty
    ├── main.tex
    └── myrefs.bib

sansan_style.styには、パッケージの読み込みや色、マークなどのテンプレート情報、main.texには本文、myrefs.bibには引用文献の情報を記載します。main.texでsansan_style.styとmyrefs.bibを読み込むことで、これらの設定を適用できます。このようにファイルを分割することで、文書の管理が容易になります。テンプレートの編集は、主にsansan_style.styで行います。

各配色にはSansanのブランディングカラーを採用しています。

スタイル作成で重視したポイントは以下の通りです。

  • 箇条書きやフレームタイトルのスタイルをPowerPointなどのテンプレートに合わせる。
  • よく使う数学記号を定義する。
  • 一目でページ数が分かるようにする。
  • LuaLaTeXを使用し、日本語にも対応させる。

フレームタイトルや箇条書きのスタイルをPowerPointなどのテンプレートに似せる

既存のPowerPoint社内スライドテンプレートを参考にスタイルを作成しました。社内スライドテンプレートでは箇条書きのマークは横棒なのでそれを実装していきます。
パッケージamssymbを読み込むことで使える\blacksquareの縦横幅を調整することでフレームタイトルと箇条書きのマークを再現していきます。

\usepackage{amssymb}

% change frame title
\setbeamertemplate{frametitle}{
    \begin{beamercolorbox}[sep=0.8cm, wd=\paperwidth]{frametitle}
        \hspace{0cm}$\resizebox{0.18cm}{0.6cm}{{\textcolor{passion_red}{\blacksquare}}}$
        \hspace{0.1cm}\insertframetitle
        \vskip-0.4cm
    \end{beamercolorbox}
}

% change itemize

\defbeamertemplate*{itemize item}{mytheme}{
\usebeamerfont*{itemize item}$\resizebox{1.8cm}{0.1cm}{{\bf \textcolor{passion_red}{\blacksquare}}}$
}


Before (デフォルト)

After(変更後)


よく使う数学記号を定義する

期待値、argmax、argmin、確率収束、概収束は頻繁に使用するため、コマンドとして定義して簡単に呼び出せるようにしました。

\usepackage{amsmath}
\newcommand{\E}{\mathbb{E}}
\newcommand{\argmin}{\mathop{\rm arg~min}\limits}
\newcommand{\argmax}{\mathop{\rm arg~max}\limits}
\newcommand{\CP}{\stackrel{p}{\longrightarrow}}
\newcommand{\AS}{\stackrel{a.s.}{\longrightarrow}}


実際の使用例は次の通りです。

一目でページ数が分かるようにする

ページ番号がないスライドは後から特定のページを探すのが困難です。また、プレゼンテーション全体の進行状況も把握しづらくなります。そこで、ページ番号を表示させます。
次のように設定することで 現在ページ/最大ページ がスライド右下に表示されるようになります。

\setbeamertemplate{footline}[frame number]

LuaLaTeXを使用し、日本語にも対応させる

LaTeX使用者の多くはupLaTeXを使用していると思います。私も学部生時代は日本語文書にupLaTeXを使用していました。しかし、upLaTeXはコンパイル時にDVIファイルを経由してPDFを作成します。一方で、LuaLaTeXは直接PDFを生成できるのでDVIファイルからPDFの作成の設定を考える必要がなくなります。またフォントの設定もLuaLaTeXの方が簡単に行えます。特別な理由がない限り、LuaLaTeXの使用をお勧めします。

使用方法は、まず次のようにパッケージを読み込みます。

\usepackage{luatexja}
\usepackage[deluxe]{luatexja-preset}


Overleaf*1で執筆する場合は、左上のメニューからコンパイラをLuaLaTeXに設定するだけで使用できます。

より高度なスライドの作成方法については、冒頭で紹介したbeamerでスライドづくり:Tipsとカスタムテンプレート #LaTeX - Qiitaをご覧ください。

まとめ

本記事では、BeamerによるTeX形式のスライド作成用の社内テンプレートについて紹介しました。

Beamerには以下のような利点があります。

  • BibTeXによる参考文献の効率的な管理と引用が容易
  • 数式を美しく表示でき、式番号の管理も簡単
  • 要素の配置が直感的で、効率的な作業が可能

テンプレート作成にあたり、以下の点に注力しました。

  • Sansanブランドカラーの採用と、社内PowerPointテンプレートに準じたデザイン設計
  • 数学記号の定義、ページ番号の実装による使いやすさの向上
  • LuaLaTeXの採用による日本語対応と効率的なPDF生成の実現

ぜひ皆さんも、Beamerをカスタマイズして魅力的なスライドを作成してみてください。

*1:LaTeX執筆用のオンラインエディタ。

© Sansan, Inc.