学内学事発表用スタイルファイル

卒業研究発表会などの要旨の様式を作って使っていました。今回,4年生の必修科目のプレゼンテーション技法の発表会用に,要旨のLaTeXのスタイルファイルが欲しいとのことで,当研究室で使っていたものをベースに,先にリリースされたWordの様式に近くなるように修正したものを提供しました。

余白
上下左右の余白は20 mmです。余白の基準値は1インチ,つまり25.4 mmなので,左の余白を-5.4 mmにします。A4の幅は210 mmなので,右の余白を20 mmにするためにはテキストの幅を 210 – 20 × 2 = 170 mmにします。上と下も同様で,上の余白は-5.4 mmでテキストの高さを 297 – 20 × 2 = 257 mmにします。

\oddsidemargin -5.4mm
\evensidemargin -5.4mm 
\textwidth 170mm
\topmargin -5.4mm 
\headheight 0pt 
\headsep 0pt 
\textheight 257mm
段間の幅
2段組のときの間の幅が10 mmです。

\columnsep 10mm
書体と文字サイズ
日本語の題目は角ゴシック体14 pt,英語の題目はサンセリフ体12 pt,著者名は明朝体10 pt,英文のアブストラクトはセリフ体9 pt,本文は明朝体9 pt,節見出しは角ゴシック体/サンセリフ体9 pt,図と表のキャプションは明朝体/セリフ体9 ptです。
サンセリフ体とは,HelveticaやArialのように「ひげ」がない書体のことです。セリフ体はTimes系の書体のように「ひげ」がある書体のことです。デフォルトの行間を含めて再定義します。行数が48行なので,組版結果をみながら,\normalsizeの行間を14.2 ptにしました。文字サイズの1.5倍程度の行間にすると読みやすいようです。\large, \Largeおよび\LARGEにそれぞれ10, 12および14 ptの文字サイズを割り当てました。タイトルになるLargeとLARGEの行間は本文のそれより狭くしました。

\renewcommand{\normalsize}{%
  \@setfontsize\normalsize\@ixpt{14.2}}
\renewcommand{\large}{%
  \@setfontsize\large\@xpt{15}}
\renewcommand{\Large}{%
  \@setfontsize\Large\@xiipt{14}}
\renewcommand{\LARGE}{%
  \@setfontsize\LARGE\@xivpt{18}}
行どり
節の見出しは2行どりなので再定義しました。また,英数字をサンセリフ体に,和文をゴシック体にしました。

\renewcommand{\section}{\@startsection{section}{1}{\z@}%
   {1\Cvs \@plus.1\Cdp \@minus.1\Cdp}%
   {.1\Cvs \@plus.1\Cdp}%
   {\reset@font\normalsize\sffamily\gtfamily}}
\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
   {1\Cvs \@plus.1\Cdp \@minus.1\Cdp}%
   {.1\Cvs \@plus.1\Cdp}%
   {\reset@font\normalsize\sffamily\gtfamily}}
\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
   {1\Cvs \@plus.1\Cdp \@minus.1\Cdp}%
   {.1\Cvs \@plus.1\Cdp}%
   {\reset@font\normalsize\sffamily\gtfamily}}
節番号の後ろの余白
半角幅にしました。

\def\@seccntformat#1{\csname the#1\endcsname\hskip .5zw}
図や表の前後の余白
キャプションも含めて詰めました。

\setlength\intextsep{0pt}
\setlength\textfloatsep{0pt}
\setlength\belowcaptionskip{5\p@}
\setlength\abovecaptionskip{0\p@}
参考文献リストの行間
本文より行間を詰めました。

