summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-03-11 23:08:46 +0000
committerKarl Berry <karl@freefriends.org>2017-03-11 23:08:46 +0000
commit31fa4a2461c0ff5efe56ef940af61052b14874ef (patch)
tree3fe6981d30ae8b791d6c84b1c2203ce0b3989965
parentb5e666f616a45300c2cfe93175f3f02b94ed3f70 (diff)
bxjscls (11mar17)
git-svn-id: svn://tug.org/texlive/trunk@43467 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README-ja.md9
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdfbin591209 -> 598150 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex114
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdfbin929680 -> 942884 bytes
-rw-r--r--Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx354
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls58
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls111
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def10
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def20
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls160
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls58
16 files changed, 653 insertions, 251 deletions
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
index 98747a5df35..ef31a0f288d 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
@@ -97,6 +97,15 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使
更新履歴
--------
+ * Version 1.5 〈2017/03/11〉
+ - jsreport の `layout=v2` 指定で、従来の jsbook + report に代わって、
+ jsclasses で新設された jsreport のレイアウトを継承する。
+ - pLaTeX-ng のためのエンジンオプション `platex-ng` を新設。
+ - `chapterabstract` 環境を新設。
+ - `hyperref-enc`、`whole-zw-lines` オプションを新設。
+ - jsclasses の 2017/03/05 と同期。
+ + `openleft` オプションを新設。
+ + `\frontmatter`、`\backmatter` の仕様の変更。
* Version 1.4 〈2017/02/03〉
- `\zwapace` 命令を追加。
- 数式中の和文出力をサポートした。
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md
index e7c1799ce13..db98e113419 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README.md
@@ -87,6 +87,8 @@ This package is distributed under the BSD 2-Clause License.
Revision History
----------------
+ * Version 1.5 〈2017/03/11〉
+ - Sync with jsclasses 2017/03/05.
* Version 1.4 〈2017/02/03〉
* Version 1.3a 〈2017/01/28〉
- Sync with jsclasses 2017/01/13.
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
index 6efa12122db..a272112f435 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
+++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
index d6429c4345e..b8b0a2badfe 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
+++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
@@ -12,8 +12,8 @@
\renewcommand*{\XeLaTeX}{XeLaTeX}}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.4}
-\newcommand{\PkgDate}{2017/02/03}
+\newcommand{\PkgVersion}{1.5}
+\newcommand{\PkgDate}{2017/03/11}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
@@ -49,7 +49,7 @@ BXJS文書クラスについては、“{\TeX} Wiki”中の記事、
本パッケージに含まれる文書クラス集
(以下では\jemph{BXJS(文書)クラス}と呼ぶ)
は、奥村晴彦氏および“日本語{\TeX}開発コミュニティ”により作製された
-「p{\LaTeXe}新ドキュメントクラス」
+\Pkg{jsclasses}パッケージの文書クラス集
(以下では\jemph{JS(文書)クラス}と呼ぶ)
の拡張版に相当する。
JSクラスのレイアウトデザインと機能をほぼ踏襲しているが、
@@ -405,7 +405,8 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが
\Note JSクラスの |\ifdraft| は2016/07/13版で廃止された。
従って、BXJSクラスにおいて |\ifdraft| スイッチの使用を
非推奨とし、将来的に廃止を予定する。
-\item 1.2版より、|\bf| や |\it| 等の旧式のフォント選択命令の使用が
+\item 1.2版より、|\bf| や |\it| 等の
+ {\pLaTeX}\,2.09方式のフォント選択命令の使用が
非推奨となり、これらの命令を使うと警告が出るようになった。
詳細は\ref{sec:Old-font-commands}節を参照。
% TODO: \@ptsize の話
@@ -536,7 +537,7 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
\item エンジンオプション\Means
実際に使用するエンジン({\LaTeX}コマンド名)を指定する。
有効な値は |latex|、|platex|、|uplatex|、|pdflatex|、|xelatex|、
- |lualatex| である。
+ |lualatex|、|platex-ng| である。
エンジンオプション(と次項の |autodetect-engine| の何れか)
の指定は必須である。
\item |autodetect-engine|\Means
@@ -644,7 +645,7 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
値は |true|(有効)/|false|(無効)/|default|(既定値に従う)
の何れかである。
エンジンや和文ドライバの種類により、
- 既定値が有効・無効の何れになるかは異なるし、また、
+ 既定値が有効・無効の何れになるかは異なり、また、
そもそも有効・無効の一方しか選択できない場合もある。
詳細については\ref{sec:Ja-math-fonts}節を参照されたい。
\item |disablejfam|\Means
@@ -755,17 +756,36 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
\item |paragraph-mark=|\Meta{文字1つ}\Means
パラグラフ(|\paragraph|)の見出し先頭に付く記号。
既定値は“■”。
+\item |whole-zw-lines=|\Meta{真偽値}\Means
+ ページレイアウト策定において「行長を全角幅の整数倍に丸める処理」
+ を行うか否か。
+\item |hyperref-enc=|\Meta{真偽値}\Means
+ \Pkg{hyperref}パッケージについて
+ 「PDF文字列の文字コード設定を補正する処理」
+ を行うか否か。
\item |layout=|\Meta{値}\Means
レイアウトの変種を選択する。
+ 現状では、過去の版との互換性を維持するために用いられている。
有効な値は以下の通り。
\begin{itemize}
- \item |v2|(既定)\Means
- 現版の既定のレイアウト。
- \item |v1|\Means
- \Pkg{bxjsbook}クラスについて、1.2a版以前の
- (本来は不適切な)水平マージンの設定を適用する。
- (詳細は\ref{ssec:page-layout}節を参照。)
- その他のクラスについては |v2| と全く同じ。
+ \item \Pkg{bxjsbook}クラスの場合:
+ \begin{itemize}
+ \item |v2|(既定)\Means
+ 現版の既定のレイアウト。
+ \item |v1|\Means
+ 1.2a版以前の(本来は不適切な)水平マージンの設定を適用する。
+ (詳細は\ref{ssec:page-layout}節を参照。)
+ \end{itemize}
+ \item \Pkg{bxjsreport}クラスの場合:
+ \begin{itemize}
+ \item |v2|\Means
+ JSクラスに新設された\Pkg{jsreport}クラスのレイアウトを継承する。
+ \Note 近い将来に、既定値が |v2| に変更される予定。
+ \item |v1|(既定)\Means
+ 従来の「\Pkg{jsbook}クラス\,+\,|report|オプション」の
+ レイアウトを継承する。
+ \end{itemize}
+ \item それ以外のクラスでは、本オプションは無効である。
\end{itemize}
\end{itemize}
@@ -816,9 +836,10 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
|titlepage|、|notitlepage|。
\paragraph{起こし}
-|openright|、|openany|。
-\Note \Pkg{jsbook}のみ(BXJSでは\Pkg{bxjsreport}と\Pkg{bxjsbook})
-にのみ存在するオプション。
+|openright|、|openleft|、|openany|。
+\Note \Pkg{jsreport}と\Pkg{jsbook}にのみ存在するオプション。
+\Note |openleft| は部・章の開始を見開き左側のページ
+(偶数ページ)に強制する(左起こし)。
\paragraph{数式配置}
|leqno|、|fleqn|。
@@ -833,6 +854,25 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
\paragraph{英語化}
|english|。
+\paragraph{エンジン種別}
+|uplatex|、|autodetect-engine|。
+\Note 既に\ref{ssec:BXJS-specific-option}節で述べた通り。
+
+\paragraph{magstyle指定}
+|usemag|、|nomag|、|nomag*|。
+\Note BXJSクラスでは、これらは“|magstyle=|”を前置したものと
+同等に扱われる。
+詳細は\ref{ssec:magstyle}節を参照。
+
+\paragraph{和文数式ファミリ不使用}
+|disablejfam|。
+\Note BXJSクラスでは |enablejfam=false| と同値。
+詳細は\ref{sec:Ja-math-fonts}節を参照。
+
+\paragraph{ロゴ命令パッケージの読込}
+|jslogo|、|nojslogo|。
+\Note BXJSクラスでは |nojslogo| が既定値である。
+
%-------------------
\subsection{JSクラスのオプションで使用不可能なもの}
\label{ssec:JS-deleted-option}
@@ -939,8 +979,8 @@ keyval形式(例えば|magstyle=nomag*|)で書くこともできる。
(エラーになる)。
\Note |magstyle| オプションの既定値は |usemag| である。
-ただし例外として、Lua{\TeX}の0.87版以降では
-(|mag| が使えないため)|nomag*| が既定値となる。
+ただし例外として、|usemag| がサポートされない
+エンジンでは |nomag*| が既定値となる。
%===========================================================
\section{和文ドライバ}
@@ -954,7 +994,7 @@ BXJSクラスでは様々なエンジンについて、そのエンジンおよ
これを\jemph{和文ドライバ}と呼ぶ。
\footnote{\Pkg{graphicx}パッケージ等の「ドライバ」と類似した概念
のためこの名称を用いた。}%
-\Pkg{BXjscls}のバンドルでは次の2つの和文ドライバを提供している。
+\Pkg{BXjscls}のバンドルでは以下に挙げる和文ドライバを提供している。
\begin{itemize}
\item standard和文ドライバ\Means
@@ -971,7 +1011,7 @@ BXJSクラスでは様々なエンジンについて、そのエンジンおよ
用いることを想定している。
\item pandoc和文ドライバ\Means
「Pandocモード」で仕様される和文ドライバ。
-基本的にstandardと同じ設定を用いるが、
+standardドライバの機能を継承するが、
「Pandocの既定のlatexテンプレート」が使われることを前提として、
それとBXJSの設定を整合させるための措置を加えている。
\end{itemize}
@@ -981,7 +1021,9 @@ BXJSクラスでは様々なエンジンについて、そのエンジンおよ
情報については、ソースコード説明書(bxjscls.pdf)
の付録Aを参照してほしい。}%
|bxjsja-XXX.def|(|XXX| は任意の文字列
-\footnote{カテゴリコード11または12の文字からなる必要がある。}%
+\footnote{{\LaTeX}の非特殊文字
+({\TeX}言語でいうとカテゴリコードが11または12の文字)
+からなる必要がある。}%
)の名前のファイルに実装コードを書いてそのファイルを配置すると、
|ja=XXX| のオプション指定でその和文ドライバを利用できる。
@@ -1083,8 +1125,26 @@ vscale=0.944, vmarginratio=1:1
\item |\subtitle{|\Meta{テキスト}|}|\Means
サブタイトルを設定する。
\Note |\maketitle| の出力にサブタイトルが含まれるようになる。
+\item |chapterabstract| 環境\Means
+ \Pkg{jsbook}クラスの |abstract| 環境
+ \footnote{article系やreport系のクラスにあるような
+ (文書要旨のための)abstract 環境は、book系クラスでは
+ 用意されていないことが多いことに注意。}%
+ と等価な環境で、
+ “各章の初めにちょっとしたことを書く”用途を想定したもの。
+ (ただし使用可能な場所に特に制限はない。)
\end{itemize}
+なお、|abstract| 環境の機能については継承元のJSクラスと同一に
+なるため以下のようになる。
+\begin{itemize}
+\item \Pkg{bxjsarticle}および|layout=v2|指定の\Pkg{bxjsreport}\Means
+ \Pkg{jsarticle}/\Pkg{jsreport}クラスと同じ、
+ つまり「文書要旨」のための環境。
+\item \Pkg{bxjsbook}および|layout=v1|指定の\Pkg{bxjsreport}\Means
+ \Pkg{jsbook}クラスと同じ、
+ つまり |chapterabstract| 環境と等価。
+\end{itemize}
%-------------------
\subsection{和文用設定関連}
@@ -1092,13 +1152,14 @@ vscale=0.944, vmarginratio=1:1
\begin{itemize}
\item |\jsZw|\Means
和文の全角幅を表す。
+ 例えば |2\jsZw| が pLaTeX の |2zw| に相当する。
\item |\zw|\Means
|\jsZw| の別名。
\footnote{\Pkg{\LuaTeX-ja}では「実際の全角幅」を表す
命令 |\zw|({\pLaTeX}の |zw| と本当に等価)が規定されている。
|lualatex| エンジン指定かつ和文ドライバが |standard| の場合は
この |\zw| の定義がそのまま使われる。
- (従って |nozw| は実質的に無効である。)
+ (従って |zw|/|nozw| は実質的に意味を持たない。)
なお、|\jsZw| は「規約上の全角幅」であり、「実際の全角幅」と本来は
一致するはずだが、実際には計算誤差のせいで僅かに値が異なる。}%
ただし |nozw| 指定時は定義されない。
@@ -1108,12 +1169,10 @@ vscale=0.944, vmarginratio=1:1
\subsubsection{standard和文ドライバの場合}
-standard和文ドライバでは和文に関連する
+standard和文ドライバ(およびそれを継承するドライバ)では和文に関連する
文書ソース記述をエンジンに依らずに共通になることを目指している。
-従って、和文関連の組版パラメタの設定*1についても
+従って、和文関連の組版パラメタの設定についても
「共通の命令」が提供される。
-\footnote{pandoc和文ドライバはstandard和文ドライバの設定を
-引き継ぐため、pandocモードでもこれらの命令を使用できる。}
\begin{itemize}
\item 和文ファミリ変更命令\Means
@@ -1125,9 +1184,6 @@ standard和文ドライバでは和文に関連する
\footnote{ちなみに、(u){\pLaTeX}の既定ではこの連動は起こらない。}%
に、|\rmfamily| で和文が「明朝」、
|\sffamily| および |\ttfamily| で和文が「ゴシック」に変更される。
-\item |\zw|\Means
- 和文の全角幅を表す。
- 例えば |2\zw| が pLaTeX の |2zw| に相当する。
\item |\jQ|、|\jH|、|\trueQ|、|\trueH|\Means
それぞれ{\pLaTeX}の単位Q、H、trueQ、trueHに相当する長さ。
\item |\ascQ|\Means
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
index 81499ed32cb..814e1938e8f 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
+++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
index 955535e1bad..8fb72aac22a 100644
--- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
+++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
@@ -67,7 +67,9 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
+% based on jsclasses [2017/03/05]
+% [2017/02/03 v1.4 BXJS document classes]
% [2017/01/28 v1.3a BXJS document classes]
% based on jsclasses [2017/01/13]
% [2016/11/01 v1.3 BXJS document classes]
@@ -189,10 +191,16 @@
%
% \iffalse
% ここでは次のドキュメントクラス(スタイルファイル)を作ります。
+%
+% [2017-02-13] forum:2121の議論を機に,jsreportクラスを新設しました。
+% 従来のjsbookの |report| オプションと比べると,|abstract| 環境の使い方
+% および挙動がアスキーのjreportに近づきました。
+%
% \begin{quote}
% \begin{tabular}{lll}
% $\langle$\textsf{article}$\rangle$ & \texttt{jsarticle.cls} & 論文・レポート用 \\
% $\langle$\textsf{book}$\rangle$ & \texttt{jsbook.cls} & 書籍用 \\
+% $\langle$\textsf{report}$\rangle$ & \texttt{jsreport.cls} & レポート用 \\
% $\langle$\textsf{jspf}$\rangle$ & \texttt{jspf.cls} & 某学会誌用 \\
% $\langle$\textsf{kiyou}$\rangle$ & \texttt{kiyou.cls} & 某紀要用
% \end{tabular}
@@ -481,14 +489,23 @@
%
% \begin{macro}{\if@openright}
%
-% |\chapter|,|\part| を奇数ページ起こしにするかどうかです。
-% 書籍では真が標準です。
+% |\chapter|,|\part| を右ページ起こしにするかどうかです。
+% 横組の書籍では真が標準で,要するに片起こし,奇数ページ起こしになります。
%
% \begin{macrocode}
%<book|report>\newif\if@openright
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\if@openleft}
+%
+% [2017-02-24] |\chapter|,|\part| を左ページ起こしにするかどうかです。
+%
+% \begin{macrocode}
+%<book|report>\newif\if@openleft
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\if@mainmatter}
%
% 真なら本文,偽なら前付け・後付けです。
@@ -762,12 +779,20 @@
%
% \paragraph{右左起こし}
%
-% 書籍では章は通常は奇数ページ起こしになりますが,
+% 書籍では章は通常は奇数ページ起こしになりますが,横組ではこれを
+% \texttt{openright} と表すことにしてあります。
% \texttt{openany} で偶数ページからでも始まるようになります。
%
+% [2017-02-24] \texttt{openright} は横組では奇数ページ起こし,縦組では
+% 偶数ページ起こしを表します。ややこしいですが,これは\LaTeX の標準クラスが
+% 西欧の横組事情しか考慮せずに,奇数ページ起こしと右起こしを一緒にしてしまっ
+% たせいです。縦組での奇数ページ起こしと横組での偶数ページ起こしも表現したい
+% ので,jsclassesでは新たに \texttt{openleft} も追加しました。
+%
% \begin{macrocode}
-%<book|report>\DeclareOption{openright}{\@openrighttrue}
-%<book|report>\DeclareOption{openany}{\@openrightfalse}
+%<book|report>\DeclareOption{openright}{\@openrighttrue\@openleftfalse}
+%<book|report>\DeclareOption{openleft}{\@openlefttrue\@openrightfalse}
+%<book|report>\DeclareOption{openany}{\@openrightfalse\@openleftfalse}
% \end{macrocode}
%
% \paragraph{eqnarray環境と数式の位置}
@@ -955,12 +980,16 @@
\DeclareOption{english}{\@englishtrue}
% \end{macrocode}
%
-% \paragraph{jsreport相当}
+% \paragraph{jsbookをjsreportもどきに}
%
% オプション \texttt{report} を新設しました。
%
+% [2017-02-13] 従来は「jsreport相当」をjsbookの \texttt{report} オプションで提供して
+% いましたが,新しくjsreportクラスも作りました。どちらでもお好きな方を使ってください。
+%
% \begin{ZRnote}
% BXJS では `|report|' 相当のものは別に |bxjsreport| クラスとして用意する。
+% \Note FIXME:|jsbook|\,+\,|report| と |jsreport|のどちらに合わせるか。
% \end{ZRnote}
%
% \paragraph{jslogoパッケージの読み込み}
@@ -1022,9 +1051,8 @@
% \item |textwidth-limit=|\meta{number} : |bxjsbook| における、
% |\textwidth| の上限の全角単位での値。
% \item |paragraph-mark=|\meta{char} : パラグラフのマーク。
-% \item |whole-zw-lines| : (予定)
-% \item |dummy-microtype| : (予定)
-% \item |hyperref-enc| : (予定)
+% \item |whole-zw-lines=|\meta{bool} : 行長を全角単位に丸めるか。
+% \item |hyperref-enc=|\meta{bool} : |hyperref| の文字コード指定補正を行うか。
% \end{itemize}
%
% \begin{macro}{\bxjs@invscale}
@@ -1585,18 +1613,34 @@
% \begin{macro}{\ifbxjs@layout@buggyhmargin}
% 〔スイッチ〕
% |bxjsbook| の左右マージンがアレか。
-% \Note 既定はアレだが1.3版で非アレになる予定。
+% \Note |layout| が |v1| の場合はアレになる。
+% \begin{macrocode}
+\newif\ifbxjs@layout@buggyhmargin
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifbxjs@force@chapterabstract}
+% 〔スイッチ〕
+% abstract環境をchapterabstractにするか。
+% \Note |bxjsbook| では常に真。
+% |bxjsreport| では |layout| が |v1| の場合に真になる。
+% \Note ただし1.5版では移行措置のため |bxjsreport| の既定値を真にする。
% \begin{macrocode}
-\newif\ifbxjs@layout@buggyhmargin \bxjs@layout@buggyhmarginfalse
+\newif\ifbxjs@force@chapterabstract
+%<book|report>\bxjs@force@chapterabstracttrue
% \end{macrocode}
% \end{macro}
%
% |layout| オプションの処理。
% \begin{macrocode}
\@namedef{bxjs@kv@layout@v1}{%
- \bxjs@layout@buggyhmargintrue}
+%<book>\bxjs@layout@buggyhmargintrue
+%<report>\bxjs@force@chapterabstracttrue
+}
\@namedef{bxjs@kv@layout@v2}{%
- \bxjs@layout@buggyhmarginfalse}
+%<book>\bxjs@layout@buggyhmarginfalse
+%<report>\bxjs@force@chapterabstractfalse
+}
\define@key{bxjs}{layout}{%
\bxjs@set@keyval{layout}{#1}{}}
% \end{macrocode}
@@ -1631,16 +1675,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\ifbxjs@dummy@microtype}
-% 〔スイッチ〕 |dummy-microtype| の指定値。
-% \begin{macrocode}
-\newif\ifbxjs@dummy@microtype \bxjs@dummy@microtypetrue
-\let\bxjs@kv@dummymicrotype@true\bxjs@dummy@microtypetrue
-\let\bxjs@kv@dummymicrotype@false\bxjs@dummy@microtypefalse
-\define@key{bxjs}{dummy-microtype}{\bxjs@set@keyval{dummymicrotype}{#1}{}}
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\ifbxjs@hyperref@enc}
% 〔スイッチ〕 |hyperref-enc| の指定値。
% \begin{macrocode}
@@ -1679,8 +1713,8 @@
%
% \begin{macrocode}
%<article>\ExecuteOptions{a4paper,oneside,onecolumn,notitlepage,final}
-%<report>\ExecuteOptions{a4paper,oneside,onecolumn,titlepage,openany,final}
%<book>\ExecuteOptions{a4paper,twoside,onecolumn,titlepage,openright,final}
+%<report>\ExecuteOptions{a4paper,oneside,onecolumn,titlepage,openany,final}
%<slide>\ExecuteOptions{36pt,a4paper,landscape,oneside,onecolumn,titlepage,final}
\ProcessOptions\relax
\bxjs@composite@proc
@@ -2833,12 +2867,14 @@
\let\Gm@driver\bxjs@geometry@driver
\fi
% textwidth 調整
- \@tempdimb=\textwidth
- \if@twocolumn \@tempdima=2\Cwd \else \@tempdima=1\Cwd \fi
- \divide\textwidth\@tempdima \multiply\textwidth\@tempdima
- \advance\@tempdimb-\textwidth
- \advance\oddsidemargin 0.5\@tempdimb
- \advance\evensidemargin 0.5\@tempdimb
+ \ifbxjs@whole@zw@lines
+ \@tempdimb=\textwidth
+ \if@twocolumn \@tempdima=2\Cwd \else \@tempdima=1\Cwd \fi
+ \divide\textwidth\@tempdima \multiply\textwidth\@tempdima
+ \advance\@tempdimb-\textwidth
+ \advance\oddsidemargin 0.5\@tempdimb
+ \advance\evensidemargin 0.5\@tempdimb
+ \fi
\fullwidth=\textwidth
%<*book>
\ifdim\textwidth>\jsTextWidthLimit\Cwd
@@ -2862,7 +2898,9 @@
\setlength\marginparpush{\baselineskip}
\setlength\marginparwidth{\paperwidth-\oddsidemargin-1truein%
-\textwidth-10\jsc@mmm-\marginparsep}
- \divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
+ \ifbxjs@whole@zw@lines
+ \divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
+ \fi
% 連動する変数
\maxdepth=.5\topskip
\stockwidth=\paperwidth
@@ -3247,6 +3285,86 @@
% \end{macro}
% \end{macro}
%
+% \section{改ページ(日本語\TeX{}開発コミュニティ版のみ)}\label{sec:cleardoublepage}
+%
+% \begin{macro}{\pltx@cleartorightpage}
+% \begin{macro}{\pltx@cleartoleftpage}
+% \begin{macro}{\pltx@cleartooddpage}
+% \begin{macro}{\pltx@cleartoevenpage}
+% [2017-02-24] コミュニティ版\pLaTeX の標準クラス2017/02/15に合わせて,
+% 同じ命令を追加しました。
+% \begin{enumerate}
+% \item|\pltx@cleartorightpage|:右ページになるまでページを繰る命令
+% \item|\pltx@cleartoleftpage|:左ページになるまでページを繰る命令
+% \item|\pltx@cleartooddpage|:奇数ページになるまでページを繰る命令
+% \item|\pltx@cleartoevenpage|:偶数ページになるまでページを繰る命令
+% \end{enumerate}
+% となっています。
+% \begin{macrocode}
+%\def\pltx@cleartorightpage{\clearpage\if@twoside
+% \ifodd\c@page
+% \iftdir
+% \hbox{}\thispagestyle{empty}\newpage
+% \if@twocolumn\hbox{}\newpage\fi
+% \fi
+% \else
+% \ifydir
+% \hbox{}\thispagestyle{empty}\newpage
+% \if@twocolumn\hbox{}\newpage\fi
+% \fi
+% \fi\fi}
+%\def\pltx@cleartoleftpage{\clearpage\if@twoside
+% \ifodd\c@page
+% \ifydir
+% \hbox{}\thispagestyle{empty}\newpage
+% \if@twocolumn\hbox{}\newpage\fi
+% \fi
+% \else
+% \iftdir
+% \hbox{}\thispagestyle{empty}\newpage
+% \if@twocolumn\hbox{}\newpage\fi
+% \fi
+% \fi\fi}
+\def\pltx@cleartooddpage{\clearpage\if@twoside
+ \ifodd\c@page\else
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\def\pltx@cleartoevenpage{\clearpage\if@twoside
+ \ifodd\c@page
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+% \end{macrocode}
+%
+% \begin{ZRnote}
+% BXJSクラスでは |\iftdir| 等が使えないので、
+% 横組を仮定した定義を用いる。
+% \begin{macrocode}
+\let\pltx@cleartorightpage\pltx@cleartooddpage
+\let\pltx@cleartoleftpage\pltx@cleartoevenpage
+% \end{macrocode}
+% \end{ZRnote}
+%
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\cleardoublepage}
+% [2017-02-24] コミュニティ版\pLaTeX の標準クラス2017/02/15に合わせて,
+% reportとbookクラスの場合に|\cleardoublepage|を再定義します。
+% \begin{macrocode}
+%<*book|report>
+\if@openleft
+ \let\cleardoublepage\pltx@cleartoleftpage
+\else\if@openright
+ \let\cleardoublepage\pltx@cleartorightpage
+\fi\fi
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+%
% \section{ページスタイル}\label{sec:pagestyle}
%
% ページスタイルとして,\LaTeXe (欧文版)の標準クラス
@@ -3389,7 +3507,7 @@
%</article|slide>
% \end{macrocode}
%
-% 次は book の場合です。
+% 次は book および report の場合です。
% [2011-05-10] しっぽ愛好家さん [qa:6370] のパッチを取り込ませていただきました
% (北見さん [qa:55896] のご指摘ありがとうございます)。
%
@@ -4094,14 +4212,18 @@
%
% ページ番号をローマ数字にし,章番号を付けないようにします。
%
+% [2017-03-05] |\frontmatter| と |\mainmatter| の2つの命令は,
+% 改丁または改ページした後で |\pagenumbering{...}| でノンブルを1に
+% リセットします。長い間 |\frontmatter| は \texttt{openany} のときに
+% 単なる改ページとしていましたが,これではノンブルをリセットする際に
+% 偶奇逆転が起こる場合がありました。\texttt{openany} かどうかに依らず
+% 奇数ページまで繰るように修正することで,問題を解消しました。
+% 実は,\LaTeX の標準クラスでは1998年に修正されていた問題です
+% (コミュニティ版\pLaTeX の標準クラス2017/03/05も参照)。
+%
% \begin{macrocode}
%<*book|report>
-\newcommand\frontmatter{%
- \if@openright
- \cleardoublepage
- \else
- \clearpage
- \fi
+ \pltx@cleartooddpage
\@mainmatterfalse
\pagenumbering{roman}}
% \end{macrocode}
@@ -4113,11 +4235,7 @@
%
% \begin{macrocode}
\newcommand\mainmatter{%
-% \if@openright
- \cleardoublepage
-% \else
-% \clearpage
-% \fi
+ \pltx@cleartooddpage
\@mainmattertrue
\pagenumbering{arabic}}
% \end{macrocode}
@@ -4129,11 +4247,13 @@
%
% \begin{macrocode}
\newcommand\backmatter{%
- \if@openright
+ \if@openleft
+ \cleardoublepage
+ \else\if@openright
\cleardoublepage
\else
\clearpage
- \fi
+ \fi\fi
\@mainmatterfalse}
%</book|report>
% \end{macrocode}
@@ -4165,7 +4285,7 @@
% \def\CMDB #1{....} % \chapter*{...} の定義
%\end{verbatim}
%
-% まず |book| クラス以外です。
+% まず |book| と |report| のクラス以外です。
%
% \begin{macrocode}
%<*!book&!report>
@@ -4178,16 +4298,18 @@
%</!book&!report>
% \end{macrocode}
%
-% |book| スタイルの場合は,少し複雑です。
+% |book| および |report| クラスの場合は,少し複雑です。
%
% \begin{macrocode}
%<*book|report>
\newcommand\part{%
- \if@openright
+ \if@openleft
+ \cleardoublepage
+ \else\if@openright
\cleardoublepage
\else
\clearpage
- \fi
+ \fi\fi
\thispagestyle{empty}% 欧文用標準スタイルでは plain
\if@twocolumn
\onecolumn
@@ -4206,7 +4328,7 @@
% 部の見出しを出力します。
% |\bfseries| を |\headfont| に変えました。
%
-% |book| クラス以外では |secnumdepth| が $-1$ より大きいとき
+% |book| および |report| クラス以外では |secnumdepth| が $-1$ より大きいとき
% 部番号を付けます。
%
% \begin{macrocode}
@@ -4236,7 +4358,7 @@
%</!book&!report>
% \end{macrocode}
%
-% |book| クラスでは |secnumdepth| が $-2$ より大きいとき部番号を付けます。
+% |book| および |report| クラスでは |secnumdepth| が $-2$ より大きいとき部番号を付けます。
%
% \begin{macrocode}
%<*book|report>
@@ -4303,11 +4425,11 @@
%<*book|report>
\def\@endpart{\vfil\newpage
\if@twoside
- \if@openright %% added (2016/12/13)
- \null
- \thispagestyle{empty}%
- \newpage
- \fi %% added (2016/12/13)
+ \if@openleft %% added (2017/02/24)
+ \null\thispagestyle{empty}\newpage
+ \else\if@openright %% added (2016/12/13)
+ \null\thispagestyle{empty}\newpage
+ \fi\fi %% added (2016/12/13, 2017/02/24)
\fi
\if@restonecol
\twocolumn
@@ -4328,7 +4450,8 @@
% \begin{macrocode}
%<*book|report>
\newcommand{\chapter}{%
- \if@openright\cleardoublepage\else\clearpage\fi
+ \if@openleft\cleardoublepage\else
+ \if@openright\cleardoublepage\else\clearpage\fi\fi
\plainifnotempty % 元: \thispagestyle{plain}
\global\@topnum\z@
\if@english \@afterindentfalse \else \@afterindenttrue \fi
@@ -4519,9 +4642,11 @@
% \end{ZRnote}
% \begin{macrocode}
\newcommand\jsParagraphMark{\jsJaChar{■}}
-\ifx\bxjs@paragraph@mark\@undefined\else
+\ifx\bxjs@paragraph@mark\@empty
+ \let\jsParagraphMark\@empty
+\else\ifx\bxjs@paragraph@mark\@undefined\else
\long\edef\jsParagraphMark{\noexpand\jsJaChar{\bxjs@paragraph@mark}}
-\fi
+\fi\fi
\let\jsJaChar\@empty
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
@@ -4866,16 +4991,34 @@
%
% JSPFスタイルでは実際の出力は |\maketitle| で行われます。
%
+% \begin{ZRnote}
+% |bxjsreport| クラスのabstract環境は:
+% \begin{itemize}
+% \item |layout=v1| の場合は |jsbook|\,+\,|report| の動作を継承する。
+% つまり |jsbook| と同じになる。
+% \item |layout=v2| の場合は新設の |jsreport| の動作を継承する。
+% つまり |jsarticle|(+\,|titlapage|)と同じになる。
+% \end{itemize}
+%
+% \begin{environment}{chapterabstract}
+% |jsbook| のabstract環境
+% (「各章の初めにちょっとしたことを書く」ためのもの)
+% をchapterabstractと呼ぶことにする。
% \begin{macrocode}
%<*book|report>
-\newenvironment{abstract}{%
+\newenvironment{chapterabstract}{%
\begin{list}{}{%
\listparindent=1\jsZw
\itemindent=\listparindent
\rightmargin=\z@
\leftmargin=5\jsZw}\item[]}{\end{list}\vspace{\baselineskip}}
%</book|report>
-%<*article|slide>
+% \end{macrocode}
+% \end{environment}
+%
+% “普通の”abstract環境の定義。
+% \begin{macrocode}
+%<*article|report|slide>
\newbox\@abstractbox
\if@titlepage
\newenvironment{abstract}{%
@@ -4885,7 +5028,12 @@
\begin{center}%
\headfont \abstractname
\@endparpenalty\@M
- \end{center}}%
+ \end{center}%
+% \end{macrocode}
+% BXJSクラスでは、
+% 概要の最初の段落に段落下げが入るようにする。
+% \begin{macrocode}
+ \par}%
{\par\vfil\null\endtitlepage}
\else
\newenvironment{abstract}{%
@@ -4924,7 +5072,7 @@
\endlist
\fi}
\fi
-%</article|slide>
+%</article|report|slide>
%<*jspf>
\newbox\@abstractbox
\newenvironment{abstract}{%
@@ -4935,6 +5083,19 @@
{\end{minipage}\egroup}
%</jspf>
% \end{macrocode}
+%
+% |bxjs@force@chapterabstract| が真の場合は、abstract環境を
+% chapterabstract環境と等価にする。
+% \begin{macrocode}
+%<*book|report>
+\ifbxjs@force@chapterabstract
+ \let\abstract\chapterabstract
+ \let\endabstract\endchapterabstract
+\fi
+%</book|report>
+% \end{macrocode}
+% \end{ZRnote}
+%
% \end{environment}
%
% \paragraph{キーワード}
@@ -5032,16 +5193,24 @@
%
% タイトルを独立のページに出力するのに使われます。
%
+% [2017-02-24] コミュニティ版\pLaTeX の標準クラス2017/02/15に合わせて,
+% bookクラスでタイトルを必ず奇数ページに送るようにしました。といっても,
+% 横組クラスしかありませんでしたので,従来の挙動は何も変わっていません。
+% また,book以外の場合のページ番号のリセットもコミュニティ版\pLaTeX の
+% 標準クラス2017/02/15に合わせましたが,こちらも片面印刷あるいは
+% 独立のタイトルページを作らないクラスばかりでしたので,従来の挙動は
+% 何も変わらずに済みました。
+%
% \begin{macrocode}
\newenvironment{titlepage}{%
-%<book|report> \cleardoublepage
+%<book> \pltx@cleartooddpage %% 2017-02-24
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
- \setcounter{page}\@ne
+ \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi %% 2017-02-24
}%
{\if@restonecol\twocolumn \else \newpage \fi
\if@twoside\else
@@ -6401,14 +6570,14 @@
% [2016-12-01] すぐ上の変更で |\@tempa| を使っていたのがよくなかった
% ので,プレフィックスを付けて |\jsc@tempa| にしました(forum:2085)。
%
+% [2017-02-13] |\jsc@tempa| は実はテンポラリではなく「この処理専用の
+% ユニーク制御綴」である必要があります。間違って別の箇所で使う危険性が
+% 高いので,専用の命令 |\jsc@ig@temp| に置き換えました(Issue \#54)。
+%
% \begin{ZRnote}
% \begin{macro}{\@inhibitglue}
% JSクラスでの |\jsInhibitGlueAtParTop| の実装。
% (これは{(u)\pTeX}専用である。)
-%
-% \Note |\jsc@tempa| は実はテンポラリではなく「この処理専用の
-% ユニーク制御綴」である(でないと不正である)が、間違って別の箇所で
-% 使う危険性が高いので |\bxjs@ig@temp| に置き換えた。
% \begin{macrocode}
\def\@inhibitglue{%
\futurelet\@let@token\@@inhibitglue}
@@ -6431,8 +6600,8 @@
\def\@@inhibitglue{%
\expandafter\expandafter\expandafter\jsc@inhibitglue\expandafter\meaning\expandafter\@let@token\KANJI@CHARACTER\relax\jsc@end}
\expandafter\def\expandafter\jsc@inhibitglue\expandafter#\expandafter1\KANJI@CHARACTER#2#3\jsc@end{%
- \def\bxjs@ig@temp{#1}%
- \ifx\bxjs@ig@temp\@empty
+ \def\jsc@ig@temp{#1}%
+ \ifx\jsc@ig@temp\@empty
\ifnum\the\inhibitxspcode`#2=2\relax
\inhibitglue
\fi
@@ -6661,7 +6830,7 @@
% \begin{macrocode}
% \newcommand{\appendixname}{\if@english Appendix~\else 付録\fi}
\newcommand{\appendixname}{\if@english \else 付録\fi}
-%<!book&!report>\newcommand{\abstractname}{\if@english Abstract\else 概要\fi}
+%<!book>\newcommand{\abstractname}{\if@english Abstract\else 概要\fi}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -7979,7 +8148,9 @@
%
% |unicode| にしてはいけない。
% \begin{macrocode}
-\bxjs@fix@hyperref@unicode{false}
+\ifbxjs@hyperref@enc
+ \bxjs@fix@hyperref@unicode{false}
+\fi
% \end{macrocode}
%
% |tounicode| special命令を出力する。
@@ -8002,13 +8173,6 @@
\fi
% \end{macrocode}
%
-% \paragraph{microtype対策}
-%
-% \begin{macrocode}
-\@namedef{ver@microtype.sty}{2000/01/01}
-\newcommand*\UseMicrotypeSet[2][]{}
-% \end{macrocode}
-%
% \paragraph{和文数式ファミリ}
%
% 和文数式ファミリは既定で有効とする。
@@ -8064,7 +8228,9 @@
% |bxcjkjatype| 使用時は |unicode| にするべき。
% \Note 取りあえず固定はしない。
% \begin{macrocode}
-\PassOptionsToPackage{unicode}{hyperref}
+\ifbxjs@hyperref@enc
+ \PassOptionsToPackage{unicode}{hyperref}
+\fi
% \end{macrocode}
%
% |\hypersetup| 命令で(|CJK*| 環境に入れなくても)日本語文字を
@@ -8203,7 +8369,9 @@
% \Note 取りあえず固定はしない。
% \begin{macrocode}
\ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99992}>\m@ne
- \PassOptionsToPackage{unicode}{hyperref}
+ \ifbxjs@hyperref@enc
+ \PassOptionsToPackage{unicode}{hyperref}
+ \fi
\fi
% \end{macrocode}
%
@@ -8381,7 +8549,9 @@
%
% |unicode| にするべき。
% \begin{macrocode}
-\bxjs@fix@hyperref@unicode{true}
+\ifbxjs@hyperref@enc
+ \bxjs@fix@hyperref@unicode{true}
+\fi
% \end{macrocode}
%
% \paragraph{共通命令の実装}
@@ -8710,7 +8880,21 @@
% 警告が多すぎなので消す。
%
% \begin{macrocode}
-\PassOptionsToPackage{verbose=silent}{microtype}
+\if j\jsEngine \else
+ \PassOptionsToPackage{verbose=silent}{microtype}
+\fi
+% \end{macrocode}
+%
+% エンジンが{(u)\pLaTeX}のときに |microtype| パッケージが
+% 読み込まれるのを阻止し、さらにテンプレートで使われている命令を
+% 通すためにダミーの定義を行う。
+% \Note 昔はstandardドライバでこの処理を行っていたが、
+% 元来はPandoc用の処理なので、1.5版でpandocに移動。
+% \begin{macrocode}
+\if j\jsEngine
+ \bxjs@mark@as@loaded{microtype.sty}
+ \newcommand*\UseMicrotypeSet[2][]{}
+\fi
% \end{macrocode}
%
%^^A----------------
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
index 19de99c4701..4eb2053daf7 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsarticle}
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
%% このファイルは日本語文字を含みます.
\RequirePackage{calc}
\RequirePackage{keyval}
@@ -481,11 +481,12 @@
\let\bxjs@driver@given\@undefined
\bxjs@dvi@opttrue
\fi}
-\newif\ifbxjs@layout@buggyhmargin \bxjs@layout@buggyhmarginfalse
+\newif\ifbxjs@layout@buggyhmargin
+\newif\ifbxjs@force@chapterabstract
\@namedef{bxjs@kv@layout@v1}{%
- \bxjs@layout@buggyhmargintrue}
+}
\@namedef{bxjs@kv@layout@v2}{%
- \bxjs@layout@buggyhmarginfalse}
+}
\define@key{bxjs}{layout}{%
\bxjs@set@keyval{layout}{#1}{}}
\define@key{bxjs}{textwidth-limit}{%
@@ -496,10 +497,6 @@
\let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue
\let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse
\define@key{bxjs}{whole-zw-lines}{\bxjs@set@keyval{wholezwlines}{#1}{}}
-\newif\ifbxjs@dummy@microtype \bxjs@dummy@microtypetrue
-\let\bxjs@kv@dummymicrotype@true\bxjs@dummy@microtypetrue
-\let\bxjs@kv@dummymicrotype@false\bxjs@dummy@microtypefalse
-\define@key{bxjs}{dummy-microtype}{\bxjs@set@keyval{dummymicrotype}{#1}{}}
\newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse
@@ -910,12 +907,14 @@
\ifx\bxjs@geometry@driver\relax\else
\let\Gm@driver\bxjs@geometry@driver
\fi
- \@tempdimb=\textwidth
- \if@twocolumn \@tempdima=2\Cwd \else \@tempdima=1\Cwd \fi
- \divide\textwidth\@tempdima \multiply\textwidth\@tempdima
- \advance\@tempdimb-\textwidth
- \advance\oddsidemargin 0.5\@tempdimb
- \advance\evensidemargin 0.5\@tempdimb
+ \ifbxjs@whole@zw@lines
+ \@tempdimb=\textwidth
+ \if@twocolumn \@tempdima=2\Cwd \else \@tempdima=1\Cwd \fi
+ \divide\textwidth\@tempdima \multiply\textwidth\@tempdima
+ \advance\@tempdimb-\textwidth
+ \advance\oddsidemargin 0.5\@tempdimb
+ \advance\evensidemargin 0.5\@tempdimb
+ \fi
\fullwidth=\textwidth
\@tempdimb=\textheight
\advance\textheight-\topskip
@@ -930,7 +929,9 @@
\setlength\marginparpush{\baselineskip}
\setlength\marginparwidth{\paperwidth-\oddsidemargin-1truein%
-\textwidth-10\jsc@mmm-\marginparsep}
- \divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
+ \ifbxjs@whole@zw@lines
+ \divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
+ \fi
\maxdepth=.5\topskip
\stockwidth=\paperwidth
\stockheight=\paperheight
@@ -1029,6 +1030,18 @@
\setlength\@dblfptop{0\p@? \@plus 1fil}
\setlength\@dblfpsep{8\p@? \@plus 2fil}
\setlength\@dblfpbot{0\p@? \@plus 1fil}
+\def\pltx@cleartooddpage{\clearpage\if@twoside
+ \ifodd\c@page\else
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\def\pltx@cleartoevenpage{\clearpage\if@twoside
+ \ifodd\c@page
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\let\pltx@cleartorightpage\pltx@cleartooddpage
+\let\pltx@cleartoleftpage\pltx@cleartoevenpage
\def\ps@plainfoot{%
\let\@mkboth\@gobbletwo
\let\@oddhead\@empty
@@ -1412,9 +1425,11 @@
{\normalfont\normalsize\headfont}}
\fi
\newcommand\jsParagraphMark{\jsJaChar{■}}
-\ifx\bxjs@paragraph@mark\@undefined\else
+\ifx\bxjs@paragraph@mark\@empty
+ \let\jsParagraphMark\@empty
+\else\ifx\bxjs@paragraph@mark\@undefined\else
\long\edef\jsParagraphMark{\noexpand\jsJaChar{\bxjs@paragraph@mark}}
-\fi
+\fi\fi
\let\jsJaChar\@empty
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
@@ -1523,7 +1538,8 @@
\begin{center}%
\headfont \abstractname
\@endparpenalty\@M
- \end{center}}%
+ \end{center}%
+ \par}%
{\par\vfil\null\endtitlepage}
\else
\newenvironment{abstract}{%
@@ -1590,7 +1606,7 @@
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
- \setcounter{page}\@ne
+ \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi %% 2017-02-24
}%
{\if@restonecol\twocolumn \else \newpage \fi
\if@twoside\else
@@ -1931,8 +1947,8 @@
\def\@@inhibitglue{%
\expandafter\expandafter\expandafter\jsc@inhibitglue\expandafter\meaning\expandafter\@let@token\KANJI@CHARACTER\relax\jsc@end}
\expandafter\def\expandafter\jsc@inhibitglue\expandafter#\expandafter1\KANJI@CHARACTER#2#3\jsc@end{%
- \def\bxjs@ig@temp{#1}%
- \ifx\bxjs@ig@temp\@empty
+ \def\jsc@ig@temp{#1}%
+ \ifx\jsc@ig@temp\@empty
\ifnum\the\inhibitxspcode`#2=2\relax
\inhibitglue
\fi
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
index 81e6e73e652..d71f669ed9c 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsbook}
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
%% このファイルは日本語文字を含みます.
\RequirePackage{calc}
\RequirePackage{keyval}
@@ -114,6 +114,7 @@
\newif\if@restonecol
\newif\if@titlepage
\newif\if@openright
+\newif\if@openleft
\newif\if@mainmatter \@mainmattertrue
\newif\if@enablejfam \@enablejfamfalse
\def\bxjs@setpaper#1{\def\bxjs@param@paper{#1}}
@@ -198,8 +199,9 @@
\DeclareOption{twocolumn}{\@twocolumntrue}
\DeclareOption{titlepage}{\@titlepagetrue}
\DeclareOption{notitlepage}{\@titlepagefalse}
-\DeclareOption{openright}{\@openrighttrue}
-\DeclareOption{openany}{\@openrightfalse}
+\DeclareOption{openright}{\@openrighttrue\@openleftfalse}
+\DeclareOption{openleft}{\@openlefttrue\@openrightfalse}
+\DeclareOption{openany}{\@openrightfalse\@openleftfalse}
\def\eqnarray{%
\stepcounter{equation}%
\def\@currentlabel{\p@equation\theequation}%
@@ -485,11 +487,15 @@
\let\bxjs@driver@given\@undefined
\bxjs@dvi@opttrue
\fi}
-\newif\ifbxjs@layout@buggyhmargin \bxjs@layout@buggyhmarginfalse
+\newif\ifbxjs@layout@buggyhmargin
+\newif\ifbxjs@force@chapterabstract
+\bxjs@force@chapterabstracttrue
\@namedef{bxjs@kv@layout@v1}{%
- \bxjs@layout@buggyhmargintrue}
+\bxjs@layout@buggyhmargintrue
+}
\@namedef{bxjs@kv@layout@v2}{%
- \bxjs@layout@buggyhmarginfalse}
+\bxjs@layout@buggyhmarginfalse
+}
\define@key{bxjs}{layout}{%
\bxjs@set@keyval{layout}{#1}{}}
\define@key{bxjs}{textwidth-limit}{%
@@ -500,10 +506,6 @@
\let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue
\let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse
\define@key{bxjs}{whole-zw-lines}{\bxjs@set@keyval{wholezwlines}{#1}{}}
-\newif\ifbxjs@dummy@microtype \bxjs@dummy@microtypetrue
-\let\bxjs@kv@dummymicrotype@true\bxjs@dummy@microtypetrue
-\let\bxjs@kv@dummymicrotype@false\bxjs@dummy@microtypefalse
-\define@key{bxjs}{dummy-microtype}{\bxjs@set@keyval{dummymicrotype}{#1}{}}
\newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse
@@ -927,12 +929,14 @@
\ifx\bxjs@geometry@driver\relax\else
\let\Gm@driver\bxjs@geometry@driver
\fi
- \@tempdimb=\textwidth
- \if@twocolumn \@tempdima=2\Cwd \else \@tempdima=1\Cwd \fi
- \divide\textwidth\@tempdima \multiply\textwidth\@tempdima
- \advance\@tempdimb-\textwidth
- \advance\oddsidemargin 0.5\@tempdimb
- \advance\evensidemargin 0.5\@tempdimb
+ \ifbxjs@whole@zw@lines
+ \@tempdimb=\textwidth
+ \if@twocolumn \@tempdima=2\Cwd \else \@tempdima=1\Cwd \fi
+ \divide\textwidth\@tempdima \multiply\textwidth\@tempdima
+ \advance\@tempdimb-\textwidth
+ \advance\oddsidemargin 0.5\@tempdimb
+ \advance\evensidemargin 0.5\@tempdimb
+ \fi
\fullwidth=\textwidth
\ifdim\textwidth>\jsTextWidthLimit\Cwd
\textwidth=\jsTextWidthLimit\Cwd
@@ -951,7 +955,9 @@
\setlength\marginparpush{\baselineskip}
\setlength\marginparwidth{\paperwidth-\oddsidemargin-1truein%
-\textwidth-10\jsc@mmm-\marginparsep}
- \divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
+ \ifbxjs@whole@zw@lines
+ \divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
+ \fi
\maxdepth=.5\topskip
\stockwidth=\paperwidth
\stockheight=\paperheight
@@ -1050,6 +1056,23 @@
\setlength\@dblfptop{0\p@? \@plus 1fil}
\setlength\@dblfpsep{8\p@? \@plus 2fil}
\setlength\@dblfpbot{0\p@? \@plus 1fil}
+\def\pltx@cleartooddpage{\clearpage\if@twoside
+ \ifodd\c@page\else
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\def\pltx@cleartoevenpage{\clearpage\if@twoside
+ \ifodd\c@page
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\let\pltx@cleartorightpage\pltx@cleartooddpage
+\let\pltx@cleartoleftpage\pltx@cleartoevenpage
+\if@openleft
+ \let\cleardoublepage\pltx@cleartoleftpage
+\else\if@openright
+ \let\cleardoublepage\pltx@cleartorightpage
+\fi\fi
\def\ps@plainfoot{%
\let\@mkboth\@gobbletwo
\let\@oddhead\@empty
@@ -1360,31 +1383,30 @@
\theparagraph.\@arabic\c@subparagraph}
\newcommand{\@chapapp}{\prechaptername}
\newcommand{\@chappos}{\postchaptername}
-\newcommand\frontmatter{%
- \if@openright
- \cleardoublepage
- \else
- \clearpage
- \fi
+ \pltx@cleartooddpage
\@mainmatterfalse
\pagenumbering{roman}}
\newcommand\mainmatter{%
- \cleardoublepage
+ \pltx@cleartooddpage
\@mainmattertrue
\pagenumbering{arabic}}
\newcommand\backmatter{%
- \if@openright
+ \if@openleft
+ \cleardoublepage
+ \else\if@openright
\cleardoublepage
\else
\clearpage
- \fi
+ \fi\fi
\@mainmatterfalse}
\newcommand\part{%
- \if@openright
+ \if@openleft
+ \cleardoublepage
+ \else\if@openright
\cleardoublepage
\else
\clearpage
- \fi
+ \fi\fi
\thispagestyle{empty}% 欧文用標準スタイルでは plain
\if@twocolumn
\onecolumn
@@ -1420,17 +1442,18 @@
\@endpart}
\def\@endpart{\vfil\newpage
\if@twoside
- \if@openright %% added (2016/12/13)
- \null
- \thispagestyle{empty}%
- \newpage
- \fi %% added (2016/12/13)
+ \if@openleft %% added (2017/02/24)
+ \null\thispagestyle{empty}\newpage
+ \else\if@openright %% added (2016/12/13)
+ \null\thispagestyle{empty}\newpage
+ \fi\fi %% added (2016/12/13, 2017/02/24)
\fi
\if@restonecol
\twocolumn
\fi}
\newcommand{\chapter}{%
- \if@openright\cleardoublepage\else\clearpage\fi
+ \if@openleft\cleardoublepage\else
+ \if@openright\cleardoublepage\else\clearpage\fi\fi
\plainifnotempty % 元: \thispagestyle{plain}
\global\@topnum\z@
\if@english \@afterindentfalse \else \@afterindenttrue \fi
@@ -1520,9 +1543,11 @@
{\normalfont\normalsize\headfont}}
\fi
\newcommand\jsParagraphMark{\jsJaChar{■}}
-\ifx\bxjs@paragraph@mark\@undefined\else
+\ifx\bxjs@paragraph@mark\@empty
+ \let\jsParagraphMark\@empty
+\else\ifx\bxjs@paragraph@mark\@undefined\else
\long\edef\jsParagraphMark{\noexpand\jsJaChar{\bxjs@paragraph@mark}}
-\fi
+\fi\fi
\let\jsJaChar\@empty
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
@@ -1622,12 +1647,16 @@
\advance \labelwidth by -\labelsep
\let \makelabel=\descriptionlabel}}{\endlist}
\newcommand*\descriptionlabel[1]{\normalfont\headfont #1\hfil}
-\newenvironment{abstract}{%
+\newenvironment{chapterabstract}{%
\begin{list}{}{%
\listparindent=1\jsZw
\itemindent=\listparindent
\rightmargin=\z@
\leftmargin=5\jsZw}\item[]}{\end{list}\vspace{\baselineskip}}
+\ifbxjs@force@chapterabstract
+ \let\abstract\chapterabstract
+ \let\endabstract\endchapterabstract
+\fi
\newenvironment{verse}{%
\let \\=\@centercr
\list{}{%
@@ -1650,14 +1679,14 @@
\def\@opargbegintheorem#1#2#3{\trivlist\labelsep=1\jsZw
\item[\hskip \labelsep{\headfont #1\ #2(#3)}]}
\newenvironment{titlepage}{%
- \cleardoublepage
+ \pltx@cleartooddpage %% 2017-02-24
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
- \setcounter{page}\@ne
+ \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi %% 2017-02-24
}%
{\if@restonecol\twocolumn \else \newpage \fi
\if@twoside\else
@@ -2022,8 +2051,8 @@
\def\@@inhibitglue{%
\expandafter\expandafter\expandafter\jsc@inhibitglue\expandafter\meaning\expandafter\@let@token\KANJI@CHARACTER\relax\jsc@end}
\expandafter\def\expandafter\jsc@inhibitglue\expandafter#\expandafter1\KANJI@CHARACTER#2#3\jsc@end{%
- \def\bxjs@ig@temp{#1}%
- \ifx\bxjs@ig@temp\@empty
+ \def\jsc@ig@temp{#1}%
+ \ifx\jsc@ig@temp\@empty
\ifnum\the\inhibitxspcode`#2=2\relax
\inhibitglue
\fi
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
index cb9c99c5aae..5b917f5103c 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesPackage{bxjscjkcat}
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
\def\bxjx@pkgname{bxjscjkcat}
\newcount\bxjx@cnta
\let\bxjx@engine=n
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
index da4ca8c62c5..d67623a4a3d 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesPackage{bxjscompat}
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
\def\bxac@pkgname{bxjscompat}
\let\bxac@engine=n
\def\bxac@do#1#2{%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
index b2e5e903fe0..8cf0a83a7a2 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-minimal.def}
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
%% このファイルは日本語文字を含みます
\def\DeclareJaTextFontCommand#1#2{%
\DeclareRobustCommand#1[1]{%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
index 3cce4077a9f..bc6a59088ae 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-modern.def}
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
\input{bxjsja-standard.def}
\ifnum0\if x\jsEngine1\fi\if l\jsEngine1\fi=\z@
\def\encodingdefault{T1}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
index 7ae3589d52b..56f662f3022 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-pandoc.def}
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
\input{bxjsja-standard.def}
\@onlypreamble\bxjs@set@dupload@proc
\def\bxjs@set@dupload@proc#1{%
@@ -94,7 +94,13 @@
\if j\jsEngine
\bxjs@mark@as@loaded{cmap.sty}
\fi
-\PassOptionsToPackage{verbose=silent}{microtype}
+\if j\jsEngine \else
+ \PassOptionsToPackage{verbose=silent}{microtype}
+\fi
+\if j\jsEngine
+ \bxjs@mark@as@loaded{microtype.sty}
+ \newcommand*\UseMicrotypeSet[2][]{}
+\fi
\endinput
%%
%% End of file `bxjsja-pandoc.def'.
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
index 83b66207e0c..630e8422472 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-standard.def}
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
%% このファイルは日本語文字を含みます
\input{bxjsja-minimal.def}
\bxjs@simplejasetupfalse
@@ -258,7 +258,9 @@
\closein\@inputcheck
\endgroup}
\@gtempa
-\bxjs@fix@hyperref@unicode{false}
+\ifbxjs@hyperref@enc
+ \bxjs@fix@hyperref@unicode{false}
+\fi
\if \ifx\bxjs@driver@given\bxjs@driver@@dvipdfmx T%
\else\ifjsWithpTeXng T\else F\fi\fi T%
\ifnum\jis"2121="A1A1 %euc
@@ -275,8 +277,6 @@
\fi\fi\fi
\let\bxToUnicodeSpecialDone=t
\fi
-\@namedef{ver@microtype.sty}{2000/01/01}
-\newcommand*\UseMicrotypeSet[2][]{}
\ifx f\bxjs@enablejfam\else
\@enablejfamtrue
\fi
@@ -301,7 +301,9 @@
whole,autotilde]{bxcjkjatype}[2013/10/15]}% v0.2c
\bxjs@nxt
\bxjs@cjk@loaded
-\PassOptionsToPackage{unicode}{hyperref}
+\ifbxjs@hyperref@enc
+ \PassOptionsToPackage{unicode}{hyperref}
+\fi
\ifx\bxcjkjatypeHyperrefPatchDone\@undefined
\begingroup
\CJK@input{UTF8.bdg}
@@ -369,7 +371,9 @@
\bxjs@nxt
\fi
\ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99992}>\m@ne
- \PassOptionsToPackage{unicode}{hyperref}
+ \ifbxjs@hyperref@enc
+ \PassOptionsToPackage{unicode}{hyperref}
+ \fi
\fi
\let\jsInhibitGlueAtParTop\@empty
\newskip\jsKanjiSkip
@@ -447,7 +451,9 @@
luatexja.jfmglue.create_beginpar_node()}}
\let\bxjs@ltj@inhibitglue\@inhibitglue
\let\@@inhibitglue\@undefined
-\bxjs@fix@hyperref@unicode{true}
+\ifbxjs@hyperref@enc
+ \bxjs@fix@hyperref@unicode{true}
+\fi
\protected\def\autospacing{%
\ltjsetparameter{autospacing=true}}
\protected\def\noautospacing{%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
index aa90968f3bf..53db518aef2 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsreport}
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
%% このファイルは日本語文字を含みます.
\RequirePackage{calc}
\RequirePackage{keyval}
@@ -114,6 +114,7 @@
\newif\if@restonecol
\newif\if@titlepage
\newif\if@openright
+\newif\if@openleft
\newif\if@mainmatter \@mainmattertrue
\newif\if@enablejfam \@enablejfamfalse
\def\bxjs@setpaper#1{\def\bxjs@param@paper{#1}}
@@ -198,8 +199,9 @@
\DeclareOption{twocolumn}{\@twocolumntrue}
\DeclareOption{titlepage}{\@titlepagetrue}
\DeclareOption{notitlepage}{\@titlepagefalse}
-\DeclareOption{openright}{\@openrighttrue}
-\DeclareOption{openany}{\@openrightfalse}
+\DeclareOption{openright}{\@openrighttrue\@openleftfalse}
+\DeclareOption{openleft}{\@openlefttrue\@openrightfalse}
+\DeclareOption{openany}{\@openrightfalse\@openleftfalse}
\def\eqnarray{%
\stepcounter{equation}%
\def\@currentlabel{\p@equation\theequation}%
@@ -485,11 +487,15 @@
\let\bxjs@driver@given\@undefined
\bxjs@dvi@opttrue
\fi}
-\newif\ifbxjs@layout@buggyhmargin \bxjs@layout@buggyhmarginfalse
+\newif\ifbxjs@layout@buggyhmargin
+\newif\ifbxjs@force@chapterabstract
+\bxjs@force@chapterabstracttrue
\@namedef{bxjs@kv@layout@v1}{%
- \bxjs@layout@buggyhmargintrue}
+\bxjs@force@chapterabstracttrue
+}
\@namedef{bxjs@kv@layout@v2}{%
- \bxjs@layout@buggyhmarginfalse}
+\bxjs@force@chapterabstractfalse
+}
\define@key{bxjs}{layout}{%
\bxjs@set@keyval{layout}{#1}{}}
\define@key{bxjs}{textwidth-limit}{%
@@ -500,10 +506,6 @@
\let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue
\let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse
\define@key{bxjs}{whole-zw-lines}{\bxjs@set@keyval{wholezwlines}{#1}{}}
-\newif\ifbxjs@dummy@microtype \bxjs@dummy@microtypetrue
-\let\bxjs@kv@dummymicrotype@true\bxjs@dummy@microtypetrue
-\let\bxjs@kv@dummymicrotype@false\bxjs@dummy@microtypefalse
-\define@key{bxjs}{dummy-microtype}{\bxjs@set@keyval{dummymicrotype}{#1}{}}
\newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse
@@ -914,12 +916,14 @@
\ifx\bxjs@geometry@driver\relax\else
\let\Gm@driver\bxjs@geometry@driver
\fi
- \@tempdimb=\textwidth
- \if@twocolumn \@tempdima=2\Cwd \else \@tempdima=1\Cwd \fi
- \divide\textwidth\@tempdima \multiply\textwidth\@tempdima
- \advance\@tempdimb-\textwidth
- \advance\oddsidemargin 0.5\@tempdimb
- \advance\evensidemargin 0.5\@tempdimb
+ \ifbxjs@whole@zw@lines
+ \@tempdimb=\textwidth
+ \if@twocolumn \@tempdima=2\Cwd \else \@tempdima=1\Cwd \fi
+ \divide\textwidth\@tempdima \multiply\textwidth\@tempdima
+ \advance\@tempdimb-\textwidth
+ \advance\oddsidemargin 0.5\@tempdimb
+ \advance\evensidemargin 0.5\@tempdimb
+ \fi
\fullwidth=\textwidth
\@tempdimb=\textheight
\advance\textheight-\topskip
@@ -934,7 +938,9 @@
\setlength\marginparpush{\baselineskip}
\setlength\marginparwidth{\paperwidth-\oddsidemargin-1truein%
-\textwidth-10\jsc@mmm-\marginparsep}
- \divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
+ \ifbxjs@whole@zw@lines
+ \divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
+ \fi
\maxdepth=.5\topskip
\stockwidth=\paperwidth
\stockheight=\paperheight
@@ -1033,6 +1039,23 @@
\setlength\@dblfptop{0\p@? \@plus 1fil}
\setlength\@dblfpsep{8\p@? \@plus 2fil}
\setlength\@dblfpbot{0\p@? \@plus 1fil}
+\def\pltx@cleartooddpage{\clearpage\if@twoside
+ \ifodd\c@page\else
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\def\pltx@cleartoevenpage{\clearpage\if@twoside
+ \ifodd\c@page
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\let\pltx@cleartorightpage\pltx@cleartooddpage
+\let\pltx@cleartoleftpage\pltx@cleartoevenpage
+\if@openleft
+ \let\cleardoublepage\pltx@cleartoleftpage
+\else\if@openright
+ \let\cleardoublepage\pltx@cleartorightpage
+\fi\fi
\def\ps@plainfoot{%
\let\@mkboth\@gobbletwo
\let\@oddhead\@empty
@@ -1343,31 +1366,30 @@
\theparagraph.\@arabic\c@subparagraph}
\newcommand{\@chapapp}{\prechaptername}
\newcommand{\@chappos}{\postchaptername}
-\newcommand\frontmatter{%
- \if@openright
- \cleardoublepage
- \else
- \clearpage
- \fi
+ \pltx@cleartooddpage
\@mainmatterfalse
\pagenumbering{roman}}
\newcommand\mainmatter{%
- \cleardoublepage
+ \pltx@cleartooddpage
\@mainmattertrue
\pagenumbering{arabic}}
\newcommand\backmatter{%
- \if@openright
+ \if@openleft
+ \cleardoublepage
+ \else\if@openright
\cleardoublepage
\else
\clearpage
- \fi
+ \fi\fi
\@mainmatterfalse}
\newcommand\part{%
- \if@openright
+ \if@openleft
+ \cleardoublepage
+ \else\if@openright
\cleardoublepage
\else
\clearpage
- \fi
+ \fi\fi
\thispagestyle{empty}% 欧文用標準スタイルでは plain
\if@twocolumn
\onecolumn
@@ -1403,17 +1425,18 @@
\@endpart}
\def\@endpart{\vfil\newpage
\if@twoside
- \if@openright %% added (2016/12/13)
- \null
- \thispagestyle{empty}%
- \newpage
- \fi %% added (2016/12/13)
+ \if@openleft %% added (2017/02/24)
+ \null\thispagestyle{empty}\newpage
+ \else\if@openright %% added (2016/12/13)
+ \null\thispagestyle{empty}\newpage
+ \fi\fi %% added (2016/12/13, 2017/02/24)
\fi
\if@restonecol
\twocolumn
\fi}
\newcommand{\chapter}{%
- \if@openright\cleardoublepage\else\clearpage\fi
+ \if@openleft\cleardoublepage\else
+ \if@openright\cleardoublepage\else\clearpage\fi\fi
\plainifnotempty % 元: \thispagestyle{plain}
\global\@topnum\z@
\if@english \@afterindentfalse \else \@afterindenttrue \fi
@@ -1503,9 +1526,11 @@
{\normalfont\normalsize\headfont}}
\fi
\newcommand\jsParagraphMark{\jsJaChar{■}}
-\ifx\bxjs@paragraph@mark\@undefined\else
+\ifx\bxjs@paragraph@mark\@empty
+ \let\jsParagraphMark\@empty
+\else\ifx\bxjs@paragraph@mark\@undefined\else
\long\edef\jsParagraphMark{\noexpand\jsJaChar{\bxjs@paragraph@mark}}
-\fi
+\fi\fi
\let\jsJaChar\@empty
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
@@ -1605,12 +1630,65 @@
\advance \labelwidth by -\labelsep
\let \makelabel=\descriptionlabel}}{\endlist}
\newcommand*\descriptionlabel[1]{\normalfont\headfont #1\hfil}
-\newenvironment{abstract}{%
+\newenvironment{chapterabstract}{%
\begin{list}{}{%
\listparindent=1\jsZw
\itemindent=\listparindent
\rightmargin=\z@
\leftmargin=5\jsZw}\item[]}{\end{list}\vspace{\baselineskip}}
+\newbox\@abstractbox
+\if@titlepage
+ \newenvironment{abstract}{%
+ \titlepage
+ \null\vfil
+ \@beginparpenalty\@lowpenalty
+ \begin{center}%
+ \headfont \abstractname
+ \@endparpenalty\@M
+ \end{center}%
+ \par}%
+ {\par\vfil\null\endtitlepage}
+\else
+ \newenvironment{abstract}{%
+ \if@twocolumn
+ \ifx\maketitle\relax
+ \section*{\abstractname}%
+ \else
+ \global\setbox\@abstractbox\hbox\bgroup
+ \begin{minipage}[b]{\textwidth}
+ \small\parindent1\jsZw
+ \begin{center}%
+ {\headfont \abstractname\vspace{-.5em}\vspace{\z@}}%
+ \end{center}%
+ \list{}{%
+ \listparindent\parindent
+ \itemindent \listparindent
+ \rightmargin \leftmargin}%
+ \item\relax
+ \fi
+ \else
+ \small
+ \begin{center}%
+ {\headfont \abstractname\vspace{-.5em}\vspace{\z@}}%
+ \end{center}%
+ \list{}{%
+ \listparindent\parindent
+ \itemindent \listparindent
+ \rightmargin \leftmargin}%
+ \item\relax
+ \fi}{\if@twocolumn
+ \ifx\maketitle\relax
+ \else
+ \endlist\end{minipage}\egroup
+ \fi
+ \else
+ \endlist
+ \fi}
+\fi
+\ifbxjs@force@chapterabstract
+ \let\abstract\chapterabstract
+ \let\endabstract\endchapterabstract
+\fi
\newenvironment{verse}{%
\let \\=\@centercr
\list{}{%
@@ -1633,14 +1711,13 @@
\def\@opargbegintheorem#1#2#3{\trivlist\labelsep=1\jsZw
\item[\hskip \labelsep{\headfont #1\ #2(#3)}]}
\newenvironment{titlepage}{%
- \cleardoublepage
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
- \setcounter{page}\@ne
+ \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi %% 2017-02-24
}%
{\if@restonecol\twocolumn \else \newpage \fi
\if@twoside\else
@@ -2005,8 +2082,8 @@
\def\@@inhibitglue{%
\expandafter\expandafter\expandafter\jsc@inhibitglue\expandafter\meaning\expandafter\@let@token\KANJI@CHARACTER\relax\jsc@end}
\expandafter\def\expandafter\jsc@inhibitglue\expandafter#\expandafter1\KANJI@CHARACTER#2#3\jsc@end{%
- \def\bxjs@ig@temp{#1}%
- \ifx\bxjs@ig@temp\@empty
+ \def\jsc@ig@temp{#1}%
+ \ifx\jsc@ig@temp\@empty
\ifnum\the\inhibitxspcode`#2=2\relax
\inhibitglue
\fi
@@ -2125,6 +2202,7 @@
\newcommand{\figurename}{\if@english Fig.~\else 図\fi}
\newcommand{\tablename}{\if@english Table~\else 表\fi}
\newcommand{\appendixname}{\if@english \else 付録\fi}
+\newcommand{\abstractname}{\if@english Abstract\else 概要\fi}
\@tempswafalse
\if p\jsEngine \@tempswatrue \fi
\if n\jsEngine \@tempswatrue \fi
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
index 79921c50550..d91a1e746d4 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsslide}
- [2017/02/03 v1.4 BXJS document classes]
+ [2017/03/11 v1.5 BXJS document classes]
%% このファイルは日本語文字を含みます.
\RequirePackage{calc}
\RequirePackage{keyval}
@@ -481,11 +481,12 @@
\let\bxjs@driver@given\@undefined
\bxjs@dvi@opttrue
\fi}
-\newif\ifbxjs@layout@buggyhmargin \bxjs@layout@buggyhmarginfalse
+\newif\ifbxjs@layout@buggyhmargin
+\newif\ifbxjs@force@chapterabstract
\@namedef{bxjs@kv@layout@v1}{%
- \bxjs@layout@buggyhmargintrue}
+}
\@namedef{bxjs@kv@layout@v2}{%
- \bxjs@layout@buggyhmarginfalse}
+}
\define@key{bxjs}{layout}{%
\bxjs@set@keyval{layout}{#1}{}}
\define@key{bxjs}{textwidth-limit}{%
@@ -496,10 +497,6 @@
\let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue
\let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse
\define@key{bxjs}{whole-zw-lines}{\bxjs@set@keyval{wholezwlines}{#1}{}}
-\newif\ifbxjs@dummy@microtype \bxjs@dummy@microtypetrue
-\let\bxjs@kv@dummymicrotype@true\bxjs@dummy@microtypetrue
-\let\bxjs@kv@dummymicrotype@false\bxjs@dummy@microtypefalse
-\define@key{bxjs}{dummy-microtype}{\bxjs@set@keyval{dummymicrotype}{#1}{}}
\newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse
@@ -908,12 +905,14 @@
\ifx\bxjs@geometry@driver\relax\else
\let\Gm@driver\bxjs@geometry@driver
\fi
- \@tempdimb=\textwidth
- \if@twocolumn \@tempdima=2\Cwd \else \@tempdima=1\Cwd \fi
- \divide\textwidth\@tempdima \multiply\textwidth\@tempdima
- \advance\@tempdimb-\textwidth
- \advance\oddsidemargin 0.5\@tempdimb
- \advance\evensidemargin 0.5\@tempdimb
+ \ifbxjs@whole@zw@lines
+ \@tempdimb=\textwidth
+ \if@twocolumn \@tempdima=2\Cwd \else \@tempdima=1\Cwd \fi
+ \divide\textwidth\@tempdima \multiply\textwidth\@tempdima
+ \advance\@tempdimb-\textwidth
+ \advance\oddsidemargin 0.5\@tempdimb
+ \advance\evensidemargin 0.5\@tempdimb
+ \fi
\fullwidth=\textwidth
\@tempdimb=\textheight
\advance\textheight-\topskip
@@ -928,7 +927,9 @@
\setlength\marginparpush{\baselineskip}
\setlength\marginparwidth{\paperwidth-\oddsidemargin-1truein%
-\textwidth-10\jsc@mmm-\marginparsep}
- \divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
+ \ifbxjs@whole@zw@lines
+ \divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
+ \fi
\maxdepth=.5\topskip
\stockwidth=\paperwidth
\stockheight=\paperheight
@@ -1027,6 +1028,18 @@
\setlength\@dblfptop{0\p@? \@plus 1fil}
\setlength\@dblfpsep{8\p@? \@plus 2fil}
\setlength\@dblfpbot{0\p@? \@plus 1fil}
+\def\pltx@cleartooddpage{\clearpage\if@twoside
+ \ifodd\c@page\else
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\def\pltx@cleartoevenpage{\clearpage\if@twoside
+ \ifodd\c@page
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\let\pltx@cleartorightpage\pltx@cleartooddpage
+\let\pltx@cleartoleftpage\pltx@cleartoevenpage
\def\ps@plainfoot{%
\let\@mkboth\@gobbletwo
\let\@oddhead\@empty
@@ -1410,9 +1423,11 @@
{\normalfont\normalsize\headfont}}
\fi
\newcommand\jsParagraphMark{\jsJaChar{■}}
-\ifx\bxjs@paragraph@mark\@undefined\else
+\ifx\bxjs@paragraph@mark\@empty
+ \let\jsParagraphMark\@empty
+\else\ifx\bxjs@paragraph@mark\@undefined\else
\long\edef\jsParagraphMark{\noexpand\jsJaChar{\bxjs@paragraph@mark}}
-\fi
+\fi\fi
\let\jsJaChar\@empty
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
@@ -1521,7 +1536,8 @@
\begin{center}%
\headfont \abstractname
\@endparpenalty\@M
- \end{center}}%
+ \end{center}%
+ \par}%
{\par\vfil\null\endtitlepage}
\else
\newenvironment{abstract}{%
@@ -1588,7 +1604,7 @@
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
- \setcounter{page}\@ne
+ \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi %% 2017-02-24
}%
{\if@restonecol\twocolumn \else \newpage \fi
\if@twoside\else
@@ -1929,8 +1945,8 @@
\def\@@inhibitglue{%
\expandafter\expandafter\expandafter\jsc@inhibitglue\expandafter\meaning\expandafter\@let@token\KANJI@CHARACTER\relax\jsc@end}
\expandafter\def\expandafter\jsc@inhibitglue\expandafter#\expandafter1\KANJI@CHARACTER#2#3\jsc@end{%
- \def\bxjs@ig@temp{#1}%
- \ifx\bxjs@ig@temp\@empty
+ \def\jsc@ig@temp{#1}%
+ \ifx\jsc@ig@temp\@empty
\ifnum\the\inhibitxspcode`#2=2\relax
\inhibitglue
\fi