読者です 読者をやめる 読者になる 読者になる

tak0kadaの何でもノート

発声練習、生存確認用。

医学関連は 医学ノート

texでプレゼン用スライド作成

tex

TexLiveがインストールされた環境ならそのまま使い始められる。インストールしていない場合はTex環境のセットアップ in Ubuntu 14.04 (trusty)などをみてインストールする。

研究室の方で発表をさせてもらえることになり、プレゼン資料を用意する必要が出てきた。今までのメモの大半がブログに書きつけたtexスクリプトなので一からpptに作りなおすのは面倒。beamerというものを使えば簡単にスライドにできそうなので使ってみる。

スライド用texソース

\documentclass[hyperref={unicode}, mathserif]{beamer} %日本語対応、数式のフォント変更
\usepackage{luatexja} %LuaTeXを使う
\usepackage[ipa]{luatexja-preset} %フォント埋め込み
\usepackage{graphicx} %画像の貼付け
\usepackage{listings}%, jlisting}
%\usepackage{texments} %コードのシンタックスハイライト
%\usestyle{colorful}
%\renewcommand{\kanjifamilydefault}{\gtdefault} %和文をゴシックに
%\renewcommand{\familydefault}{\sfdefault} %


\lstset{
    %language=C++,
    backgroundcolor=\color{white},              %背景色
    basicstyle=\ttfamily, %\foootnotesize\small %フォントサイズ
    keywordstyle=\ttfamily, %\color{blue}       %色はうまくつかないので無効にしておく
    stringstyle=\ttfamily, %\color{red}         %
    commentstyle=\ttfamily, %\color{green}      %
    %morecomment=[l][\color{magenta}]{\#}       %
    escapeinside={\%*}{*)},                     %コメントでtexを使える
    % breaklines=true,                          %折り返し
    tabsize=8                                   %タブのサイズ
}

%%% {lstlisting}{language={C++}} -> {C++}のエイリアスになる
%\lstnewenvironment{C++}
%   {\lstset{language=C++}}
%       {}

%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\usetheme{Pittsburgh} %シンプルなテーマ
\usetheme{Rochester} %ブロック表示を使う時に見やすいテーマ

\begin{document}
\title{Beamerでお手軽スライド作成} 
\author{@tak0kada}
\institute{NeetUniversity}
\date{20xx年yy月zz日}

%タイトル
\begin{frame}\frametitle{}
\titlepage
\end{frame}

%目次
\section*{目次}
\begin{frame}{目次}
\tableofcontents
\end{frame}

%コンテンツ
\section{箇条書き}
\begin{frame}{箇条書き}
記号付き
\begin{itemize}
    \item 第1レベル
    \begin{itemize}
        \item 第2レベル
        \begin{itemize}
            \item 第3レベル
        \end{itemize}
    \end{itemize}
\end{itemize}
番号付き
\begin{enumerate}
\item 第1レベル
    \begin{enumerate}
        \item 第2レベル
        \begin{enumerate}
             \item 第3レベル
        \end{enumerate}
    \end{enumerate}
\end{enumerate}
記号の変化
\begin{enumerate}
\item[1] 第1レベル
    \begin{enumerate}
        \item[A] 第2レベル
        \begin{enumerate}
             \item[a] 第3レベル
        \end{enumerate}
    \end{enumerate}
\end{enumerate}

\end{frame}

\section{簡易なアニメーション}
\begin{frame}{簡易なアニメーション}
文章を分割して表示したいときには\texttt{\symbol{"5C}pause}、
箇条書き項目を分割したいときは\texttt{\symbol{"5C}item<number>}を利用する。\\

だらだらだらだら長い文章が\\
\pause
だらだらだらだらだらだら....

\pause
\begin{itemize}
    \item<3-> \texttt{\symbol{"5C}item<3->}
    \item<4> \texttt{\symbol{"5C}item<4>}
    \item<5-> \texttt{\symbol{"5C}item<5->}
\end{itemize}
\end{frame}

\section{Blockの使い方}
\begin{frame}
\begin{block}{ブロック}
    Blockだよ〜
\end{block}
\begin{alertblock}{警告ブロック}
    AlertBlockだよ〜
\end{alertblock}
\begin{exampleblock}{例示ブロック}
    ExampleBlockだよ〜
\end{exampleblock}
\end{frame}

\section{数式の表示}
\begin{frame}{数式の表示}
incomplete beta:
$$
B(x;a,b) = \int_{0}^{x} t^{a}(1-t)^{b} \mathrm{d}t
$$
\end{frame}

\section{ソースコードの表示}
\begin{frame}[fragile]
\frametitle{ソースコードの表示}
ソースコードの表示もできる。
    \begin{lstlisting}{language={C++}}
#include <iostream>
int main(void) {
    std::cout << "hello world" << std:endl;
    return 0;  /* main関数を終了させる */
}
    \end{lstlisting}
\end{frame}

\end{document}

jslistingは使うようにあちこちで書いてあるのだが自分の環境ではなぜか使うとソースコード中で日本語フォントを使えなかったので外してしまった。(なくても問題なし?)

pdfにコンパイル

lualatex presentation.tex

する。インデックスか何か作成するためか2回繰り返さないといけない。

参考

https://gist.github.com/bellbind/3824883#file-hello-texments-embeded-font-texがluatexの具体例ぽかったが消化不良