feature image

2025年12月13日 | ブログ記事

LaTeXでスライドをつくろう!Beamer入門

💡
この記事は アドベントカレンダー2025 13日目の記事です

大学で理工系に進学すると、多くの人がLaTeXでレポートを書くことを経験するかと思います。レイアウトを整えやすかったり、数式の表現力が高かったりと便利ですよね。ところでLaTeXでスライドも作れることはご存知でしょうか?
この記事ではBeamerというパッケージを用いて、LaTeXでスライドを作る方法を説明します。先にOverleafを使った作り方を説明しますが、VSCodeなどを使ってローカルで作りたいという方もいるかと思いますので、そちらについても説明します。

また、LaTeXといっても色々なエンジンがありますが、今回はupLaTeX(+dvipdfmx)を用いた方法とXeLaTeXを用いた方法について触れます。

一応それぞれのエンジンの特徴をまとめておくと大体こんな感じになります。

upLaTeX XeLaTeX
・日本語組版がきれい
・情報が多い
・フォント設定が複雑
・フォント設定が楽
・多言語に対応しやすい

好きなフォントを使いたい場合は、XeLaTeX一択と考えていいですが、そうでなければ安定性が高く、なにか問題があっても調べれば比較的情報が見つけすいupLaTeXをおすすめします。
なお、LuaLaTeXという、日本語文書を作るうえでは非常に拡張性の高いエンジンがあるのですが、実行に時間がかかるという難点がありOverleafではしばしばタイムアウトするので今回の記事では扱わないこととします。
より詳しい比較をしたい場合Suima君の以前に書いてくれた記事などを見ていただけるといいかもしれません。

(独断と偏見に基づく)TeXエンジン比較
@Suimaです。またお前か。はい、また私です。LATE Xぺちぺちは伊達では無いですよ。 今回はTeXエンジン比較ということで、現在何種類もあるTeXエンジンを、(私の独断と偏見に基づいて)比較していこうと思います。 (ついでにレシピ構成の例も載せておきますので、そちらも参考に……) そもそもTeXエンジンって何? TE Xは、D. Knuthの開発した組版処理言語及びその処理系の総称です。 このソフトウェア自体はかなり古くに作られたもので、組版処理自体には問題は少ないのですが、出力形式がDVIとかいう謎形式な上、ASCIIにしか対応して居らず、勿論欧文以外の組版は考慮されていませんでした。 そのため、TeXの仕様にいくつかの拡張を加えた処理系がいくつか作られました。 これらの、TeX処理系をTeXエンジンといいます。 TeXエンジン紹介 ということで、ここからは現在一般的なTeXエンジンの紹介をしていきます。(現在、というのは例えばNTTが開発していたJTeXは2010年以来事実上の開発凍結状態になっており、このようなものは一般的でないものとします)

Overleaf編

Overleafは、クラウド上でLaTeX文書を作成できるサービスです。多くの学会がフォーマットを公開していたり、共同編集ができたりするので、論文執筆などでも頻繁に使われていいます。環境構築が不要なので、大学の授業でLaTeXの書き方を扱うときもよく使われているイメージです。

upLaTeX

まず、新しいプロジェクトを作成したら'Menu'を開き、'Compiler'を'LaTeX'にしてください。
続いて'New File'をクリックし、latexmkrcというファイルを新たに作成してください。
latexmkrcはlatexmk(LaTeXの自動コンパイルツール)の設定を記述したものになります。
ファイルを作成したら、ファイルの中身を次のように記述してください。

$latex = 'uplatex';
$bibtex = 'upbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$upmakeindex = 'mendex -U %O -o %D %S';

latexmkrcを書き終えたら、もとから存在しているmain.texに次のように記述してください。

\RequirePackage{plautopatch}
\documentclass[aspectratio=43,table,dvipdfmx]{beamer}
\usepackage{bxdpx-beamer}
\usepackage{otf}
\usepackage{bm}
\usefonttheme{serif}

% \renewcommand{\familydefault}{\sfdefault} % 本文(欧文)をサンセリフ体に
% \renewcommand{\kanjifamilydefault}{\gtdefault} % 本文(和文)をゴシック体に


% タイトル等をサンセリフ体 & ゴシック体に
\setbeamerfont{title}{family=\gtfamily}
\setbeamerfont{frametitle}{family=\gtfamily}
\setbeamerfont{structure}{family=\sffamily}

\mode<presentation>
{
  \usetheme{Madrid}
} 

\title{Title (タイトル)}
\author{Author (著者)}
\date{\today}

\begin{document}

\frame{\titlepage}

\begin{frame}{Frametitle (フレームタイトル)}
This is body text. これは本文です。\\
\end{frame}

\end{document}

