Last modified: 2003-04-18 14:24:23
visitors since 2000-10-26.
『[改訂版]LaTeX2e 美文書作成入門』 などで使用したドキュメントクラスです(さらに改良されています)。 jarticle に相当する jsarticle と,jbook に相当する jsbook からなります。 オマケとして okumacro.sty,okuverb.sty,morisawa.sty などが付いています。
東京書籍印刷 の小林 肇 様の開発されたJISフォントメトリック(JIS X 4051-1995「日本語文書の行組版方法」になるべく即したフォントメトリック)を標準で使用します。 ただし
\documentclass[mingoth]{jsarticle}
とすれば従来の min や goth が使われます。
諸パラメータが和文組版の伝統に合わせてチューンされています。 たとえば段落の始まりの始め括弧類(「 など)が全角下がりになります(従来は全角二分下がり)。 段組のとき,左右の行が揃いやすくなっています。
サイズオプションが 9pt,10pt,11pt,12pt,14pt,17pt,21pt,25pt,30pt,36pt,43pt のように豊富です。 大きいサイズはOHPシート作成に便利です。
『[改訂版]LaTeX2e 美文書作成入門』 では 20pt と書きましたが,等比数列にするほうが論理的というご意見をいただき,現在の版では 21pt にしています。 20pt オプションも残しています。
そのほか,無数の改良が施されています。 詳しくは 『[改訂版]LaTeX2e 美文書作成入門』 あるいはアーカイブに含まれる jsclasses.dtx を pLaTeX で処理してお読みください。
ライセンスは,アスキー の pTeX が modified BSD License になったのでそれに合わせました。 商業出版も含め,ご自由に修正・利用していただいてかまいません。
まず jsclasses.zip をダウンロードして展開してください。 出てきたファイル群を 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/ に入るべきものです。 いずれにしても,最新版に更新するには,このフォルダの中を新しいものに入れ換えるだけです。
土村さん が Vine Linux 用の RPM を用意してくださっています。 Red Hat 系のものであれば使えるはずです。
インストール・更新は他の RPM と同じです。
# rpm -Uvh ダウンロードしたRPMファイルの名前
昔はさらにJISフォントメトリックも別途インストールする必要がありましたが,最近の Vine Linux 2.x には標準で入っています。
Debian GNU/Linux にも okumura-clsfiles として収録していただいており, Ringサーバのミラー にも置いてあります。
Linux MLD6 にも入っています。
Windows 版と同様にしてインストールできます。 インストール後 mktexlsr(あるいは MakeTeXls-R) コマンドを実行する必要があるかもしれません。
従来 jarticle としていた部分を jsarticle に, jbook としていた部分を jsbook に直すだけです。 つまり,
\documentclass{jsarticle} \begin{document} 本文。 \end{document}
のようにして使います。
実際に使われる場合は,必要なクラスファイル(たとえば jsbook.cls)をそのプロジェクトのためのフォルダに別名でコピーし,それを必要に応じて書き換えながら使うことをお勧めします。 でないと,仕様変更でページ数が変わってしまったりするかもしれません。
ご質問・ご提案等は,掲示板 TeX Q & A に書き込んでいただければ幸いです。
たとえばオプションに [12pt] を指定した場合, \hspace{10cm} とすると 12cm のスペースが空いてしまいます。 これはすべて本文 10pt のサイズで組んでから最後に 1.2 倍に拡大しているためです。 \hspace{10truecm} のように,長さ指定に true を付けてください。 pt や mm も同様に truept や truemm としてください。
同様な理由で,図の長さもずれます。 上述のように true.. で大きさを指定するか,あるいは原寸大に作った EPS なら 12pt オプションでは [scale=0.83333] のようにスケールしてください。
なぜこのような仕様にしたかというと,デフォルトの Computer Modern フォントは,本文 10pt を基準にデザインされており,小さいフォントは本文用よりやや平べったく,大きいフォントはやや細身にデザインされています。 ですから,たとえば OHP で本文を 17pt で組む場合,cmr17 を使うのではなく cmr10 を1.7倍するほうがプロポーションが良くなります。 このような理由で,すべて 10pt で組んでから全体を拡大・縮小する方針にしました。
たとえば次のようにして jsreport がエミュレートできます。 oneside は奇数・偶数ページを同じデザインにします。 openany は奇数・偶数ページを問わず章が始まります。
\documentclass[oneside,openany]{jsbook}
書籍では1行の長さが全角40文字を超えないようにしています。 そのため,段組をしないときは,自動的にどちらかの余白が広くなります(『[改訂版]LaTeX2e 美文書作成入門』 のようなデザインになります)。
これが困るときはプリアンブル(\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}
abstract 環境の後に \maketitle を書いてください。
TeX Q & A の 14833 を見てください。
あるいは geometry パッケージを併用すると便利でしょう。
これはSans Serif(サン・セリフ)というフォントです(標準ではComputer Modern Sans Serif,Times系フォントを使えばHelvetica)。 和文のゴシック体に相当する欧文フォントで,見出しによく使われます。 従来の和文ゴシック体(サン・セリフに相当)+欧文ボールド(セリフ体の太字)という組合せよりも無難だと思いますが,そうではないと思われる場合は次のように書くとボールド体になります。
\renewcommand{\headfont}{\bfseries}
[2003-04-18] 今まで Shift JIS 形式で配布していましたが,トラブルが多いので,ISO-2022-JP 形式に直しました。 これでどの OS でも文字コード変換なしで使えるはずです。 ついでにアーカイブを Zip 形式にしました(LZH 形式も置いてあります)。 また,12Q,14Q オプションを作りました。
[2003-03-16]
今までイタリック体と斜体に対応する和文フォントとしてゴシック体を宛てていましたが,明朝体に変更しました。
数学で多量のイタリック体を使うことがあり,ゴシック体では黒々となってしまうためです。
これに伴って,下の [2001-04-26] の一時しのぎは不要になりましたので元に戻しました。
こちらは amsthm を使わない場合に newtheorem で本文がイタリック体にならないという利点があるので残すことにしました。
[2003-03-06] mentuke オプションが機能していなかったのを修正しました (Thanks: 谷川さん)
[2003-03-02] トニイさんのパッチ [qa:17212] を取り入れました。
\renewcommand{\presectionname}{第} \renewcommand{\postsectionname}{節}
とすると,節の名前が「第○節」になります。
[2003-02-21] okuverb で \verbatimsize が本文サイズと違うときに前後の間隔が違って見える現象を修正しました。 数式処理システムの出力を \def\verbatimsize{\fontsize{7}{5pt}\selectfont} で無理矢理本文に詰め込んだときに気になりました。
[2003-02-17] jsbook の \part が typo のため使えなくなっていました (Thanks: 谷川さん)。
[2003-02-16] \belowdisplayskip などを微妙に調整しました。 別行数式の前後のスペースが微妙に違うことの対処法はまだよくわかっていませんが,とりあえず amsmath の後に okumacro を読んだ場合は \[ \] や equation(*)/align(*) 環境等でスペースが一致するようにしました。
[2003-02-02] \subsubsection の前後のスペースが間違っていたのを修正しました(再修正するかもしれません)。
[2003-02-01] \chapter*{...} の内容が柱に出なくなっていたのを修正しました。 何か副作用がありましたらお教えください。
[2003-01-24] okumacro の丸囲み数字 \MARU{...} を修正しました。 graphicx と併用すると少しましになります。
[2003-01-16] jsbook の headings で oneside のときの柱を修正しました。
[2003-01-05] 「CやC++では」と書くと「C++」と「では」の間だけ四分アキが入らず詰まってしまいました(これはjarticle等でも同じ)。 また,okumacroの {\mytt ...}(スペースだけ通常と同じ幅で他は等幅出力,記号の直後で改行可能)で \_ が本物の等幅フォントの _ より少し小さくなっていました(これは通常の \texttt でも同様)。 これらの修正を入れました。
[2002-12-26] jsarticleのtwocolumnで\maketitleをabstract環境の後に書くとabstractが段組されないようにしました。
[2002-11-27] 古いLaTeXでjbookで \tableofcontents を使うと無限ループになるようなので,とりあえず該当個所(\def\@schapter の次の \chaptermark{#1}%)を削除しました。 この行をなぜ入れたのか思い出し中。
[2002-11-15] 36pt,43pt オプションを新設しました。 ディレクタさんによればTVで使うには横15〜20文字がいいそうです。 landscapeで標準通りの余白なら,36ptで19文字,43ptで16文字になります。 dvipdfm -l で PDF にして Ctrl-L で全画面モードでプレゼンができます。
[2002-11-01] okumacro の倍角ダッシュ \−− を修正しました。
[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] jsbook で twocolumn 指定に恥ずかしいバグがありました (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フォントメトリックを使う標準的なドキュメントクラスとして再出発させることにしました。
新ドキュメントクラスはとりあえず
リンクはご自由にどうぞ。