\renewenvironment{thebibliography}[1]
{\section*{\refname\@mkboth{\refname}{\refname}}%
  \list{\@biblabel{\@arabic\c@enumiv}}%
       {\settowidth\labelwidth{\@biblabel{#1}}%
        \leftmargin\labelwidth
        \advance\leftmargin\labelsep
 \setlength\itemsep{0.0zh}%
 \setlength\baselineskip{12pt}%
        \@openbib@code
        \usecounter{enumiv}%
        \let\p@enumiv\@empty
        \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  \sloppy
  \clubpenalty4000
  \@clubpenalty\clubpenalty
  \widowpenalty4000%
  \sfcode`\.\@m}
 {\def\@noitemerr
   {\@latex@warning{Empty `thebibliography' environment}}%
  \endlist}

他にも細かな見た目の修正がいくつかありますが,レイアウトに関してはこの位の修正でほぼWordのテンプレートに近くなります。

箇条書きの環境について,行間を詰めることは環境を定義すればできるのですが,ここでは再定義しないで,本文の箇条書きの環境の中に

\setlength\parsep{0pt}\setlength\itemsep{0pt}

を記述することにしました。

左は欧文がTeXのデフォルトの書体であるComputer Modernで組んだもの,右は\usepackage{times}でセリフ体をTimes Roman,サンセリフ体をHelveticaで組んだもの(実際には互換書体)。

kakikata1 kakikata2

10 pt

和文と欧文を混植する場合,独立にデザインされた2種類の書体を使うことが多くなります.日本語TeXも例外ではありません.デフォルトの欧文書体は,KnuthがデザインしたComputer Modernです.Computer Modernは,1970年代以前の欧文学術雑誌で使用されている書体によく似ています.1980年代以降は,Timesのような印象の書体が多くなっています.

独立にデザインされた書体をptのみ合わせて和文と混植すると,欧文が小さく見える,あるいは欧文が浮き上がってみえる・沈んでみえる,ことがほとんどであると思います.仮想ボディにおけるベースラインの位置や,欧文のascending lineおよび descending lineの大きさに依存して見え方が違うはずです.

DTPでは,和文主体であれば,欧文を修正します.ベースラインを少し下げたり,文字の大きさを少し大きくしたりして,和欧のバランスをとります.

日本語TeXでは,欧文を修正せずに和文を小さくしています. 標準的に配付されているmin10では,0.962216倍されています.桁数が多いのですが,様々な書体を実測して,何らかの計算で誘導された値であろうと推測されます.

TeXの1ポイントは,1/72.27インチです.DTPでは1ポイントは1/72インチです.1インチは25.4 mmです.同じポイントの文字でもTeXの文字が小さくなります.

もともとTeXのポイントが小さいことに加えて,和文は0.962216倍されますから,10 ptで組んだものでも,和文部分は欧文以上に小さくなります(10 pt × 0.962216 × 72/72.27 ≒ 9.59 pt).TeXで作成すると,ワープロで作成したものより和文が小さくみえるのは,本当に小さい文字で印刷しているからです.学会予稿などで,文字のサイズを指定されているときには,このことを念頭においておくとよいでしょう.

奥村さんのサイトから配付されているjis.tfmは,0.962216倍の幅を持っています. jis.tfmに記述されている文字幅が入るjis.vfもそうなります.jsarticleでは,スタイルファイルのなかで0.961倍の記述があります.これは,文字のサイズは0.962216 × 0.961倍されることになります.TeXの10 ptで作成したものはDTPの約9.21 ptになります(約13 Q,1 Q = 0.25 mm).以前,12 ptで本文を作成する必要があったとき,jsarticleに新しく13 ptの定義を追加してDTPの12 pt相当の和文の文字の大きさにしました.

jarticleとjsarticleでTeXの10 ptで作成したDVIについて調べたものを示し
ます. 「拝啓」の2文字分です.

jarticle
135: fntnum14 current font is min10
136: set2 18258("4752) type=0 h:=4063232+630598=4693830, hh:=297
139: set2 14140("373C) type=0 h:=4693830+630598=5324428, hh:=337
jsarticle
132: fntnum31 current font is jis
133: set2 18258("4752) type=0 h:=-4222+606003=601781, hh:=38
136: set2 14140("373C) type=0 h:=601781+606003=1207784, hh:=76

文字幅はTeXの10 ptなら,655360になります.
0.962216倍で630598になります.
さらに0.961倍で606003になります.

実際に,DTPの10 pt,TeXの10pt,jarticleの10 pt,jsarticleの10 ptに相当するように入力したものを次の図に示します. 図の作成には,Illustratorを使いました.一番上の行は,当該書体(OTF-リュウミン Pro L-KL)の欧文部分に定義されている従属欧文フォントです.2行目以降の欧文は,cmr10です(Type 1).9.59 ptになるのですが,丸め誤差で9.58 ptになっています.

waouryumin

※図をクリックすると図のPDFが開きます.

Wordの様式しかないとき

Wordの様式しか用意されていないものを作成するとき,私がとる方法は3通りです.

  1. Wordの様式をそのまま使う
  2. 様式をPDF→EPSの順に変換して,様式をEPSで差し込んで本文をLaTeXで作成する
  3. 本文をLaTeXで作成してEPSに変換してWordの様式の本文に流し込む

最初の方法を使うのは,事務系の書類のときです.数式や図が必要なことは少ないです.

2番目の方法は,理工学部内で使用されているOCR用の用紙で使っています.科目名や日付など,記入箇所がいくつかあることと,表面と裏面の2ページ分を作ればよいので,Wordの様式に記入してEPSを作成します.LaTeXの文書にEPSを差し込むときには,dviwareが理解できる\specialを使って大きさと位置を合わせます.

EPSのBoundingBoxが

%%BoundingBox: 0 0 595 842

のとき,

\special{PSfile="foo.eps" llx=72 lly=770 urx=667 ury=-72 rwi=5950}

にしています.(llx, lly)は左下の座標,(urx, ury)は右上の座標,rwiは幅(0.1 ptを1として)です.計算は次のとおりです.

667 = 595 + 72
842 = 770 + 72
5950 ≒ 210 mm ÷ 25.4 mm/inch × 720

3番目の方法は,ヘッダとフッタがある様式で,数式や図のある数ページ以上の文章を作成する場合に使っています.ヘッダ,フッタの他にマージンなどの変更することができないケースです.文字サイズなど調整したスタイルファイルを作り,それを使ってLaTeXで作成します.文章の校正が終わったところで,dvipsでEPSに変換してWordに1ページに1つずつEPSを挿入します.

EPSに変換するには,次のようにdvipsを使います.

dvips -E -p1 -l1 main -o page1.eps

ページ数が多い場合には,シェルスクリプトなどで全のページのEPSを生成する方がよいと思います.

_MG_2449