卒論クラス suribt とその周辺

公式に告知されるアドレスは http://www.keisu.t.u-tokyo.ac.jp/research/suribt/ ですが,一次訪問先として情報が多くなり過ぎるため,本ページを設けました. インストール用パッケージ,旧版の継続公開,小技などを用意しています.

suribt は,計数工学科数理情報工学コースで卒業論文を書くにあたって, TeX を用いる場合に,体裁の標準を提供するべく作られた pLaTeX2e 用クラスファイルです. 非公式なスタイルファイルの存在を掲示板で告知していた状況 [尾川氏の記事] を改善し, 論文の書き方で指導される事柄 (章立ての順序,図表のタイトルなど) を実現しやすくするため, 2004 年度,数理情報学専攻の杉原厚吉教授に監修をお願いし,作成しました. その後も細かい修正を加え,数理情報工学コースの卒業論文用のみならず, 修士・博士,英語表記,複数教員による指導,他コースへの対応を行いました.

目次

クラスファイル一式

基本的な使い方をしたい人が本ページ中で最低限読む必要のある部分は本節だけです.

下に示す .zip ファイル 2 つをダウンロードし,解凍して使用します.

解凍先は論文本体の .tex ファイルを置くディレクトリでよいと思いますが,工夫したい人は 下にある「解凍先はどこに?」を参照してください. また,インストール用パッケージを使える人 (Vine, Gentoo, Fink 使用者など) も別途参照してください.

suribt-20070118.zip を解凍して得られる suribt.pdf がマニュアル, skeleton-{euc, sjis (Windows ユーザ対象)}.tex が骨組み見本です.

に対応しています.詳しい設定方法はマニュアル (1--2 節) をご覧ください.ちなみに,

には対応していません.

詳細・補足

解凍先はどこに?

インストール用パッケージ * (別ページ)

suribt-20070118.zip中身

骨組み見本 ([2005/12/09] 以降用)

\documentclass{suribt}
%\documentclass[oneside]{suribt}% 本文が * ページ以下のときに (掲示に注意)
\title{タイトル}
%\titlewidth{}% タイトル幅 (指定するときは単位つきで)
\author{著者名}
\eauthor{著者名の英語つづり}% Copyright 表示で使われる
\studentid{学生証番号}
\supervisor{指導教員名 役職}% 1 つ引数をとる (役職まで含めて書く)
%\supervisor{指導教員名 役職 \and 指導教員名 役職}% 複数教員の場合,\and でつなげる
\handin{9999}{99}% 提出月. 2 つ (年, 月) 引数をとる
%\keywords{キーワード1, キーワード2} % 概要の下に表示される

\begin{document}
\maketitle%%%%%%%%%%%%%%%%%%% タイトル %%%%

\frontmatter% ここから前文
\begin{abstract}%%%%%%%%%%%%% 概要 %%%%%%%%
 ここに概要を書く.
\end{abstract}

\tableofcontents%%%%%%%%%%%%% 目次 %%%%%%%%

\mainmatter% ここから本文 %%% 本文 %%%%%%%%
\chapter{}

\backmatter% ここから後付
\chapter{謝辞}%%%%%%%%%%%%%%% 謝辞 %%%%%%%

\begin{thebibliography}{}%%%% 参考文献 %%%
 \bibitem{}
\end{thebibliography}
%\bibliographystyle{}%           BibTeX を使う場合
%\bibliography{.bib ファイル名}% BibTeX を使う場合

\appendix% ここから付録 %%%%% 付録 %%%%%%%
\chapter{}
\end{document}

Tips

suribt.pdf (マニュアル) には,親クラスとして用いる jsbook からの変更点を中心に記述してあります. 細かなカスタマイズをしたい場合は,jsbook を含むクラスファイル群のマニュアル 「pLaTeX2e 新ドキュメントクラス」(pdf) などを参考に,記述を上書きして対応することになります. 以下に,よくあるカスタマイズに関する設定や,ちょっとした技を書いておきます.

添削用に行間を広げる

幾通りも方法はあります.ここでは 2 つ紹介します.

その 1 (おすすめ)

\renewcommand{\baselinestretch}{1.5}

をプリアンブル (\begin{document} の前) に書きます.この方法は,表中の行送りも \baselinestretch 倍されます.添削用途ということであれば,嬉しい措置でしょう.

その 2

\usepackage{setspace}

をプリアンブル (\begin{document} の前) に

\doublespacing

\begin{document} より後の適当な位置に書きます.この方法では,表中の行送りは標準のままです.表中の行送りも増やしたければ,適当な位置 (プリアンブルでも本文中でも) に

\renewcommand{\arraystretch}{1.5}

を書くことになります.

長い章 (・節 etc.) タイトルを折り返す