これで一旦コンパイルしてみましょう。
次のように出力されれば成功です。
2025-12-10-000918
細かい部分について一部コメントアウトでも触れられていますが説明します。

\documentclass[aspectratio=43,table,dvipdfmx]{beamer}

現在、比率が4:3に設定されていますがaspectratio=169とすると、16:9になります。

\renewcommand{\familydefault}{\sfdefault}
\renewcommand{\kanjifamilydefault}{\gtdefault}

それぞれ、本文(欧文)がサンセリフ体に、本文(和文)がゴシック体になります。先程のコードではコメントアウトされていますが、スライドの数式以外の部分をすべてサンセリフ体・ゴシック体にしたい場合に外してください。

\setbeamerfont{title}{family=\gtfamily}
\setbeamerfont{frametitle}{family=\gtfamily}
\setbeamerfont{structure}{family=\sffamily}

タイトルなどをサンセリフ体・ゴシック体にします。セリフ体・明朝体にしたい場合は、コメントアウトしてください。

\mode<presentation>
{
  \usetheme{Madrid}
} 

スライドのテーマを設定します。現在の設定では'Madrid'というおそらく一番使われているテーマに設定されています。他にもこのサイトにあるテーマや有名なものだと'Metropolis'など調べたら色々出てくると思うので気に入ったものを使ってください。何も書かない場合は装飾なしの非常にシンプルなデザインになります。

\title{Title (タイトル)}
\author{Author (著者)}
\date{\today}

タイトルページや、各ページのフッターに表示されるタイトル・著者名・日付を設定します。フッターに表示される文字はデフォルトでは{}内の文字になりますが、\title[フッターに表示される文字]{Title(タイトル)}のように書くことで自由に変えられます。もちろん表示したくなければ[]とすることで消せます。

\frame{\titlepage}

タイトルページを作ります。

\begin{frame}{Frametitle (フレームタイトル)}
This is body text. これは本文です。\\
\end{document}

新たにページを作成するときはこのように書くことで作成できます。

ひとまずこれで一通りの説明は終わりです。あとは普段通りに、フレーム内にLaTeXを書いていけば、スライドができていきます。

XeLaTeX

次にXeLaTeXを使った方法について説明します。
まず、新しいプロジェクトを作成したら'Menu'を開き、'Compiler'を'XeLaTeX'にしてください。
続いてmain.texに次のように書いてください。latexmkrcは必要ありません。

\documentclass[unicode, aspectratio=43]{beamer}
\usepackage{xeCJK}
\usepackage{lmodern}
\xeCJKsetup{CJKspace=true}
\usefonttheme{serif}

% 欧文フォントの設定
\setmainfont{Noto Serif CJK JP}
\setsansfont{Noto Sans CJK JP}

% 日本語フォントの設定
\setCJKmainfont{Noto Serif CJK JP}
\setCJKsansfont{Noto Sans CJK JP}

% タイトル等をサンセリフ体 & ゴシック体に
\setbeamerfont{title}{family=\sffamily}
\setbeamerfont{frametitle}{family=\sffamily}
\setbeamerfont{structure}{family=\sffamily}

\mode<presentation>
{
  \usetheme{Madrid}
} 

\title{Title (タイトル)}
\author{Author (著者)}
\date{\today}

\begin{document}

\frame{\titlepage}

\begin{frame}{Title (タイトル)}
This is body text. これは本文です。\\
\end{frame}

\end{document}

upLaTeXとフォントの設定が異なるので説明します。ほかはupLaTeXと同じです。

% 欧文フォントの設定
\setmainfont{Noto Serif CJK JP}
\setsansfont{Noto Sans CJK JP}

% 日本語フォントの設定
\setCJKmainfont{Noto Serif CJK JP}
\setCJKsansfont{Noto Sans CJK JP}

欧文フォント・日本語フォントをそれぞれ設定します。現在はどちらもメインフォント(本文)が'Noto Serif CJK JP'で、サンセリフフォントが'Noto Sans CJK JP'に設定されています。Overleafの標準で使えるフォントは他にも色々あるので好きなものを使ってください。

ちなみにXeLaTeXでBeamerを使うと、数式の幅が崩れるという問題が生じたのですが\usepackage{lmodern}で解決するようです。

VSCode編

ここまでは環境構築なしで使えるOverleafでの方法を説明しましたが、ローカルで作成したいという方もいるかと思います。今回はVSCodeで作成する方法を説明します。
まず、VSCodeでLaTeXを使うための環境構築についてですが、Hueter君が以前書いてくれた記事を参考に構築してくれると助かります。今回は、この手順で環境構築したものとして、説明を続けていきます。

