diff options
author | Karl Berry <karl@freefriends.org> | 2017-03-11 23:08:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-03-11 23:08:46 +0000 |
commit | 31fa4a2461c0ff5efe56ef940af61052b14874ef (patch) | |
tree | 3fe6981d30ae8b791d6c84b1c2203ce0b3989965 | |
parent | b5e666f616a45300c2cfe93175f3f02b94ed3f70 (diff) |
bxjscls (11mar17)
git-svn-id: svn://tug.org/texlive/trunk@43467 c570f23f-e606-0410-a88d-b1316a301751
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 Binary files differindex 6efa12122db..a272112f435 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf +++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf 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 Binary files differindex 81499ed32cb..814e1938e8f 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf +++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf 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 |