pLaTeX2e 新ドキュメントクラス

Last modified: Wed Jul 3 11:21:05 2002

visitors since 2000-10-26.

これは何?

『[改訂版]LaTeX2e 美文書作成入門』 で使用したドキュメントクラスです(さらに改良されています)。 jarticle に相当する jsarticle と,jbook に相当する jsbook からなります。

東京書籍印刷の小林 肇 様の開発されたJISフォントメトリックを標準で使用します。 ただし

\documentclass[mingoth]{jsarticle}
とすれば従来の min や goth が使われます。

諸パラメータが和文組版の伝統に合わせてチューンされています。 たとえば段落の始まりの始め括弧類( など)が全角下がりになります(従来は全角二分下がり)。

サイズオプションを 9pt10pt11pt12pt14pt17pt21pt のように等比数列にしました。特に 21pt オプションはOHPシート作成に便利です。

『[改訂版]LaTeX2e 美文書作成入門』 では 20pt と書きましたが,等比数列にするほうが論理的というご意見をいただき,現在の版では 21pt にしています。

長さがずれる? たとえばオプションに 12pt を指定した場合, \hspace{10cm} とすると 12cm のスペースが空いてしまいます。 これはすべて本文 10pt のサイズで組んでから最後に 1.2 倍に拡大しているためです。 \hspace{10truecm} のように,長さ指定に true を付けてください。 ptmm も同様に truepttruemm としてください。

図の長さもずれる? そうなんです。すいません。上述のように true.. で大きさを指定していただくか,あるいは原寸大に作った EPS なら 12pt オプションでは [scale=0.83333] のようにスケールしてください。

詳しくはアーカイブに含まれる jsclasses.dtx を pLaTeX で処理してお読みください (一部解説と現状が合っていないところがありますが徐々に直します)。

ダウンロード

インストール(Windows)

まず jsclasses.lzh をダウンロードして展開してください。 展開ツールによっては「OSが違う」と警告を出すようですが無視してください。 出てきたファイル群を pLaTeX 用フォルダの中に置いてください。 たとえば最近の角藤版 pTeX では pLaTeX 用フォルダが /usr/local/share/texmf/ptex/platex/ になっていますので, /usr/local/share/texmf/ptex/platex/js/ のようなフォルダを作り,その中に入れます。

昔はさらにJISフォントメトリックも別途インストールする必要がありましたが,最近の 角藤さんのpTeX配布 には最初から含まれていますし,最近の dviout にもJISフォントメトリックが組み込まれています。

拙著 『[改訂版]LaTeX2e 美文書作成入門』 のCD-ROMからインストールされた場合は,すでに含まれていますので,何もする必要はありません。 ただし,初刷のCD-ROMでは間違って /usr/local/share/texmf/tex/platex/js/ フォルダに入るようになってしまっています。 このままでもまったく支障ありませんが,本来は /usr/local/share/texmf/ptex/platex/js/ に入るべきものです。 いずれにしても,最新版に更新するには,このフォルダの中を新しいものに入れ換えるだけです。

インストール(Linux)

土村さん が Vine Linux 用の RPM を用意してくださっています。 Red Hat 系のものであれば使えるはずです。

インストール・更新は他の RPM と同じです。

# rpm -Uvh ダウンロードしたRPMファイルの名前

昔はさらにJISフォントメトリックも別途インストールする必要がありましたが, 最近の Vine Linux 2.x には標準で入っています。 古い Vine Linux 1.1 用には VinePlus に pTeX-jisfont として入っています。たとえば ftp://ftp.ring.gr.jp/pub/linux/Vine/VinePlus/1.1/RPMS/noarch/pTeX-jisfont-1-0.noarch.rpm です。上と同様にしてインストールしてください。

新しい Kondara にはすべて入っているはずです。

インストール(その他)

Windows 版と同様にしてインストールできます。 UNIX 系で EUC コードを使っている場合は

