summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
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 /Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
parentb5e666f616a45300c2cfe93175f3f02b94ed3f70 (diff)
bxjscls (11mar17)
git-svn-id: svn://tug.org/texlive/trunk@43467 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx')
-rw-r--r--Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx354
1 files changed, 269 insertions, 85 deletions
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----------------