LaTeX in VSCode 環境構築編
これは新歓ブログリレー2025 38日目の記事です。 はじめに こんにちは! 23Bの@Hueterです。 大学が始まり1週間が経ちましたがいかがお過ごしでしょうか。取った講義によってはすでに課題やレポートの話が出た人もいるかと思いますが、皆さんはどうやってレポートを書きますか?おそらくWordを使って書くという人が多いと思いますが、私はここで皆さんに新しい選択肢を提示します。LATE Xを使ってみませんか?VSCodeを使ってレポートを書きませんか? LATE X・VSCodeって何? 突然知らない用語が出たと感じたと思うので紹介していきます。 LATE Xとは LATE Xは「ラテフ」、「ラテック」と読みます。LATE Xは文書作成ツールの一つで、特に理系の分野では文書作成の定番ツールとして使われてきたものです。Wordなどとは異なりLATE Xではまずソースコードを書き、そこからPDFなどの文書を作成するという手順を踏みます。このため、レポートを書く際にページ数や画像、数式が増えていくとWordだと重くなることがありますが、LATE Xだとレポー

upLaTeX

upLaTeXを使った方法については、上記の環境構築ができていれば、Overleaf編のコードでそのまま実行できると思います。ですので説明は以上です。

XeLaTeX

XeLaTeXを使う場合、まずVSCodeのsettings.jsonに書き足す必要があります。settings.jsonを開いたら"latex-workshop.latex.recipes"の要素に次のように書き足してください。

  {
    "name": "XeLaTeX",
    "tools": [
      "xelatex",
      "xelatex"
    ]
  },

続いて、"latex-workshop.latex.tools"の要素に次のように書き足してください。

  {
    "name": "xelatex",
    "command": "xelatex",
    "args": [
      "-file-line-error",
      "-output-directory=%OUTDIR%",
      "%DOC%"
    ]
  },

これで設定は完了です。
適当な場所に.texファイルを作成してください。作成したら、その中にOverleaf編で載せたXeLaTeX用のコードを貼り付けてください。
ここで、フォントの設定部分

% 欧文フォントの設定
\setmainfont{ローカルに存在するフォント}
\setsansfont{ローカルに存在するフォント}

% 日本語フォントの設定
\setCJKmainfont{ローカルに存在するフォント}
\setCJKsansfont{ローカルに存在するフォント}

ではローカルに存在するフォントを調べて、好きなものを指定してください。
最後にビルドできるか試してみましょう。'LaTeX'メニューの'Commands'から'Buld LaTeX project'下にある'Recipe: XeLaTeX'をクリックして、ビルドしてください。VSCodeの右上にあるボタンからビルドするとupLaTeXで実行されてしまうので上手くできません。ここをクリックしてできるようにしたい場合は、settings.json"latex-workshop.latex.recipes"の要素で、"XeLaTeX"のほうが"latexmk"よりも前に来るように設定してください。ただし、こうした場合、他のプロジェクトにおいてもXeLaTeXでビルドしようとされるので気をつけてください。
無事ビルドできたら成功です。
XeLaTeXを使った方法の説明は以上になります。

おわりに

いかがだったでしょうか。今回の記事では、LaTeXを使ってスライドを作る方法について説明させていただきました。PowerPointでも数式を書くことはできますが、僕はLaTeXで書くほうが楽なので、Beamerの存在を知ってからは好んで使っています。

ちなみにこれはTipsみたいな感じになりますが、大学の授業でグループワークがあると、だいたい皆Google Slidesで共同編集します。ところがGoogle Slidesって数式入力できないんですよね。そこで、数式が必要な時に僕がよくやっているのは、LaTeXで書いて、該当部分をGoogle Slidesにコピー&ペーストすることです。数式をLaTeXで入力すると、画像としてコピーできるようなサイトもあるのですが、この方法だと、貼り付けたあとにレイアウトを調整する必要があります。この方法だとはじめから適切なレイアウトで出力されているので、貼り付けるだけですみます。

皆さんもぜひBeamerを使ってLaTeXで発表スライドを作ってみてください。きっと気に入ってくれると思います。

明日はharuka1012さん、ikura-hamuさんによる記事です。お楽しみに!

Akira_256 icon
この記事を書いた人
Akira_256

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2025年12月13日
1-Monthon_25で学ぶ動画編集の小技集
hijoushiki icon hijoushiki
2022年3月29日
課題・レポートの作成、何使う?【新歓ブログリレー2022 21日目】
aya_se icon aya_se
2025年12月8日
工大祭運営用ツールを作った
Luke256 icon Luke256
2025年12月14日
DBマイグレーションツールをgormigrateからAtlasに変えた
ikura-hamu icon ikura-hamu
2025年12月14日
イラストにおける視線の誘導って何?
haruka1012 icon haruka1012
2025年12月6日
ICPCライブラリを自作してみた話
zoi_dayo icon zoi_dayo
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記