LaTeX Beamerで御社サイト風のスライドを作る

<!-- LaTeX Beamerで御社サイト風のスライドを作る -->
#概要
御社インターンシップの面接でプレゼンテーションを求められたので，LaTeX Beamerで御社サイトに似たデザインのスライドを作成しました．

#参考
「フラット化」前半と「その他，基本的なこと」はほぼ以下のページの内容そのままです．
[Beamer — Tasuku Soma's webpage - 数理情報第7研究室 - 東京大学](http://www.opt.mist.i.u-tokyo.ac.jp/~tasuku/beamer.html)

#色
御社サイトから色を収集しましょう．

```latex
\definecolor{OnshaSky}{HTML}{E6ECFE}
\definecolor{OnshaSmoke}{HTML}{9EB4DB}
\definecolor{OnshaBlue}{HTML}{1D3994}
\definecolor{OnshaMarine}{HTML}{4070FF}
\definecolor{OnshaRed}{HTML}{FF0033}
\definecolor{OnshaPurple}{HTML}{7B0099}
```

収集した色をいい感じに適用しましょう．
`\setbeamercolor{something}{key=value}`でsomethingのkeyの色をvalueに設定できます．

```latex
\setbeamercolor{structure}{fg=OnshaBlue}
\setbeamercolor{title}{fg=white,bg=OnshaRed}
\setbeamercolor{author}{fg=OnshaBlue}
\setbeamercolor{institute}{fg=OnshaBlue}
\setbeamercolor{date}{fg=OnshaBlue}
\setbeamercolor{frametitle}{fg=white,bg=OnshaMarine}
\setbeamercolor{section in toc}{fg=OnshaBlue}
\setbeamercolor{alerted text}{fg=OnshaRed}
```

#フラット化
御社に合わせてスッキリとしたフラットデザインにしましょう．
`\setbeamertemplate`コマンドでデザインを変更することができます．

```latex
% タイトルの影を消す
\setbeamertemplate{title page}[default][colsep=-4bp,rounded=true]
\setbeamerfont{title}{size=\Large}
% 箇条書きをシンプルにする
\useinnertheme{circles}
% ナビゲーションシンボルを消す
\setbeamertemplate{navigation symbols}{}
% フッターにスライド番号のみを表示
\setbeamertemplate{footline}[frame number]
```

枠付きのblock環境を使いたいと思ったのですが，beamer framed blockとかで検索したところ存在しないようです．
そんなときは`\defbeamertemplate`コマンドで自前のデザインを定義しましょう．
様々な色付き枠を作成できるtcolorboxパッケージを使用します．

```latex
% framed block設定
\defbeamertemplateparent{blocks}[framed]{block begin,block end}[1][]
{[#1]}
\defbeamertemplate{block begin}{framed}[1][]{
  \begin{tcolorbox}[%
    colback=white,%
    colframe=OnshaSmoke,%
    colbacktitle=OnshaSky,%
    coltitle=OnshaBlue,%
    coltext=black,%
    sharp corners,%
    boxrule=1pt,%
    title=\insertblocktitle
    ]%
    \vskip\smallskipamount%
    \raggedright%
    \usebeamerfont{block body}%
}
\defbeamertemplate{block end}{framed}[1][]{\end{tcolorbox}}
```

作成したブロック環境を設定しましょう．

```latex
\setbeamertemplate{blocks}[framed]
```

#その他，基本的なこと
フォントと行間を調節しましょう．

```latex
% フォントファミリー設定
% 英文をサンセリフ体に
\renewcommand{\familydefault}{\sfdefault}
% 数式はサンセリフ体にしない
\usefonttheme{professionalfonts}
% 日本語をゴシック体に
\renewcommand{\kanjifamilydefault}{\gtdefault}
% フォントウェイト設定
% タイトル部は太字
\usefonttheme{structurebold}
% alertは太字
\setbeamerfont{alerted text}{series=\bfseries}
% 目次は太字にしない
\setbeamerfont{section in toc}{series=\mdseries}
% フレームタイトルは太字
\setbeamerfont{frametitle}{size=\Large}
% タイトルは太字
\setbeamerfont{title}{size=\LARGE}
% フォントサイズ設定
% 日付は小文字
\setbeamerfont{date}{size=\small}
% ネストされたitemize，enumerate環境で小文字にしない
\setbeamerfont{itemize/enumerate subbody}{size=\normalsize}
% 行間を広げる
\renewcommand{\baselinestretch}{1.2}
% 別行立て数式環境の行間も広げる
\def\defaultabovedisplayskip{8pt}
\def\defaultbelowdisplayskip{8pt}
\setlength{\abovedisplayskip}{\defaultabovedisplayskip}
\setlength{\belowdisplayskip}{\defaultbelowdisplayskip}
```

これで御社っぽいスライドができました．
このほか，定理の見出しを日本語にするとか色々あるので，上に挙げた参考ページを見るとよいでしょう．

#（余談）テーマファイルの作成
今までのコードをテーマファイルに分離して，`\usetheme{Onsha}`で適用できるようにしてみましょう．
モジュールはできるだけ疎結合にしたいですからね．
実は，`\usetheme{Onsha}`は`\usepackage{beamerthemeOnsha}`に展開されます．
つまり，beamerthemeOnsha.styというスタイルファイルを作って，パスの通った場所に配置すればいいのです．
beamerthemeOnsha.styの先頭は

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthemeOnsha}
```

としておくといいでしょう．

#最後に
私は実際には，タイトルページだけInkscapeを使ってかぎりなく御社サイトに似せたものを作成しました．
パワポやKeynoteでいいといえばそれまでですが，どうしてもLaTeX Beamerで作りたい人は参考にしてみてください．