リフィル用スタイル

最近,語学を勉強するときシステム手帳にメモをとり,暇なときにぱらぱら読み直すようなことをしている。電車のなかで読むためにロシア詩を書き写したりもする(大きな本を持ち歩きたくないので。バイブルサイズのシステム手帳ならば背広の内ボケットに収まる)。これまで手書きでメモを作っていたが,何度も参照するならもう少し綺麗に作りたいものである。そこで,バイブルサイズ(95mm × 170mm)リフィルの版面に文書を LaTeX 組版するためのスタイルファイルを作成してみた。

いろいろ細かい調整がまだまだ必要かも知れないが,参考までにそのスタイルファイルのコードを末尾に掲げておく。これを LaTeX のパスの通った場所に,refile.sty というファイル名,ISO-2022-JP(いわゆる JIS コード)エンコードで格納する。一方,原稿のプリアンブルに \usepackage{refile} を記述してタイプセットすればよい。奥村先生の jsarticle.cls が前提である。\documentclass[9pt,twoside]{jsarticle}\pagestyle{headings} を指定することをお勧めする。私はキリル文字を多用するので,これを簡易に使うためのマクロも最後のほうに定義している。使用するプリンタによってはマージンなどの値を調整する必要があると思う。

このスタイルファイルを使って,プーシキン『青銅の騎士』 А. С. Пушкин «Медный Всадник. Петербургская повесть» (1833) を組版してみた。ソヴィエト科学アカデミー版(1977 年第4巻)のテクストによる。興味のある方はここから PDF をダウンロードしてください。リフィルに印刷して電車のなかででも読んでください。

%%  -*- coding: iso-2022-jp; -*-
%%   リフィル・ページ設定(jsarticle.cls前提)
%%                       2009(c) isao yasuda, All Rights Reserved.
\ProvidesFile{refile.sty}%
\ProvidesPackage{refile}[2009/05/03 V1.0;
  page style for refile bible size, isao yasuda.]
% バイブルサイズ・リフィル用レイアウトパラメータ調整
\setlength{\paperwidth}{95truemm}%%          95×170mm
\setlength{\paperheight}{170truemm}
\AtBeginDvi{\special{papersize=95mm,170mm}}
\setlength{\oddsidemargin}{-1truein}%%       奇数頁 左余白 10mm
\addtolength{\oddsidemargin}{10truemm}%
\setlength{\evensidemargin}{-1truein}%%      偶数頁 左余白 8mm
\addtolength{\evensidemargin}{8truemm}
\setlength{\textwidth}{\paperwidth}
\addtolength{\textwidth}{-20truemm}%%        右余白 10mm となる
\setlength{\fullwidth}{\textwidth}%          only jsclasses
\setlength{\topmargin}{-1truein}%%           上余白 3mm
\addtolength{\topmargin}{3truemm}%%
\setlength{\headheight}{6truemm}%%           ヘッダー 6mm
\setlength{\headsep}{2truemm}%%              ヘッダーと本文の空き 2mm
\setlength{\textheight}{\paperheight}%
\addtolength{\textheight}{-17truemm}%%       下余白 8mm となる
% section 文字を大きくせず,空きもほどほどに
\if@twocolumn
  \renewcommand{\section}{%
    \@startsection{section}{1}{\z@}%
    {0.3\Cvs}{0.2\Cvs}%
    {\normalfont\headfont\raggedright}}
\else
  \renewcommand{\section}{%
    \if@slide\clearpage\fi
    \@startsection{section}{1}{\z@}%
    {\Cvs \@plus.25\Cdp \@minus.1\Cdp}% 前アキ
    {.25\Cvs \@plus.15\Cdp}% 後アキ
    {\normalfont\headfont\raggedright}}
\fi%
% pagestyle とりあえず頁上部にノンブル等を出す headings を想定
\def\ps@headings{%
  \let\@oddfoot\@empty
  \let\@evenfoot\@empty
  \def\@evenhead{\if@mparswitch \hss \fi
    \hbox to \fullwidth{\textbf{\thepage}\hfil\leftmark}%
    \if@mparswitch\else \hss \fi}%
  \def\@oddhead{%
    \hbox to \fullwidth{{\rightmark}\hfil\textbf{\thepage}}\hss}%
  \let\@mkboth\markboth
  \def\sectionmark##1{\markboth{%
      \ifnum \c@secnumdepth >\z@ \thesection \hskip1zw\fi
      ##1}{}}%
  \def\subsectionmark##1{\markright{%
      \ifnum \c@secnumdepth >\@ne \thesubsection \hskip1zw\fi
      ##1}}%
}%
% 少し行間をつめる
\renewcommand{\baselinestretch}{0.9}
% for Slavonic
\def\russianhyphenmins{\tw@\thr@@}% OT2用ハイフネーション調整
\long\def\cyrtxt#1{% ロシア語(babel 前提)
  \bgroup\selectlanguage{russian}\fontencoding{OT2}\selectfont #1\egroup}%
\long\def\cyrold#1{% 古ロシア語
  \bgroup\fontencoding{T2D}\selectfont #1\egroup}%
\long\def\cyrocs#1{% 教会スラヴ語(babel,OldSlav 言語定義前提)
  \bgroup\selectlanguage{oldchurchslavonic}#1\egroup}%
\def\nippongo{\selectlanguage{nippon}}% 日本語(babel,nippon 言語定義前提)
\endinput
%%%%