論文や書籍の執筆を行う際には、しばしば学会や出版社によって独自の文書クラスが用意されています。基本的には、それらの専用文書クラスを利用することで、各ユーザが自前でレイアウト設定を行わずとも、各媒体が指定する適切なレイアウトで文書を作成することができます。
ここでは、何らかの事情でそうした専用文書クラスが利用できない場合に使用できる、汎用的な和文用文書クラスを紹介します。
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に対応しています。縦書きには対応していません。
jsarticle
: 章のない短めの和文文書jsreport
: 章のある長めの和文文書、片面印刷jsbook
: 章のある長めの和文文書、両面印刷、前付け・後付けあり(たとえば索引)
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
に対応しています。