レッスン 2

論文や書籍の執筆を行う際には、しばしば学会や出版社によって独自の文書クラスが用意されています。基本的には、それらの専用文書クラスを利用することで、各ユーザが自前でレイアウト設定を行わずとも、各媒体が指定する適切なレイアウトで文書を作成することができます。

ここでは、何らかの事情でそうした専用文書クラスが利用できない場合に使用できる、汎用的な和文用文書クラスを紹介します。

jlreq

jlreqは汎用の和文組版用文書クラスで、pLaTeX、upLaTeX、LuaLaTeXのすべてに対応しています(jlreqはこれらのエンジンを自動判定できます)。また、縦書き文書の作成も可能です。本チュートリアルの日本語コード例では、基本的にこの文書クラスを採用しています。

jlreqという名前はWord Wide Webコンソーシアム(W3C)が策定する「日本語組版処理の要件(JLREQ)」に由来しており、実際この文書クラスはJLREQに準拠することを目指して開発されています。比較的新しい文書クラスで、簡単にレイアウトのカスタマイズが行えるよう多数のクラスオプションや設定用コマンドが備えられています(詳しくはjlreqのパッケージ文書を参照してください)。

例えば、縦書き文書を作成するにはクラスオプションtateを指定します。

\RequirePackage{plautopatch}
\documentclass[dvipdfmx,tate]{jlreq}
\begin{document}

これはjlreq文書クラスによる縦書きの例です。

\end{document}

jsclassesとその派生

jsclassesはレッスン5で紹介した欧文用の基本文書クラスarticle, report, bookの日本語版で、pLaTeXとupLaTeXに対応しています。縦書きには対応していません。

jsclassesでフォントサイズを指定する場合は、欧文用のものと同様クラスオプションで12pt, 13pt, 14pt等と指定します。またtwocolumnsオプションにも対応しています。

\RequirePackage{plautopatch}
\documentclass[dvipdfmx,14pt,twocolumn]{jsarticle}
\usepackage{bxjalipsum}
\begin{document}

\jalipsum[1-5]{wagahai}

\end{document}

ちなみにjsclassesの“js”はJapanese Standardに由来します。

ltjsclasses

jsclassesのLuaLaTeX対応版です。ltjsarticle, ltjsreport, ltjsbookがそれぞれjsarticle, jsreport, jsbookに対応しています。

% !TEX program=lualatex
\documentclass[14pt,twocolumn]{ltjsarticle}
\usepackage{bxjalipsum}
\begin{document}

\jalipsum[1-5]{wagahai}

\end{document}

LuaLaTeXの場合はplautopatchの読み込みと、クラスオプションdvipdfmxの指定が不要である点に注意してください。

bxjsclasses

jsclassesの拡張版にあたり、pLaTeX、upLaTeX、pdfLaTeX、XeLaTeX、LuaLaTeXに対応しています。ただし、pdfLaTeXやXeLaTeXについては「可能な限りpLaTeX系におけるjsclassesの見た目に近づける」ことを目的としており、ちゃんとした和文組版は行えないので注意してください。bxjsarticle, bxjsreport, bxjsbookがそれぞれjsarticle, jsreport, jsbookに対応しています。