LoginSignup
21

More than 5 years have passed since last update.

jsclasses に新たに jsreport が追加された件

Last updated at Posted at 2017-03-25

pLaTeX/upLaTeX用の和文文書クラスとして広く用いられているjsclassesクラス集ですが、最近(2017年2月)になって大きな機能拡張が行われました。従来あった「jsarticleクラス」と「jsbookクラス」に加えて、新たに「jsreportクラス」が利用できるようになりました。本記事では、この新しい「jsreportクラス」について解説します。

jsreportクラス、現る

従来のjsclassesには次の2つのクラスが含まれていました。

  • jsarticleクラス: “article系”(章のないレポート用)
  • jsbookクラス: “book系”(書籍用)

そして、“report系”(章のあるレポート用)のレイアウトを使いたい場合は、次のように「jsbookクラスにreportオプションを付ける」ことが指示されていました1

report系のjsclasses(旧)
% reportオプションを付ける
\documentclass[report,a4paper,11pt]{jsbook}

これに対して、2017/02/13リリースの新しいjsclassesでは新たにreport系のクラスであるjsreportが提供されるようになりました。

  • jsreportクラス: “report系”(章のあるレポート用)
report系のjsclasses(新)
\documentclass[a4paper,11pt]{jsreport}

この「jsreportクラス」は単に従来の「jsbook +report」の名前を変えたものではなく、より「report系のクラスとして適切なレイアウト」になるように仕様修正がなされています。

※なお、従来の「jsbook+report」については、従来の仕様のままで今後も用いることができます。

jsreportはabstractが違う

従来の「jsbookクラス+report」と新設の「jsreportクラス」の違いは、abstract環境の意味とその挙動に関するものです。

文書を概要するabstract環境

一般のarticle系/report系のクラスにおいて、abstract環境は「文書の概要を記述する」ものであり、典型的には標題(\makatitle)の直後に配置2されます。

jsarticleのabstract環境
% pLaTeX文書
\documentclass[a4paper]{jsarticle}
%...(略)...
\begin{document}

\maketitle % 標題

\begin{abstract}% "文章の"概要
近年,{\TeX}のアレ性への認識の共有が深まるにつれて,
{\TeX}の必要性を低減させるための技術(いわゆる「{\TeX}グッバイ」)
に対する需要が高まっている.
本研究では,Microsoft社の著名なワープロソフトである「Word」に
ついて,それを用いた「{\TeX}グッバイ」の可能性について考察する.
%...(略)...
\end{abstract}

%...(略)...
\end{document}

jsreport-2.png

このような「文書概要」の形式は、書籍3では用いられないため、一般的なbook系の文書クラス(LaTeX標準のbookクラスなど)では、abstract環境は提供されないのが普通です。

章を概要するabstract環境

ところが、jsbookクラスでは特別に、abstract 環境を「章の概要を記述する」という別の目的をもつものとして提供しています。

jsbookのabstract環境
% pLaTeX文書
\documentclass[a4paper]{jsbook}
%...(略)...
\begin{document}
%...(略)...
\chapter{{\TeX}言語に関する大事な注意}

%%%%↓"章の概要"を表すabstract環境
\begin{abstract}
{\TeX}言語危険、ダメゼッタイ。
大事なことなのでもう一度:{\TeX}言語危険、ダメゼッタイ!
\end{abstract}

{\TeX}言語は組版エンジン{\TeX}の動作を記述するための
プログラム言語である。
従って、{\TeX}言語を使うことで、{\TeX}の機能の全てを
直接扱うことが可能になる。
%...(略)...
\end{document}

jsreport-1.png

jsreport、マジreport系

article系/report系のクラスとjsbookクラスではabstract環境の用途が異なることが解りました。それでは、jsclassesの新旧双方の「report系クラス」ではabstract環境はどちらの意味になるのでしょうか。答えは以下の通りです。

  • jsbookクラス+report: abstract環境は「章の概要」用
  • jsreportクラス: abstract環境は「文書の概要」用

「jsbookクラス+report」は元がjsbookであることの影響のためか、abstract環境が「章の概要」用になっていました。しかし、report系である以上、本来は「文書の概要」用のabstract環境となるのが望ましいはずです。それが新しいjsreportクラスでは修正されている、というわけです。

まとめ

というわけで、jsclassesクラス集でreport系の文書を作る場合は、今後は(古い環境との互換が不要な限りは)新しい「jsreportクラス」を使いましょう!


  1. ちなみに、jsarticleにslideオプションを付けると、スライド用の文書クラスとして機能します。 

  2. 文書クラスによっては、LaTeXソース上でのabstract環境の位置について「\maketitle 以前の任意の位置に記述できる」という仕様のものもあります。この場合も、出力上は通常通り標題の直後に配置されるのが一般的です。 

  3. 書籍では“文書の概要”は通常「前書き(前文、Preface)」と題した章に記述されます。 

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21