lha xte jsclasses.lzh
のように展開してください。 インストール後 mktexlsr(あるいは MakeTeXls-R) コマンドを実行する必要があるかもしれません。

使い方

従来 jarticle としていた部分を jsarticle に, jbook としていた部分を jsbook に直すだけです。 つまり,

\documentclass{jsarticle}
\begin{document}

本文。

\end{document}
のようにして使います。

サポート

バグや改良すべき点がありましたら okumura@matsusaka-u.ac.jp までメールでご連絡いただければ幸いです。

jsreport がないのは?

たとえば次のようにして jsreport がエミュレートできます。 oneside は奇数・偶数ページを同じデザインにします。 openany は奇数・偶数ページを問わず章が始まります。

\documentclass[oneside,openany]{jsbook}

本文の幅が狭くなって困るときはプリアンブル(\begin{document} の前)に次のように書きます。

\setlength{\textwidth}{\fullwidth}

目次や章の最初のページも他のページと同じデザインにするにはプリアンブルに次のように書きます。

\makeatletter
\renewcommand{\chapter}{%
  \if@openright\cleardoublepage\else\clearpage\fi
  \global\@topnum\z@
  \secdef\@chapter\@schapter}
\makeatother

さらにページ番号をページ下中央に -- 123 -- の形式で振るには次のようにします。

\makeatletter
\let\@mkboth\@gobbletwo
\let\@oddhead\@empty
\let\@evenhead\@empty
\def\@oddfoot{\normalfont\hfil-- \thepage\ --\hfil}%
\let\@evenfoot\@oddfoot
\makeatother
\setlength\footskip{2\baselineskip}
\addtolength{\textheight}{-2\baselineskip}

更新記録

[2002-06-29] [2002-05-30] の修正で不都合が生じることがあるようですので元に戻しました。 すみませんが本文中の行列の行送りを狭くしたい場合はプリアンブルに

\everymath=\expandafter{\the\everymath \narrowbaselines}
を入れておいてください (Thanks: matsuo さん [tex-qa:9067])。[2002-07-03追記] 本田さん [tex-qa:9205] が minipage 環境の下請けの \@iiiparbox を直す別解を出してくださいました。

[2002-05-31] 25pt,30pt オプションを追加しました。

[2002-05-30] [tex-qa:8429] のご指摘などがありましたので,本文中でも行列の行送りが狭くなるようにしました。

[2002-05-11] [tex-qa:8217] のご指摘と [tex-qa:8218] の回答に従って, \leftmargini を 3zw に増やしてみました。

[2002-04-09] [tex-qa:7822] のご指摘にしたがってちょっと変更してみました。

[2002-03-13] 20pt オプションを復活させました。 また,他のスタイルファイルとの組合せで問題が生じていた \@ptsize の定義を 0 が 10pt になるように直しました。

[2002-02-07] \chapter* で柱が正しく出るようにしました (Thanks: 篠本さん)

[2002-01-27] // より行頭禁則が強くなっていたのを直したつもりです (Thanks: keiさん)

[2002-01-18] jsarticle\section\subsection の番号の頭が揃わなかったのを直しました。

[2001-11-29] jsarticle でも手抜きして \thechapter を定義していたので互換性の点で問題があったようです。 急遽修正しました (Thanks: 狩野さん)

[2001-07-03] fleqn オプションに対応するため,森本さんのご教示にしたがって eqnarray を修正しました。

[2001-05-19] 段組で \subsection* などが使えないバグの応急処置をしました (Thanks: 永井さん)

[2001-04-26] newtheorem で作った環境中がイタリック/ゴシックになるのを防ぎました (Thanks: 清野さん)

[2001-04-21] いつの間にかエンバグし,jsbook\chapter の直後の \section の位置がずれていました(Thanks: 久保さん)。

[2001-02-26] 刀祢さんのご指摘により,9pt,10pt,11pt,12pt,14pt,17pt,21pt オプションを作り,実際のフォントサイズは等比数列にしました(9.13,10,10.95,12,14.4,17.28,20.74)。 このほうがビットマップフォントの生成が少なくてすみます。 今までと互換性がなくなりますのでご注意ください。 ちょっと大きな変更ですが,どうでしょうか。 ご意見をお聞かせください。

