Last modified:
美文書シリーズなどで使用したドキュメントクラスです。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オプションも残しています。
そのほか,無数の改良が施されています。詳しくは美文書シリーズあるいはアーカイブに含まれる jsclasses.tx を pLaTeX で処理してお読みください。
ライセンスは,アスキー・メディアワークス(現在は株式会社KADOKAWAに併合)の pTeX が modified BSD License になったのでそれに合わせました。商業出版も含め,無断でご自由に修正・利用していただいてかまいません。
現在配布されているTeXシステム(W32TeX,TeX Live,MacTeXなど)には含まれているはずですので,特にインストールは不要です。
従来 jarticle としていた部分を jsarticle に,jbook としていた部分を jsbook に直すだけです。つまり,
\documentclass{jsarticle}
\begin{document}
本文。
\end{document}
のようにして使います。
実際に使われる場合は,必要なクラスファイル(たとえば jsbook.cls)をそのプロジェクトのためのフォルダに別名でコピーし,それを必要に応じて書き換えながら使うことをお勧めします。でないと,仕様変更でページ数が変わってしまったりするかもしれません。
ご質問・ご提案等は TeX Forum または 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 で組んでから全体を拡大・縮小する方針にしました。
ただ,latex2html ではこれがうまく機能しないようです。 竹野さんの jsartcile の 12pt 等で EPS が切れる問題 をご覧ください(→ [qa:25091])。
2004-11-03 以降のものであれば,次のようにしてください。
\documentclass[report]{jsbook}
書籍では1行の長さが全角40文字を超えないようにしています。 そのため,段組をしないときは,自動的にどちらかの余白が広くなります(美文書シリーズのようなデザインになります)。
これが困るときはプリアンブル(\begin{document} の前)に次のように書いてください。
\setlength{\textwidth}{\fullwidth}
\setlength{\evensidemargin}{\oddsidemargin}
プリアンブルに次のように書いてください。
\makeatletter
\renewcommand{\chapter}{%
\if@openright\cleardoublepage\else\clearpage\fi
\global\@topnum\z@
\secdef\@chapter\@schapter}
\makeatother
さらにページ番号をページ下中央に -- 123 -- の形式で振るには次のようにします。
\makeatletter
\def\ps@plainfoot{%
\let\@mkboth\@gobbletwo
\let\@oddhead\@empty
\def\@oddfoot{\normalfont\hfil-- \thepage\ --\hfil}%
\let\@evenhead\@empty
\let\@evenfoot\@oddfoot}
\let\ps@plain\ps@plainfoot
\makeatother
\pagestyle{plain}
フッタまわりのスペースの設定例:
\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}
\parindent をプリアンブルで設定できません和文の \parindent はそのときの全角フォントの1文字分または 0
と相場が決まっているので,フォントサイズを指定するごとに,\parindent
が 0 でなければそのフォントサイズの全角1文字分に変更されます。
特に \begin{document} で文字サイズが初期化されるので,0
か全角1文字分以外に設定したい場合は,\begin{document}
より後で行ってください。
[qa:34747] をご覧ください。
[2014-02-07] Word風 10ptj, 10.5ptj, 11ptj, 12ptj オプションを追加するzrbabblerさんのパッチを含めました。
[2014-01-02] english オプションについての tat tsan さんのパッチを含めました(QA: jsclasses の english オプション)。19:42 タイポを直しました。
[2013-05-14] すぐ下の修正箇所を plcore.ltx に倣った形に書き直しました(Thanks: 北川さん)。
[2013-04-24] 新しいpTeXで脚注番号の前後のスペースが空きすぎることを防ぐため,北川さんのパッチ [qa:57090] を取り込みました(昨日リリースしたものは手違いでした。すみません)。
[2010-03-17] 欧文クラスファイルで js* 同様のJISフォントを使うための minijs.sty を改訂しました(1行コメントアウトしただけです)。これでAsymptoteで図がずれることがなくなったと思います。詳しくは Asymptote - TeX Wiki をご覧ください。
[2010-03-14] otfパッケージ+disablejfam不具合の対処をとりあえず山本さんにしたがってこちらでもやっておきました。また,okumacroのrubyの直後で改行できないバグを(とうとう)直しました。
[2009-08-26] [qa:52569] から始まる議論について逡巡していましたが,結局,微調節してみることにしました。
[2009-08-23] newtheorem の見出しを \headfont にするなどの日本語化対応をしました。
[2009-02-22] ttk さんの upLaTeX 対応パッチを取り込みました。
[2009-01-23] QA: english指定時の listoffigures, listoftables の田辺さんのご指摘を受けて修正しました。
[2008-12-26] geometry.sty との相性を改善するために [qa:52439] のZRさんのご指摘のように修正しました。
[2008-2-18] [qa:50981] の本田さんのパッチを入れました。
[2006-11-06] [qa:45817] のymtさんのパッチに差し換えました。
[2006-11-01] [qa:45685] の成田さんのご指摘に対応したymtさんのパッチを取り入れました。
[2006-09-18] URW Garamondに最適化したTeX,LaTeXロゴ(自動選択)を追加しました。T1エンコーディングの80-ffのフォントの両側にも \xkanjiskip が自動挿入されるようにしました。
[2006-07-25] [qa:44017],[qa:44029] でのご指摘に対応しました
[2006-07-23] [qa:44009] でご指摘いただいた応急処置をしました
[2006-06-04] txfontsと併用した場合の不具合?を修正しました
[2006-05-31] 2005-12-01版LaTeXに対応したpLaTeXに対応しました
[2005-09-21] reportオプションを付けた時点でjspfクラスがバグっていたのを修正しました。
[2005-03-19] jsarticle に slide オプションを付けると超シンプルな PowerPoint 風のデザインになります。\usepackage{color} の併用をお勧めします。
全般に,二段組の際のリストの深さを 3zw から 2zw にしてみました。
[2005-02-25] [qa:34678] のパッチを適用しました。
[2004-12-29] jsbook の english オプションで目次に Chapter が出ないようにしました。
[2004-11-03] jsbook に report オプションを付けました。これでほぼ jsreport 的な使い方ができるのではないかと思います。ついでに \HUGE というフォントサイズを付けました。\sffamily の後に \rmfamily しても明朝体に戻らないバグを直しました。
[2004-09-27] 私のミスで一部古いバージョンに戻っていました ([qa:31772], [qa:31774])。 あと,トップレベルのリスト環境の前後半行アキにグルーが入っていたのを思いきって外しました。
[2004-08-08] 最近のdvipdfmxで正しいページサイズにならない件と古いLaTeXでエラーになる件を修正しました
[2004-04-29] 渡辺さん [qa:28493] のパッチをマージしました
[2004-02-25] 渡辺さん [qa:26463] のパッチをマージしました
[2004-02-14] ↓目次に目次が出るのは不自然なので外しました
[2004-02-12] 渡辺さん [qa:24079] のパッチをマージしました
[2004-01-26] ちょんぼ ^^; (Thanks: IZUMI Yusuke さん [qa:25193])
[2004-01-17] myheadings のバグフィックス (Thanks: 渡辺徹さん)
[2003-11-24] okumacro の \ruby でゴシックのルビはゴシックで付くようにしました。
[2003-10-12] okumacro に \kenten{圏点} などを入れました。
[2003-09-28] 齋藤修三郎さんのutfパッケージと,UTF16用VF
にある winjis.zip をインストールした場合,\documentclass[winjis]{...}
で機種依存文字をそのままShift JISのソースファイルに書いて dvipdfm(x) でも処理できるようになります。
[2003-09-17] mathabx との競合がありましたので修正しました。
[2003-08-22] 脚注記号の位置,\pound を修正しました。
[2003-06-30] shintok さんのご指摘 [qa:19827] に対するしっぽ愛好家さんの修正 [qa:19834] を取り入れました。
[2003-06-24] [qa:19516]
でご指摘がありました理由で,\headfont を \bold にするのをやめました。
また,[qa:19652] でご指摘のあったバグを修正しました。
plainfoot,plainhead というページスタイルを新設しました。
なお,今回から NetBSD プロジェクトのご提案を受けて
jsclasses-030624.zip
のようにファイル名に日付を付けました。
jsclasses.zip はとりあえず最新版へのシンボリックリンクにしてあります。
[2003-05-29]
齋藤修三郎さんの OTFパッケージ
で bold 指定しなくても見出しが太字になるようにしました。
また,OTF パッケージで expert 指定時に okumacro.sty の \ruby
がルビ用フォントになるようにしました。
[2003-05-17] papersizeオプションでdvipdfm(x)のpagesizeスペシャルも出力するようにしました。 これでPDF作成時にもページサイズが自動で定まります。 また,プレビューで右側のトンボが見えないのを防ぐため,トンボ指定時のページサイズを2インチ増しにしました。
[2003-04-29] jsbook クラスの vartwoside というオプションでヘッダは twoside,本文は oneside 的に組むようにしました。 \marginpar が常に右に来ます (Thanks: トニイさん,しっぽ愛好家さん)。
[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フォントメトリックを使う標準的なドキュメントクラスとして再出発させることにしました。
新ドキュメントクラスはとりあえず
jsarticle.cls …… 標準的な横書き論文・レポートjsbook.cls …… 標準的な横書き書籍の2本立てで公開することにいたします。
全Zipファイルのアーカイブです:
030624 / 030630 / 030822 / 030917 / 030928 / 031012 / 031124 / 040117 / 040126 / 040128 / 040212 / 040214 / 040225 / 040429 / 040808 / 040823 / 040927 / 041103 / 041229 / 050225 / 050319 / 050430 / 050921 = 051026 / 060120 / 060121 / 060212 / 060531 / 060604 / 060723 / 060725 / 060919 / 061031 / 061101 / 061106 / 071023 / 071024 / 080218 / 081226 / 090123 / 090222 / 090823 / 090826 / 100314 / 110510 / 130423 (間違い) / 130424 / 130514