長い章 (・節 etc.) タイトルを書いて,本文中の見出しでは適当な位置で折れて欲しいときに,ただ単に \\ を入れると,柱や目次では不自然な空白が空いてしまいます.そういうときは,

\chapter[スリザーリンクスの異なる定義とそのNP完全性証明]{スリザーリンクスの異なる定義と\\そのNP完全性証明}

のように [] をもちいて,柱や目次に出る文字列を別途指定してやると上手くいきます (文例は杉村由花さんの卒業論文 (pdf) より).

章タイトルが長いだけで,\\ が入っておらず,柱に出現する章の名前だけを短くしたい (目次に出現する章の名前は長いままでよい) 場合は, TeX Q & A: 45866 の解決法が相応しいです.

目次に項/小節まで表示する

デフォルトでは,部・章・節までだけが目次に表示されます. 項/小節まで表示したいときには,

\setcounter{tocdepth}{2}

を preamble (\documentclass/begin{document} の間の適当な位置) に書いてください.

定義・定理,証明環境に amsthm を用いる

質問が多かったので, amsthm パッケージを用いて定義・定理,証明環境をつくるときの設定例をつくってみました (suribtthm.sty). 論文の .tex ファイルと同じディレクトリに置き, プリアンブルで \usepackage{suribtthm} と宣言すれば使えます. ほかにもいろいろやり方はありますので,参考程度に.

\RequirePackage{amsthm}
%% 詳しくは ${texmf-dist}/doc/latex/amscls/thmtest.pdf を参照のこと.

%%%%%%%%%% 定義・定理など %%%%%%%%%%
%% 中身のフォントは標準フォントを,見出しは \headfont を.
%% 標準の定理環境中で斜体になるのを防止.\theoremstyle で指定.
\newtheoremstyle{suribtthm}% name
  {\thm@preskip}%      Space above, empty = `usual value'
  {\thm@postskip}%      Space below
  {\normalfont}% Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\headfont}% Thm head font
  {.}%        Punctuation after thm head
  { }%     Space after thm head: " " = normal interword space;
       %       \newline = linebreak
  {}% Thm head spec

\theoremstyle{suribtthm}
\newtheorem{thm}{定理}[chapter]% Theorem
\newtheorem{lem}[thm]{補題}% Lemma
\newtheorem{prop}[thm]{命題}% Proposition
\newtheorem{cor}{系}[thm]% Corollary
\renewcommand{\thecor}{\thethm.\alph{cor}}
\newtheorem{defn}[thm]{定義}% Definition
\newtheorem{exmp}[thm]{例}% Example
\newtheorem{rem}[thm]{注意}% Remark
\newtheorem{note}[thm]{補足}% Note

%%%%%%%%%% 証明 %%%%%%%%%%
\renewenvironment{proof}[1][\proofname]{\par
  \pushQED{\qed}%
  \normalfont \topsep6\p@\@plus6\p@\relax
  \trivlist
  \item[\hskip\labelsep\headfont#1\@addpunct{.}]\ignorespaces
}{%
  \popQED\endtrivlist\@endpefalse
}
\def\proofname{証明}

「たちすすむ」を pdf に正しく埋め込むには (OTF パッケージの使用)

舘教授の名前の文字について [outside] (旧版) に示されている「舎官」「日章」をきちんと pdf に埋め込んで表示できる模様です.文字の埋め込みは,xpdf は非対応の可能性がありますが,Adobe Reader を仮定するならば,必ず表示できるという利点があります.ただし,言うまでもないことですが,フォントライセンスには注意してください.

OTF パッケージ [outside] のインストールは,各自で行ってください.また,フォントの埋め込みに関する設定も各自で行ってください.[[TeXWiki:OTF]] [outside] が役に立つと思います (ただし,ゴシックに関しては自分で設定を考えましょう).

ここまで揃えば,あとは,プリアンブルに

%% otfパッケージを使う方法
\usepackage{otf} % ajmacros.sty は自動的に読み込まれる
\ajCIDVarDef{舘}{13695}

と書き,本文中では,「舎官」を出したいときには \ajVar{舘},「日章」を出したいときには\UTF{66B2} とすれば埋め込めます.サンプルを tachinametest.pdf として置いておきます.

図の余白を最適化しよう (BoundingBox に関わるノウハウ) * (別ページ)

hyperref を上手に呼んで便利な PDF を作る * (別ページ)

旧版 * (別ページ)

修正候補・変更履歴 * (別ページ)

参考文献

その他

修士論文要旨用に,取り急ぎ 要旨用のクラスファイル を作ってみました.論文で書いたプリアンブルをそのまま貼り付けて, \documentclass[<OPTIONS>]{suribtabst}\begin{document}\maketitle\section{最初の節}...\end{document} と文書を作成します.余白は小さくしてあります.