[2001-02-19] jsbooktwocolumn 指定に恥ずかしいバグがありました (Thanks: 刀祢さん)

[2001-02-16] ドキュメントクラスはパッケージと独立であるべきだという文章を読んで納得してしまったので, multicol パッケージを要求しないようにしました。 ただ,multicol パッケージを読み込ませると索引でそれを使おうとします(本文では使いません)。 ほかも多少手直ししたかもしれません。

[2000-12-26] \section{}\subsection{} の間に本文がないとき開きすぎてしまうバグを直しました(つもりです)。 テストをお願いします。

[2000-12-23] okumacro.sty\ruby に漢字の高さ・深さがそれぞれ 0.88zw,0.12zw であると仮定した支柱を入れました。これは 『[改訂版]LaTeX2e 美文書作成入門』 で和文フォントをヒラギノにしたところルビと親字がくっつきすぎてしまったことへの対応です (ここ に問題点を書いておきました)。 なお,このページの「ツー・イー」の表記(2e,2ε)を統一しました。

[2000-12-18] \paragraph{...} の直後で改行しないと本文の位置がずれてしまうバグの対症療法 (Thanks: 林さん)

[2000-11-28] jsarticle\appendix が変でした。 とりあえず対症療法。

[2000-11-26] \和暦 という命令で \today が「平成12年……」になるようにしました。 デフォルトは西暦のままです。 学会誌スタイルファイルサンプルにも若干手を加えました。

[2000-11-22] 数式前後の空白 \abovedisplayskip\belowdisplayskip を変えても元に戻ってしまうというご報告をいただきました。 とりあえず \everydisplay={} と書いておけば元に戻らなくなります (が数式中の改行幅が本文と同じ幅に広がってしまいます)。 両方の要求を満たす方法がないか考えてみます。

[2000-11-19] 下記の「もうちょっと考えさせてください」にとりあえず対処療法を施したつもりです。

[2000-11-17] 段落先頭部分が半角文字だけの場合, 最初の全角文字の直前に入るべきグルーが入らない現象が生じています。 一番わかりやすい例が

\begin{verbatim}
A(B)C
\end{verbatim}
です。これは段落先頭に入れている \inhibitglue が最初の全角文字までリセットされないという pTeX のバグ/仕様のためです。とりあえず
\let\everyparhook=\relax
と書いておけば直ります。もうちょっと考えさせてください。

これとは別に,一つエンバグしていましたのを直しました(目次が目次に入ってループになる……)。

[2000-11-07] 土村さんが Vine 2.0 用の rpm を用意してくださいました。Red Hat 系なら使えると思います。

[2000-11-03] 9ptのときの行送りを若干減らしました。

[2000-10-29] 行分割のパラメータを若干修正して overfull hbox が出にくくしたつもりです。 たぶんこの時点のものが 『[改訂版]LaTeX2e 美文書作成入門』 に収録された様子です。

[2000-10-28] twocolumn オプションを使うと warning が出るというご報告をいただきました。 特に支障はないのですが,何となく嫌ですね。良い解決策があったらお教えください。

[2000-10-27] \kanjiskip\marginpar を若干チューンしました。 txfonts パッケージ使用時の LaTeX ロゴをチューンしました。

[2000-10-26] 今まで私の独断と偏見に基づくドキュメントクラスを公開していましたが, 10月6日の 研究集会「非欧文言語におけるTeX」 をきっかけとして,たくさんのかたがたとドキュメントクラスの今後について話し合う機会がありました。 その結果,まずは名前を js...(Japanese Standard ...?)と変更して心機一転し, JISフォントメトリックを使う標準的なドキュメントクラスとして再出発させることにしました。

新ドキュメントクラスはとりあえず

の2本立てで公開することにいたします。

リンクはご自由にどうぞ。

松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp