summaryrefslogtreecommitdiff
path: root/language/japanese
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-01-30 03:00:44 +0000
committerNorbert Preining <norbert@preining.info>2024-01-30 03:00:44 +0000
commit084f5d8435744b7ea7ef487ec111a7bfd100ed62 (patch)
treed4e91f6ef6d075509a2b33942f57337725089951 /language/japanese
parent6c43653052d016d5913aabb728c484f0e62b4754 (diff)
CTAN sync 202401300300
Diffstat (limited to 'language/japanese')
-rw-r--r--language/japanese/BX/bxjscls/LICENSE2
-rw-r--r--language/japanese/BX/bxjscls/README-ja.md5
-rw-r--r--language/japanese/BX/bxjscls/README.md2
-rw-r--r--language/japanese/BX/bxjscls/bxjscls-manual.pdfbin397614 -> 407611 bytes
-rw-r--r--language/japanese/BX/bxjscls/bxjscls-manual.tex272
-rw-r--r--language/japanese/BX/bxjscls/bxjscls.dtx776
-rw-r--r--language/japanese/BX/bxjscls/bxjscls.pdfbin880781 -> 884432 bytes
7 files changed, 632 insertions, 425 deletions
diff --git a/language/japanese/BX/bxjscls/LICENSE b/language/japanese/BX/bxjscls/LICENSE
index 56cb62927a..f3f3f80f7e 100644
--- a/language/japanese/BX/bxjscls/LICENSE
+++ b/language/japanese/BX/bxjscls/LICENSE
@@ -3,7 +3,7 @@ The BSD 2-Clause License
Copyright 1995-1999 ASCII Corporation.
Copyright 1999-2016 Haruhiko Okumura
Copyright 2016-2023 Japanese TeX Development Community
-Copyright 2013-2023 Takayuki YATO (aka. "ZR")
+Copyright 2013-2024 Takayuki YATO (aka. "ZR")
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/language/japanese/BX/bxjscls/README-ja.md b/language/japanese/BX/bxjscls/README-ja.md
index f0767616f6..1b91f19f95 100644
--- a/language/japanese/BX/bxjscls/README-ja.md
+++ b/language/japanese/BX/bxjscls/README-ja.md
@@ -111,6 +111,11 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使
更新履歴
--------
+ * Version 2.9b 〈2024/01/22〉
+ - bm パッケージとの併用で起こる不具合を回避した。
+ * Version 2.9a 〈2023/08/02〉
+ - 一部の standard ドライバの機能(`\jQ` 等)を本体に移動。
+ - バグ修正。
* Version 2.9 〈2023/07/17〉
- LaTeX の未使用グローバルオプション検査を稼働するようにした。
- 和文パラメタ指定の代替表記(`ja:`)をサポートした。
diff --git a/language/japanese/BX/bxjscls/README.md b/language/japanese/BX/bxjscls/README.md
index 39e1cdab42..b42534e38c 100644
--- a/language/japanese/BX/bxjscls/README.md
+++ b/language/japanese/BX/bxjscls/README.md
@@ -102,6 +102,8 @@ This package is distributed under the BSD 2-Clause License.
Revision History
----------------
+ * Version 2.9b 〈2024/01/22〉
+ * Version 2.9a 〈2023/08/02〉
* Version 2.9 〈2023/07/17〉
* Version 2.8b 〈2023/07/01〉
* Version 2.8a 〈2023/06/20〉
diff --git a/language/japanese/BX/bxjscls/bxjscls-manual.pdf b/language/japanese/BX/bxjscls/bxjscls-manual.pdf
index b7905c84af..29812903d4 100644
--- a/language/japanese/BX/bxjscls/bxjscls-manual.pdf
+++ b/language/japanese/BX/bxjscls/bxjscls-manual.pdf
Binary files differ
diff --git a/language/japanese/BX/bxjscls/bxjscls-manual.tex b/language/japanese/BX/bxjscls/bxjscls-manual.tex
index 33f0cb700e..aee9ffd06b 100644
--- a/language/japanese/BX/bxjscls/bxjscls-manual.tex
+++ b/language/japanese/BX/bxjscls/bxjscls-manual.tex
@@ -12,8 +12,8 @@
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{2.9}
-\newcommand{\PkgDate}{2023/07/17}
+\newcommand{\PkgVersion}{2.9b}
+\newcommand{\PkgDate}{2024/01/22}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}\nobr#1\nobr\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
@@ -67,7 +67,7 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが
以下の点で改良が加えられている。
\begin{itemize}
\item JSクラスは{\pLaTeX}と{\upLaTeX}のみをサポートするが、
- BXJSクラスはこれらに加えて{\pdfLaTeX}と{\XeLaTeX}と{\LuaLaTeX}を
+ BXJSクラスはこれらに加えて{(pdf)\LaTeX}と{\XeLaTeX}と{\LuaLaTeX}を
サポートしており主要エンジンの全てで使用可能である。
\item (u){\pLaTeX}以外では各々のエンジンの日本語処理パッケージを
利用するが、“標準設定”を用いることで、それらのパッケージの
@@ -129,7 +129,8 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが
\end{itemize}
\end{itemize}
-{\XeLaTeX}で\Pkg{bxjsarticle}クラスを用いた文書の例を示す。
+{\XeLaTeX}で\Pkg{bxjsarticle}クラスを用いた
+完全な文書ソースの例を示す。
\footnote{組版結果における日付の出力はJSクラスと同様の
「2015年7月3日」の形式になる。}%
@@ -221,7 +222,7 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが
\end{verbatim}\end{quote}
その値が\Pkg{bxcjkjatype}のフォントプリセットになる。
\begin{quote}\small\begin{verbatim}
-\documentclass[a4paper]{article}
+\documentclass[a4paper]{article}%ただしレイアウトはjsarticle相当
\usepackage[whole,autotilde,ipaex]{bxcjkjatype}
\end{verbatim}\end{quote}
@@ -459,6 +460,7 @@ Pandocモードを使う場合はクラスオプションを以下のように
BXJSクラスを用いる場合のPandocの設定について、以下で例を示す。
\Note なお、以下の記述はPandoc 2.x版に従う。
+(3,x版でも通用すると思われる。)
Pandocのオプション体系は2.x版と1.x版とでかなり異なることに
注意されたい。
@@ -473,8 +475,7 @@ Pandocのオプション体系は2.x版と1.x版とでかなり異なること
この場合のコマンド行は次のようになる:
\footnote{もちろん、実際には改行を含めず1行で書く。
- なお、日本語文書の場合、変換先書式(|-t|)は |latex|
- でなく |lates-smart|(|smart| 機能を無効化)とすべきである。}
+ 以降の例でも同様。}
\begin{quote}
|pandoc| \Meta{入力ファイル名}\
|-o| \Meta{出力ファイル名}|.pdf|
@@ -492,6 +493,14 @@ Pandocのオプション体系は2.x版と1.x版とでかなり異なること
|\documentclass[a4paper,jafont=ipaex,pandoc]{bxjsarticle}|
\end{quote}
+\Note 注意事項:
+ \begin{itemize}
+ \item Pandocの |latex| 出力の |smart| 機能は
+ 普通の日本語文書においては悪影響を及ぼすので、
+ 変換先書式(|-t|)の値は |latex|
+ でなく |latex-smart|(|smart| 機能を無効化)とすべきである。
+ \end{itemize}
+
\paragraph{bxjsbookの例}
以下の設定で\Pkg{bxjsbook}クラスを使用したい。
@@ -527,6 +536,14 @@ Pandocのオプション体系は2.x版と1.x版とでかなり異なること
\item \Pkg{bxjsbook}クラスは「章(|\chapter|)」をもつクラスなので、
Pandocで |--top-level-division=|\linebreak[0]|chapter| の指定
が必要。
+ \item 既定テンプレート使用時は、|papersize=~| の指定は
+ 「クラスオプションに |~paper| を指定する」
+ という形で反映される。
+ BXJSクラスでは |b~paper| はJISのB列を表すので、
+ |papersize=b5| でJIS~B5判に設定される。
+ 出力形式を{\LaTeX}以外にする(あるいは他の文書クラスを利用する)
+ 場合は |papersize=b5| でISO~B5判に設定される可能性が
+ あることに注意。
\end{itemize}
\paragraph{(u)\pLaTeX の使用}
@@ -614,14 +631,19 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
の指定は必須である。
\footnote{ただし現状では、ドライバオプションが無い場合には
エラーではなく警告が出る。}
-\item |nodvidriver|\Means
+\item |nodvidriver|/|class-nodvidriver|\Means
特殊なドライバオプションの一種で、BXJSクラスが持つ
ドライバ依存の機能を全て抑止することを指定する。
\footnote{従って、別にドライバ依存の機能を使用しなければ、
出力されるDVIファイルは特定のDVIウェアに依存しないものになる。
ただし最近の{\LaTeX}カーネルはそれ自身がドライバ依存をもつ
ことに注意。}
-\item |dvi=|\Meta{ドライバ名}\Means
+ \Note BXJSクラス内では |nodvidriver| と |class-nodvidriver| は
+ 等価であるが、「何がグローバルオプションにあるか」という観点で
+ 両者は異なる。
+ 現状で |nodvidriver| オプションを認識するパッケージがあり、
+ |nodvidriver| の方はそれらのパッケージについても有効になる。
+\item |dvi=|\Meta{ドライバオプション名}\Means
エンジンがDVI出力の場合に限り、指定のドライバオプションを
有効にする。
\footnote{実際にドライバオプションが有効化された場合は、
@@ -659,7 +681,7 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
\item |jafont=|\Meta{名前}\Means
「和文フォントプリセット指定」の名前を設定する。
既定値は空。
- \Note 詳細は\ref{ssec:ja-font-settings}節を参照。
+ \Note 詳細については\ref{ssec:ja-font-settings}節を参照。
\par
プリセット指定の値が丸括弧を含む(例えば“|sourcehan(-otc)|”)場合、
以下のように解釈される。
@@ -672,7 +694,7 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
\item |japaram={|\Meta{キー}|=|\Meta{値}|,...}|\Means
「和文ドライバパラメタ」の値を設定する。
既定値は空。
- \Note 詳細は\ref{sec:Ja-Driver-Param}節を参照。
+ \Note 詳細については\ref{sec:Ja-Driver-Param}節を参照。
\Note |japaram| を複数回指定した場合は各々の指定内容
(キーと値の組の列)が累積する。
\Note |jafont| と |japaram| の値がどのように解釈されるかは
@@ -695,7 +717,7 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
基底フォントサイズに14\,ptを設定する。
\item |jbase=|\Meta{長さ\xast}\Means
和文を基準にして基底フォントサイズを指定する。
- すなわち和文フォントの |\normalsize| のサイズを指定の長さとする。
+ すなわち、和文フォントの |\normalsize| のサイズを指定の長さとする。
\footnote{この場合に決定されるmag値は和文スケール値にも依存する
ことに注意。}
\Note 1.8版から、|base| と |jbase| の両方の指定が可能になった。
@@ -765,7 +787,7 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
エンジンや和文ドライバの種類により、
既定値が有効・無効の何れになるかは異なり、また、
そもそも有効・無効の一方しか選択できない場合もある。
- 詳細については\ref{sec:Ja-math-fonts}節を参照されたい。
+ \Note 詳細については\ref{sec:Ja-math-fonts}節を参照。
\item |textwidth=|\Meta{長さ}\Means
行長(本文領域の横幅;|\textwidth|)を指定する。
\Note 実際には全角の整数倍に丸めた値が使われる
@@ -784,7 +806,7 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
\item |number-of-lines=|\Meta{整数}\Means
1ページあたりの行数を指定する。
\Pkg{geometry}で |lines| を指定したのと同値。
- 既定では |lines| を指定しない。
+ 既定では\Pkg{geometry}の |lines| は指定されない。
\end{itemize}
\paragraph{上級者向けのオプション}\mbox{}
@@ -841,7 +863,7 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
\item |magstyle=|\Meta{値}\Means
“版面拡大”の実現方法を指定する。
有効な値は |usemag|、|nomag|、|nomag*| の何れか。
- 詳細は\ref{ssec:magstyle}節を参照。
+ \Note 詳細については\ref{ssec:magstyle}節を参照。
\item |geometry=|\Meta{値}\Means
\Pkg{geometry}パッケージの読込に対する制御。
\begin{itemize}
@@ -864,7 +886,7 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
|\bf| 等の“二文字フォント命令”の使用を許容する。
\item |nooldfontcommands|(既定)\Means
“二文字フォント命令”の使用に対して警告を出す。
- 詳細については\ref{sec:Old-font-commands}節を参照されたい。
+ \Note 詳細については\ref{sec:Old-font-commands}節を参照。
\item |fancyhdr=|\Meta{真偽値}\Means
\Pkg{fancyhdr}パッケージの機能に対する補正を行うか。
真の場合、以下の補正が行われる。既定値は真。
@@ -888,11 +910,11 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
を行うか否か。
既定値は真。
\item |jaspace-cmd=|\Meta{真偽値}\Means
- 以下に挙げる和文空白命令を定義するか否か。
- (詳しくは\ref{ssec:ja-settings}節を参照。)
+ 以下に挙げる和文空白命令
+ (\ref{ssec:ja-settings}節を参照)を定義するか否か。
\begin{quote}
|\jaenspace|、|\jathinspace|、|\>|、
- |\|\JSS(|\|\,+\,全角空白)
+ |\|\JSS(|\|\,+\,全角空白)、|\jaspace|
\end{quote}
既定値は真。
\item |fix-at-cmd=|\Meta{真偽値}\Means
@@ -1186,7 +1208,7 @@ keyval形式(例えば|magstyle=nomag*|)で書くこともできる。}
当然、NFSSのパッチのせいで別の不具合が起こる可能性はある。
\end{itemize}
-\Note Lua{\TeX}の0.87版以降では(PDF出力時の)「mag設定」の機能が
+\Note Lua{\TeX}の0.87版以降では「PDF出力時のmag設定」の機能が
廃止されている。
そのため、そのようなエンジンでは |usemag| はサポートされない
(エラーになる)。
@@ -1225,10 +1247,10 @@ BXJSクラスでは様々なエンジンについて、そのエンジンおよ
\item pandoc和文ドライバ\Means
「Pandocモード」で使用される和文ドライバ。
standardドライバの機能を継承するが、
-「Pandocの既定のlatexテンプレート」が使われることを前提として、
+「Pandocの既定の |latex| テンプレート」が使われることを前提として、
それとBXJSの設定を整合させるための措置を加えている。
\Note 本マニュアルで「standard和文ドライバの場合」という場合、
-特に明示がない限りはpandoc和文ドライバも含まれる。
+特に明示されない限りはpandoc和文ドライバも含まれる。
\end{itemize}
和文ドライバは自分で作製することも可能である。
@@ -1242,22 +1264,19 @@ standardドライバの機能を継承するが、
)の名前のファイルに実装コードを書いてそのファイルを配置すると、
|ja=XXX| のオプション指定でその和文ドライバを利用できる。
-なお、和文ドライバ指定(|ja| オプション)の既定値は |minimal|
-である。
-現実には、ほとんど全ての場合に |standard| が用いられると思われるが、
-種々の理由があって、これを既定値にはしていない。
+なお、和文ドライバの指定(|ja| オプション)は\jemph{必須}である。
+現状では |minimal| が既定値となっているが、
+2.0版より省略は\jemph{非推奨}の扱いであり、
+% (既に1.8版で明示指定が推奨されていた。)
+3.0版で\jemph{禁止}される予定である。
\Note ただし、(u){\pLaTeX}については、日本語処理機能がエンジン自体に
-備わっていて不可分なため少し異なる扱いになっている。
+備わっていて不可分なため例外的な扱いになっていて、
\footnote{JSクラスの実装から分離した「日本語処理関連」のコードを
minimalに配置している。}%
-|minimal| を用いる意義がほとんどないため、
+和文ドライバ指定は省略可能で %
|standard| が既定値になっている。
-\Note 2.0版より、(u){\pLaTeX}以外のエンジンについては、
-和文ドライバ指定を省略することは非推奨の扱いとなった。
-(既に1.8版で明示指定が推奨されていた。)
-
%-------------------
\subsection{standardドライバで用いられる日本語処理機構}
\label{ssec:ja-package}
@@ -1266,7 +1285,7 @@ minimalに配置している。}%
\item \pLaTeX、\upLaTeX(および{\pLaTeX-ng})の場合\Means
エンジン自体が日本語処理の能力を持っているので
それが常に用いられる。
-\item \pdfLaTeX{}の場合\Means
+\item (pdf){\LaTeX}の場合\Means
\Pkg{bxcjkjatype}パッケージが |whole| と |autotilde| の
オプション付で読み込まれる。
\item \XeLaTeX{}の場合\Means
@@ -1288,50 +1307,49 @@ minimalに配置している。}%
明朝・ゴシックのファミリとして用いられる物理フォントの
割当(マッピング)は以下のようになる:
\begin{itemize}
-\item \pLaTeX、\upLaTeX{}\Means
+\item \pLaTeX、{\upLaTeX}の場合\Means
クラスでは何もマッピングを設定しない。
従って、DVIウェアでの設定が適用される。
-\item \pdfLaTeX\Means
+\item pdf{\LaTeX}の場合\Means
\Pkg{bxcjkjatype}パッケージの既定設定となり、
従って、Type1形式のIPAexフォント(\Pkg{ipaex-type1}で提供される)
が使用される。
-\item \XeLaTeX\Means
+\item \XeLaTeX{}の場合\Means
「原ノ味フォント」が使用される。
\Pkg{zxjafont}パッケージの |haranoaji| プリセットの
単ウェイト使用と同等であるが、パッケージが読み込まれるわけではない。
-\item \LuaLaTeX\Means
+\item \LuaLaTeX{}の場合\Means
「原ノ味フォント」が使用される。
\Pkg{luatexja-preset}パッケージの |haranoaji| プリセットの
単ウェイト使用と同等であるが、パッケージが読み込まれるわけではない。
\end{itemize}
-\Note {\TeX} Live 2019(およびその前の数年間)では、DVIウェアにおける
-和文フォントマッピングの既定設定は「IPAexフォント」であった。
-(つまり、(u){\pLaTeX}では既定で「IPAexフォント」が使われる。)
-これに合わせる形で、{\XeLaTeX}・{\LuaLaTeX}での既定設定も、
-以前は「IPAexフォント」としていた。
-ところが、{\TeX} Live 2020において、DVIウェアの既定のマッピングが
+\Note DVIウェアにおける既定の和文フォントマッピング
+(すなわち(u){\pLaTeX}における既定の和文フォント)
+の設定は、昔は「IPAexフォント」であったが
+{\TeX} Live 2020において
「原ノ味フォント」に変更された。
-従って、{\XeLaTeX}・{\LuaLaTeX}での既定設定についても、
+これに追随する形で、
+BXJSクラスの{\XeLaTeX}・{\LuaLaTeX}での既定設定についても、
2.0版より「原ノ味フォント」に変更された。
ただしType1形式の原ノ味フォントは存在しないため、
-{\pdfLaTeX}では\Pkg{ipaex-type1}のフォントが引き続き使用される。
+(pdf){\LaTeX}では\Pkg{ipaex-type1}のフォントが引き続き使用される。
\par\medskip
和文フォントプリセット(|jafont|)を指定した場合、
具体的には以下のように処理される:
\begin{itemize}
-\item \pLaTeX、\upLaTeX\Means
- \Pkg{pxchfon}パッケージが「|jafont| の値」をオプション
- に指定した形で読み込まれる。
-\item \pdfLaTeX\Means
- \Pkg{bxcjkjatype}のオプションに「|jafont| の値」が指定される。
-\item \XeLaTeX\Means
- \Pkg{zxjafont}パッケージが「|jafont| の値」をオプション
- に指定した形で読み込まれる。
-\item \LuaLaTeX\Means
- \Pkg{luatexja-preset}パッケージが「|jafont| の値」をオプション
- に指定した形で読み込まれる。
+\item \pLaTeX、{\upLaTeX}の場合\Means
+ 「|jafont| の値」をオプションにして
+ \Pkg{pxchfon}パッケージを読み込む。
+\item (pdf){\LaTeX}の場合\Means
+ \Pkg{bxcjkjatype}のオプションに「|jafont| の値」を追加する。
+\item \XeLaTeX{}の場合\Means
+ 「|jafont| の値」をオプションにして
+ \Pkg{zxjafont}パッケージを読み込む。
+\item \LuaLaTeX{}の場合\Means
+ 「|jafont| の値」をオプションにして
+ \Pkg{luatexja-preset}パッケージを読み込む。
\end{itemize}
ただし、|jafont| の値として |auto| は特別な意味をもち、
@@ -1371,6 +1389,52 @@ minimalに配置している。}%
minimal和文ドライバには有効な和文ドライバパラメタは存在しない。
+\paragraph{和文ドライバパラメタの代替表記}
+Pandoc(の{\LaTeX}出力の既定テンプレート)では、
+|classoption| というパラメタで任意のクラスオプションを指定できるが、
+この際に波括弧 |{…}| の扱いがしばしば厄介なことになる。
+例えば和文パラメタ指定の
+\begin{quote}\small\begin{verbatim}
+japaram={jis2004}
+\end{verbatim}\end{quote}
+という値をYAMLメタデータブロックで指定したいとする。
+この場合、単純に
+\begin{quote}\small\begin{verbatim}
+classoption: japaram={jis2004}
+\end{verbatim}\end{quote}
+と書いたのでは、
+|{jis2004}| の部分が |\{jis2004\}| のように“エスケープ”されて
+しまって失敗する。
+所望の指定をするには代わりに
+\begin{quote}\small\begin{verbatim}
+classoption: "`japaram={jis2004}`{=latex}"
+\end{verbatim}\end{quote}
+のような複雑怪奇な書き方をする必要がある。%
+\footnote{YAMLメタデータブロックで指定された
+ 文字列(YAMLの文字列型の値)について、Pandocでは
+ 「Markdownソースとして解釈される」
+ という奇妙な仕様を(歴史的経緯のため)採用している。
+ このため、|{jis2004}| は
+ 「Markdown→{\LaTeX}の変換」
+ が適用されて |\{jis2004\}| となってしまう。
+ 余計な変換を回避するためにはPandoc MarkdownのRawInLine要素を
+ 利用して |`japaram={jis2004}`{=latex}| と書く必要がある。
+ さらに、YAMLの文法規則として、
+ 文字列が |`| で始まる場合には |"…"| で全体を囲わなければならない。}
+
+この問題に対処するため、2.9版において
+「和文ドライバパラメタ代替表記」をサポートすることにした。
+クラスオプションに |ja:| で始まる文字列を書くと、
+以下のように解釈される。
+\begin{itemize}
+\item |ja:XXX| と書くと、|japaram={XXX}| を指定したことになる。
+\item |ja:XXX=YYY| と書くと、|japaram={XXX=YYY}| を指定したことになる。
+\end{itemize}
+代替表記を利用すると、先ほどの例は以下のように書くことができる。
+\begin{quote}\small\begin{verbatim}
+classoption: ja:jis2004
+\end{verbatim}\end{quote}
+
%-------------------
\subsection{standard和文ドライバの場合}
@@ -1433,9 +1497,9 @@ standard用のものに加えて、以下の和文ドライバパラメタが存
和文フォントを単ウェイトで用いている場合、生の |\textbf| は体裁
が悪い(ゴシックの和文とセリフの欧文の組み合わせになる)ため、
|\strong| に移譲して調整ができるようにしている。
- \footnote{|\strong| に適用される書体は、|strong| パラメタで選択
- できるが、その他に({\XeLaTeX}・{\LuaLaTeX}の場合は)
- \Pkg{fontspec}の |\strongfontdeclare| 命令でも設定できる。}
+ \footnote{|\strong| に適用される書体は |strong| パラメタで選択
+ できるが、|\strongfontdeclare| 命令
+ (\ref{ssec:markup}節)でも設定できる。}
\Note |\bfseries| 命令の動作は変わらない。
\item |fix-code=|\Meta{真偽値}\Means
|\texttt| 命令と周囲の和文の間に和欧文間空白が常に入るようにするか。
@@ -1539,6 +1603,7 @@ vscale=0.944, vmarginratio=1:1
%-------------------
\subsection{構造マークアップ関連}
+\label{ssec:markup}
\begin{itemize}
\item |\subtitle{|\Meta{テキスト}|}|\Means
@@ -1632,16 +1697,16 @@ vscale=0.944, vmarginratio=1:1
\item |\zw|\Means
|\jsZw| の別名。
\footnote{\Pkg{\LuaTeX-ja}では「実際の全角幅」を表す
- 命令 |\zw|({\pLaTeX}の |zw| と本当に等価)が規定されている。
- |lualatex| エンジン指定かつ和文ドライバが |standard| の場合は
+ 長さ命令 |\zw|({\pLaTeX}の |zw| と本当に等価)が規定されている。
+ |lualatex| エンジン指定かつ和文ドライバがstandardの場合は
この |\zw| の定義がそのまま使われる。
- (従って |use-zw| は実質的に意味を持たない。)
+ (従って |use-zw| は実質的に無意味である。)
なお、|\jsZw| は「規約上の全角幅」であり、「実際の全角幅」と本来は
一致するはずだが、実際には計算誤差のせいで僅かに値が異なる。}%
ただし |use-zw=false| 指定時は定義されない。
\item |\zwspace|\Means
全角(|\jsZw|)幅の水平空き。
-\item |\|\JSS(|\|\,の後に全角空白文字)\Means
+\item |\|\JSS(|\|\,+\,全角空白)\Means
|\zwspace| の別名。
全角幅の水平空き。
\Note \Pkg{jlreq}クラスと互換の命令。
@@ -1649,11 +1714,54 @@ vscale=0.944, vmarginratio=1:1
この命令は単純に |\hspace|\wbr|{\jsZw}| と等価である。
\item |\jaenspace|\Means
半角(0.5\,|\jsZw|)幅の水平空き。
+\item |\jathinspace|\Means
+ 和欧文間空白を挿入する。
+\item |\>|\Means
+ (非数式モードで
+ \footnote{|\>| という命令名は、plain {\TeX}では数式中の空白
+ ({\LaTeX}の |\:| と同等)を表す。
+ このため、実際には{\LaTeX}でも |\>| は |\:| と同等の命令として
+ 定義されている。
+ この「plain互換の |\>|」を利用したコードが影響を受けるのを避ける
+ ため、数式中では |\>| は従来通り |\:| と同等の動作を行う。}%
+ )和欧文間空白を挿入する。
+\item |\jaspace{|\Meta{値}|}|\Means
+ 引数の値に応じて水平空きを挿入する。%
+ \footnote{\Pkg{jlreq}クラスに同様の命令が実装されているが、
+ なぜかundocumentedになっている。}%
+ 可能な値は以下の通り:
+ \begin{itemize}
+ \item |zenkaku|\Means 全角幅。(|\zwspace| と同じ。)
+ \item |nibu|\Means 半角幅。(|\jaenspace| と同じ。)
+ \item |shibu|\Means 四分幅(0.25\,|\jsZw|)。%
+ \footnote{和欧文間空白(|\jathinspace|)とは必ずしも
+ 一致\jemph{しない}ことに注意。}
+ \end{itemize}
+ \Note ただし |jaspace-cmd=false| 指定時は |\|\JSS・
+ |\jaenspace|・|\jathinspace|・|\>|・|\jaspace|
+ は定義されない。%
+ \footnote{ただし |\>| については注意が必要で、
+ standard和文ドライバで自動的に読み込まれる
+ \Pkg{zxjatype}や\Pkg{bxcjkjatype}のパッケージは、
+ それ自体が同様の機能の |\>| を提供する。}
\item |\allowoldfontcommands|\Means
これ以降に実行される二文字フォント命令を警告の対象にしない。
\item |\disallowoldfontcommands|\Means
これ以降に実行される二文字フォント命令を警告の対象にする。
-\Note 詳細については\ref{sec:Old-font-commands}節を参照されたい。
+ \Note 詳細については\ref{sec:Old-font-commands}節を参照。
+\item |\jQ|、|\jH|、|\trueQ|、|\trueH|\Means
+ それぞれ{\pLaTeX}の単位Q、H、true\,Q、true\,Hに相当する長さ命令。
+\item |\ascQ|\Means
+ 1\,true\,Qを和文スケール値で割った長さを表す長さ命令。
+ \footnote{命令名は“anti-scaled Q”の略。}%
+ \Note 例えば、|\fontsize{10\ascQ}{16\trueH}|
+ で和文のサイズが10\,Qになる。%
+ \footnote{1.5c版で導入された |\jafontsize| 命令を用いて %
+ |\jafontsize{10trueQ}{16trueH}| としてもよい。}
+\item |\ascpt|\Means
+ 1\,true\,ptを和文スケール値で割った長さを表す長さ命令。
+ \Note 例えば、|\fontsize{9\ascpt}{13truept}|
+ で和文のサイズが9ポイントになる。
\item \mbox{\pLaTeX}カーネルで規定される
「基底フォントサイズパラメタ」の
長さ命令 |\Cwd|\JSl|\Cht|\JSl|\Cdp|\JSl|\Cvs|\JSl|\Chs| が
@@ -1664,7 +1772,7 @@ vscale=0.944, vmarginratio=1:1
\subsubsection{standard和文ドライバで追加される命令}
-standard和文ドライバ(およびそれを継承するドライバ)では和文に関連する
+standard和文ドライバでは和文に関連する
文書ソース記述をエンジンに依らずに共通になることを目指している。
従って、和文関連の組版パラメタの設定についても
「共通の命令」が提供される。
@@ -1679,19 +1787,6 @@ standard和文ドライバ(およびそれを継承するドライバ)では
\footnote{ちなみに、(u){\pLaTeX}の既定ではこの連動は起こらない。}%
に、|\rmfamily| で和文が「明朝」、
|\sffamily| および |\ttfamily| で和文が「ゴシック」に変更される。
-\item |\jQ|、|\jH|、|\trueQ|、|\trueH|\Means
- それぞれ{\pLaTeX}の単位Q、H、true\,Q、true\,Hに相当する長さ。
-\item |\ascQ|\Means
- 1\,true\,Qを和文スケール値で割った長さ。
- \footnote{命令名は“anti-scaled Q”の略。}%
- 例えば、|\fontsize{10\ascQ}{16\trueH}|
- で和文のサイズが10\,Qになる。%
- \footnote{1.5c版で導入された |\jafontsize| 命令を用いて %
- |\jafontsize{10trueQ}{16trueH}| としてもよい。}
-\item |\ascpt|\Means
- 1\,true\,ptを和文スケール値で割った長さ。
- 例えば、|\fontsize{9\ascpt}{13truept}|
- で和文のサイズが9ポイントになる。
\item |\setxkanjiskip{|\Meta{長さ}|}|\Means
和欧文間空白の量を指定する。
{\pLaTeX}での %
@@ -1718,21 +1813,6 @@ standard和文ドライバ(およびそれを継承するドライバ)では
\item |\autospacing|\JSl|\noautospacing|\Means
和文間空白の挿入を有効/無効にする。
{\pLaTeX}の同名の命令と同等。
-\item |\jathinspace|\Means
- 和欧文間空白を挿入する。
-\item |\>|\Means
- (非数式モードで
- \footnote{|\>| という命令名は、plain {\TeX}では数式中の空白
- ({\LaTeX}の |\:| と同等)を表す。
- このため、実際には{\LaTeX}でも |\>| は |\:| と同等の命令として
- 定義されている。
- この「plain互換の |\>|」を利用したコードが影響を受けるのを避ける
- ため、数式中では |\>| は従来通り |\:| と同等の動作を行う。}%
- )和欧文間空白を挿入する。
- \Note |jaspace-cmd=false| 指定時は定義されない。%
- \footnote{ただし、standard和文ドライバで自動的に読み込まれる
- \Pkg{zxjatype}や\Pkg{bxcjkjatype}のパッケージは、
- それ自体が同様の機能の |\>| を提供することにも注意を要する。}
\item |\jachar{|\Meta{文字1つ}|}|\Means
指定の文字を和文文字として(現在の和文フォントで)出力する。
\item |\jafontsize{|\Meta{フォントサイズ\xast}|}{|\Meta{行送り\xast}|}|\Means
@@ -1746,6 +1826,12 @@ standard和文ドライバ(およびそれを継承するドライバ)では
\item 欧文数式フォント命令での和文の連動\Means
|\mathrm| で和文が「明朝」、
|\mathsf| および |\mathtt| で和文が「ゴシック」に指定される。
+ \footnote{和文連動の対象となる欧文数式フォント命令を
+ \Pkg{bm}パッケージの |\bm| 命令の中で使う
+ (例えば |\bm{\mathsf{A}}| 等)
+ と正常に動作しないことが判明している。
+ 暫定対処として、2.9b版以降では\Pkg{bm}パッケージが読み込まれて
+ いる場合には欧文数式フォント命令の和文連動が無効になる。}%
\Note JSクラスとは異なり、連動の組合せは
テキストと同一であることに注意。
\end{itemize}
diff --git a/language/japanese/BX/bxjscls/bxjscls.dtx b/language/japanese/BX/bxjscls/bxjscls.dtx
index 99eb85ec9e..d8708af2d9 100644
--- a/language/japanese/BX/bxjscls/bxjscls.dtx
+++ b/language/japanese/BX/bxjscls/bxjscls.dtx
@@ -33,7 +33,7 @@
% Copyright 1999-2016 Haruhiko Okumura
% Copyright 2016-2023 Japanese TeX Development Community
%
-% Copyright 2013-2023 Takayuki YATO (aka. "ZR")
+% Copyright 2013-2024 Takayuki YATO (aka. "ZR")
%
% \fi
% \CheckSum{0}
@@ -56,7 +56,9 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2023/07/17 v2.9 BXJS document classes]
+ [2024/01/22 v2.9b BXJS document classes]
+% [2023/08/02 v2.9a BXJS document classes]
+% [2023/07/17 v2.9 BXJS document classes]
% [2023/07/01 v2.8b BXJS document classes]
% [2023/06/20 v2.8a BXJS document classes]
% [2023/06/14 v2.8 BXJS document classes]
@@ -793,6 +795,34 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\bxjs@advance@qc}
+% |\bxjs@advance@qc\CS{|\Meta{値}|}|\Means
+% 擬似整数レジスタに値を加算する。
+% \begin{macrocode}
+\def\bxjs@advance@qc#1#2{%
+ \begingroup
+ \@tempcnta=#1\relax \advance\@tempcnta by#2\relax
+ \global\chardef\bxjs@g@tmpa\@tempcnta
+ \endgroup \let#1\bxjs@g@tmpa}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bxjs@new@count}
+% \begin{macro}{\bxjs@advance@count}
+% {\eTeX}拡張が有効なら通常の整数レジスタ、
+% 無効なら擬似整数レジスタを用いる。
+% \begin{macrocode}
+\ifjsWitheTeX
+ \let\bxjs@new@count\newcount
+ \def\bxjs@advance@count#1#2{\advance#1by#2\relax}
+\else
+ \def\bxjs@new@count#1{\chardef#1\z@}
+ \let\bxjs@advance@count\bxjs@advance@qc
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\jsSetQHLength}
% |\jsSetQHLength\CS{|\Meta{長さ式}|}|\Means
% |\setlength| の変種で、通常の |calc| の長さ式の代わりに、
@@ -3583,7 +3613,7 @@
%
% \begin{macrocode}
\chardef\bxjs@periodchar=`\.
-\bxjs@protected\def\bxjs@SE{%
+\bxjs@robust@def\bxjs@SE{%
\ifnum\spacefactor<\@m \spacefactor\@m
\else \spacefactor\sfcode\bxjs@periodchar
\fi}
@@ -7615,9 +7645,9 @@
% \begin{macro}{\disallowoldfontcommands}
% “二文字フォント命令”の使用に対して警告を出す。
% \begin{macrocode}
-\newcommand*{\allowoldfontcommands}{%
+\DeclareRobustCommand*{\allowoldfontcommands}{%
\@jsc@warnoldfontcmdexceptiontrue}
-\newcommand*{\disallowoldfontcommands}{%
+\DeclareRobustCommand*{\disallowoldfontcommands}{%
\@jsc@warnoldfontcmdexceptionfalse}
% \end{macrocode}
% \end{macro}
@@ -9140,17 +9170,6 @@
% \end{macrocode}
%
%
-% \paragraph{BXJS独自の追加処理 \ZRX}
-%
-% フックを実行する。
-% \begin{macrocode}
-\bxjs@pre@jadriver@hook
-% \end{macrocode}
-% 和文ドライバのファイルを読み込む。
-% \begin{macrocode}
-\input{bxjsja-\bxjs@jadriver.def}
-% \end{macrocode}
-%
% \section{実験的コード}
%
% \begin{ZRnote}
@@ -9164,11 +9183,359 @@
% exppl2eパッケージが読みこまれていない場合は通常版として動作しますので,
% ここで終了します。
%
+% 以上です。
+%
+% \section{BXJS独自の追加処理 \ZRX}
+%
+% \paragraph{\textbackslash strong命令の補填}
+%
+% |fontspec| で提供される |\strong| 命令と |strongenv| 環境を
+% 全てのエンジンで使えるようにする。
+% \Note この実装は特にエンジンや和文処理パッケージに依存しないはず
+% であるが、現状ではstandard和文ドライバでの提供となっていて、
+% そこで有効化のオプションが定義されている。
+% ここでは |\js~| の名前で定義することにする。
+%
+% \begin{macro}{\jsStrongText}
+% 強調用の宣言型命令。
% \begin{macrocode}
-%</class>
+\bxjs@robust@def\jsStrongText{\bxjs@strong@text}%
% \end{macrocode}
+% |fontspec| と互換の |\strongfontdeclare| 命令も提供する。
+% 既定の設定は |\bfseries|(太字)である。
+% \Note |\strongfontdeclare| は試験的機能とする。
+% \begin{macrocode}
+\chardef\bxjs@strong@level=0
+\DeclareRobustCommand*\jsStrongDeclare[1]{%
+ \bxjs@set@array@from@clist{bxjs@strong}{#1}%
+ \chardef\bxjs@strong@level\z@}
+\jsStrongDeclare{\bfseries}
+\def\bxjs@strong@text{%
+ \bxjs@csletcs{bxjs@tmpa}{bxjs@strong/\the\bxjs@strong@level}%
+ \ifx\bxjs@tmpa\relax
+ \bxjs@advance@qc\bxjs@strong@level\m@ne \bxjs@strong@text
+ \else \bxjs@advance@qc\bxjs@strong@level\@ne \bxjs@tmpa
+ \fi}
+% \end{macro}
%
-% 以上です。
+% \paragraph{共通命令の実装}
+%
+% |\jQ| 等の「単位」系の共通命令を実装する。
+%
+% \begin{macro}{\bxjs@const@unit}
+% 固定値の単位として使える制御綴を定義する。
+%
+% {\eTeX}拡張が使える場合は、
+% 「|\dimexpr|外部寸法表記|\relax|」の形式
+% (これは内部値なので単位として使える)
+% に展開されるマクロとして定義する。
+% \begin{macrocode}
+\@onlypreamble\bxjs@const@unit
+\@onlypreamble\bxjs@const@unit@a
+\ifjsWitheTeX
+ \def\bxjs@const@unit#1#2#3{%
+ \protected\edef#1{\dimexpr\the\dimexpr#3\relax\relax}}
+% \end{macrocode}
+% {\eTeX}拡張が使えない場合は、何らかの寸法パラメタに値を保持する必要が
+% あるが、レジスタは貴重なので代わりに
+% 「ダミーのTFMを定義してその |\fontdimen| を使う」
+% というテクニックを用いる(アレ)。
+% \begin{macrocode}
+\else
+ \let\bxjs@Ct\fontdimen \font\bxjs@Ut=cmtex9 at 0.98245pt
+ \bxjs@Ct8\bxjs@Ut=8sp \bxjs@Ct16\bxjs@Ut=\z@
+ \def\bxjs@const@unit#1#2{%
+ \expandafter\bxjs@const@unit@a\csname bxjs@#2@\endcsname#1}
+ \def\bxjs@const@unit@a#1#2#3{%
+ \chardef#1\bxjs@Ct8\bxjs@Ut \bxjs@advance@qc#1\@ne \bxjs@Ct8\bxjs@Ut#1sp
+ \bxjs@Ct#1\bxjs@Ut=#3\relax \def#2{\bxjs@Ct#1\bxjs@Ut}}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\jQ}
+% \begin{macro}{\jH}
+% |\jQ| と |\jH| はともに0.25\,mmに等しい。
+% \begin{macrocode}
+\bxjs@const@unit\jQ{jQ}{0.25mm}
+\let\jH\jQ
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\trueQ}
+% \begin{macro}{\trueH}
+% |\trueQ| と |\trueH| はともに0.25\,true\,mmに等しい。
+% \begin{macrocode}
+\ifjsc@mag
+ \@tempdimb=\jsBaseFontSize\relax
+ \edef\bxjs@tmpa{\strip@pt\@tempdimb}%
+ \@tempdima=2.5mm
+ \bxjs@invscale\@tempdima\bxjs@tmpa
+ \bxjs@const@unit\trueQ{trueQ}{\@tempdima}
+ \@tempdima=10pt
+ \bxjs@invscale\@tempdima\bxjs@tmpa
+ \bxjs@const@unit\bxjs@truept{truept}{\@tempdima}
+\else \let\trueQ\jQ \let\bxjs@truept\p@
+\fi
+\let\trueH\trueQ
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ascQ}
+% \begin{macro}{\ascpt}
+% |\ascQ| は |\trueQ| を和文スケール値で割った値。
+% 例えば、|\fontsize{12\ascQ}{16\trueH}| とすると、
+% 和文が12Qになる。
+%
+% 同様に、|\ascpt| は |truept| を和文スケールで割った値。
+% \begin{macrocode}
+\@tempdima\trueQ \bxjs@invscale\@tempdima\jsScale
+\bxjs@const@unit\ascQ{ascQ}{\@tempdima}
+\@tempdima\bxjs@truept \bxjs@invscale\@tempdima\jsScale
+\bxjs@const@unit\ascpt{ascpt}{\@tempdima}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\jafontsize}
+% |\jafontsize{|\Meta{フォントサイズ}|}{|\Meta{行送り}|}|\Means
+% 和文フォント規準で、すなわち、1\,zwが\Meta{フォントサイズ}に
+% 等しくなるようにフォントサイズを指定する。
+% この命令の引数では、|Q|/|H| の単位が使用できる。
+% \begin{macrocode}
+\DeclareRobustCommand*\jsJaFontSize[2]{%
+ \begingroup
+ \bxjs@jafontsize@a{#1}%
+ \@tempdimb\jsInverseScale\@tempdima
+ \bxjs@jafontsize@a{#2}%
+ \xdef\bxjs@g@tmpa{%
+ \noexpand\fontsize{\the\@tempdimb}{\the\@tempdima}}%
+ \endgroup\bxjs@g@tmpa}
+\def\bxjs@jafontsize@a#1{%
+ \bxjs@parse@qh{#1}%
+ \ifx\bxjs@tmpb\relax \def\bxjs@tmpb{#1}\fi
+ \@defaultunits\@tempdima\bxjs@tmpb pt\relax\@nnil}
+% \end{macrocode}
+% \end{macro}
+%
+% 続いて、和文間空白・和欧文間空白関連の命令を実装する。
+% この実装はエンジンや和文処理パッケージに依存するが、
+% ここでは共通の基盤となる部分を実装する。
+%
+% \begin{macrocode}
+\def\bxjs@let@lenexpr{\edef}
+% \end{macrocode}
+%
+% \begin{macro}{\bxjs@kanjiskip}
+% 和文間空白の量を表すテキスト。
+% \begin{macrocode}
+\def\bxjs@kanjiskip{0pt}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\jsSetKanjiSkip}
+% 和文間空白の量を設定する。
+% \Note |\setkanjiskip| の実体。
+% \begin{macrocode}
+\DeclareRobustCommand*\jsSetKanjiSkip[1]{%
+ \bxjs@let@lenexpr\bxjs@kanjiskip{#1}%
+ \bxjs@reset@kanjiskip}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\jsGetKanjiSkip}
+% 和文間空白の量を表すテキストに展開する。
+% \Note |\getkanjiskip| の実体。
+% \begin{macrocode}
+\newcommand*\jsGetKanjiSkip{%
+ \bxjs@kanjiskip}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifbxjs@kanjiskip@enabled}
+% 和文間空白の挿入が有効か。
+% \Note エンジン側の機能で制御する場合は、
+% このスイッチは常に真にしておく。
+% \begin{macrocode}
+\newif\ifbxjs@kanjiskip@enabled \bxjs@kanjiskip@enabledtrue
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\jsEnableKanjiSkip}
+% \begin{macro}{\jsDisableKanjiSkip}
+% 和文間空白の挿入を有効/無効にする。
+% \Note {\pTeX}系のエンジンや |luatexja| のパッケージを使用する場合は
+% それ自体がもつ制御機能を利用するため、これらの命令は使わない。
+% \begin{macrocode}
+\bxjs@robust@def\jsEnableKanjiSkip{%
+ \bxjs@kanjiskip@enabledtrue
+ \bxjs@reset@kanjiskip}
+\bxjs@robust@def\jsDisableKanjiSkip{%
+ \bxjs@kanjiskip@enabledfalse
+ \bxjs@reset@kanjiskip}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\bxjs@reset@kanjiskip}
+% 現在の和文間空白の設定を実際に反映させる。
+% \begin{macrocode}
+\bxjs@robust@def\bxjs@reset@kanjiskip{%
+ \ifbxjs@kanjiskip@enabled
+ \setlength{\@tempskipa}{\bxjs@kanjiskip}%
+ \else \@tempskipa\z@
+ \fi
+ \jsApplyKanjiSkip\@tempskipa}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\jsApplyKanjiSkip}
+% |\jsApplyKanjiSkip{|\Meta{グルー値}|}|\Means
+% 和文間空白を実際に設定するためのエンジン依存のコード。
+% \begin{macrocode}
+\let\jsApplyKanjiSkip\@gobble
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bxjs@xkanjiskip}
+% \begin{macro}{\jsSetXKanjiSkip}
+% \begin{macro}{\jsGetXKanjiSkip}
+% \begin{macro}{\ifbxjs@xkanjiskip@enabled}
+% \begin{macro}{\jsEnableXKanjiSkip}
+% \begin{macro}{\jsDisableXKanjiSkip}
+% \begin{macro}{\bxjs@reset@xkanjiskip}
+% \begin{macro}{\jsApplyXKanjiSkip}
+% 和欧文間空白について同様のものを用意する。
+% \begin{macrocode}
+\def\bxjs@xkanjiskip{0pt}
+\DeclareRobustCommand*\jsSetXKanjiSkip[1]{%
+ \bxjs@let@lenexpr\bxjs@xkanjiskip{#1}%
+ \bxjs@reset@xkanjiskip}
+\newcommand*\jsGetXKanjiSkip{%
+ \bxjs@xkanjiskip}
+\newif\ifbxjs@xkanjiskip@enabled \bxjs@xkanjiskip@enabledtrue
+\bxjs@robust@def\jsEnableXKanjiSkip{%
+ \bxjs@xkanjiskip@enabledtrue
+ \bxjs@reset@xkanjiskip}
+\bxjs@robust@def\jsDisableXKanjiSkip{%
+ \bxjs@xkanjiskip@enabledfalse
+ \bxjs@reset@xkanjiskip}
+\bxjs@robust@def\bxjs@reset@xkanjiskip{%
+ \ifbxjs@xkanjiskip@enabled
+ \setlength{\@tempskipa}{\bxjs@xkanjiskip}%
+ \else \@tempskipa\z@
+ \fi
+ \jsApplyXKanjiSkip\@tempskipa}
+\let\jsApplyXKanjiSkip\@gobble
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% |\jsResetDimen| を用いて、フォントサイズが変更された時に
+% 空白の量が追随するようにする。
+% \begin{macrocode}
+\g@addto@macro\jsResetDimen{%
+ \bxjs@reset@kanjiskip
+ \bxjs@reset@xkanjiskip}
+% \end{macrocode}
+%
+% 和文・和欧文間空白の初期値。
+%
+% \begin{macrocode}
+\AtEndOfPackage{%
+\jsSetKanjiSkip{0pt plus.1\jsZw minus.01\jsZw}%
+\ifx\jsDocClass\jsSlide \jsSetXKanjiSkip{0.1em}%
+\else \jsSetXKanjiSkip{0.25em plus 0.15em minus 0.06em}%
+\fi
+}
+% \end{macrocode}
+%
+% \paragraph{和文空白命令}
+% \begin{macrocode}
+\ifbxjs@jaspace@cmd
+% \end{macrocode}
+%
+% \begin{macro}{\jaenspace}
+% 半角幅の水平空き。
+% \begin{macrocode}
+ \def\jaenspace{\hskip.5\jsZw\relax}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\jathinspace}
+% 和欧文間空白を入れるユーザ命令。
+% \begin{macrocode}
+ \def\jathinspace{\hskip\bxjs@xkanjiskip\relax}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_}
+% 全角空白文字1つからなる名前の制御綴。
+% |\zwspace| と等価になる。
+% \begin{macrocode}
+ \def\ {\zwspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\>}
+% 非数式中では |\jathinspace| と等価になるように再定義する。
+% \Note 数式中では従来通り(|\:| と等価)。
+% \begin{macrocode}
+ \bxjs@protected\def\bxjs@choice@jathinspace{%
+ \relax\ifmmode \mskip\medmuskip
+ \else \jathinspace\ignorespaces
+ \fi}
+ \jsAtEndOfClass{%
+ \ifjsWitheTeX \let\>\bxjs@choice@jathinspace
+ \else \def\>{\protect\bxjs@choice@jathinspace}%
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\jaspace}
+% |jlreq| クラスと互換の命令。
+% \begin{macrocode}
+ \DeclareRobustCommand*{\jaspace}[1]{%
+ \expandafter\ifx\csname bxjs@jaspace@@#1\endcsname\relax
+ \ClassError\bxjs@clsname
+ {Unknown jaspace: #1}{\@eha}%
+ \else
+ \csname bxjs@jaspace@@#1\endcsname
+ \fi}
+ \def\bxjs@jaspace@@zenkaku{\hskip 1\jsZw\relax}
+ \def\bxjs@jaspace@@nibu{\hskip .5\jsZw\relax}
+ \def\bxjs@jaspace@@shibu{\hskip .25\jsZw\relax}
+% \end{macrocode}
+% \end{macro}
+%
+% 終わり。
+% \begin{macrocode}
+\fi
+% \end{macrocode}
+%
+% \paragraph{和文ドライバ読込}
+%
+% フックを実行する。
+% \begin{macrocode}
+\bxjs@pre@jadriver@hook
+% \end{macrocode}
+% 和文ドライバのファイルを読み込む。
+% \begin{macrocode}
+\input{bxjsja-\bxjs@jadriver.def}
+% \end{macrocode}
+%
+% おしまい。
+% \begin{macrocode}
+%</class>
+% \end{macrocode}
%
%^^A////////////////////////////////////////////////////////
% \clearpage
@@ -9989,55 +10356,6 @@
\fi
% \end{macrocode}
%
-% \paragraph{和文空白命令}
-% \begin{macrocode}
-\ifbxjs@jaspace@cmd
-% \end{macrocode}
-%
-% \begin{macro}{\jaenspace}
-% 半角幅の水平空き。
-% \begin{macrocode}
- \def\jaenspace{\hskip.5\jsZw\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\jathinspace}
-% 和欧文間空白を入れるユーザ命令。
-% \Note minimalではダミー定義。
-% \begin{macrocode}
- \def\jathinspace{\hskip\z@skip}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\_}
-% 全角空白文字1つからなる名前の制御綴。
-% |\zwspace| と等価になる。
-% \begin{macrocode}
- \def\ {\zwspace}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\jaspace}
-% |jlreq| クラスと互換の命令。
-% \begin{macrocode}
- \DeclareRobustCommand*{\jaspace}[1]{%
- \expandafter\ifx\csname bxjs@jaspace@@#1\endcsname\relax
- \ClassError\bxjs@clsname
- {Unknown jaspace: #1}{\@eha}%
- \else
- \csname bxjs@jaspace@@#1\endcsname
- \fi}
- \def\bxjs@jaspace@@zenkaku{\hskip 1\jsZw\relax}
- \def\bxjs@jaspace@@nibu{\hskip .5\jsZw\relax}
- \def\bxjs@jaspace@@shibu{\hskip .25\jsZw\relax}
-% \end{macrocode}
-% \end{macro}
-%
-% 終わり。
-% \begin{macrocode}
-\fi
-% \end{macrocode}
-%
% 以上で終わり。
% \begin{macrocode}
%</minimal>
@@ -10053,9 +10371,6 @@
% 和文ファミリ連動
% \item |\mcfamily|/|\gtfamily|
% \item |\textmc|/|\textgt|
-% \item |\zw|
-% \item |\jQ|/|\jH|
-% \item |\trueQ|/|\trueH|/|\ascQ|
% \item |\setkanjiskip|/|\getkanjiskip|
% \item |\setxkanjiskip|/|\getxkanjiskip|
% \item |\autospacing|/|\noautospacing|
@@ -10187,6 +10502,10 @@
%^^A----------------
% \subsection{共通処理(1)}
%
+% \begin{macrocode}
+\let\jafontsize\jsJaFontSize
+% \end{macrocode}
+%
% \paragraph{jis2004パラメタ}
%
% |jis2004| パラメタが有効の場合は、グローバルオプションに |jis2004|
@@ -10262,225 +10581,20 @@
%
% \begin{macro}{\strong}
% \begin{environment}{strongenv}
-% |fontspec| で提供される |\strong| 命令と |strongenv| 環境を
-% 全てのエンジンで使えるようにする。
-% \Note 既に利用可能である場合は何もしない。
+% 現在未定義(|fontspec| が未読込)である場合は、
+% クラス本体で定義した |\jsStrongText| を利用して定義する。
% \begin{macrocode}
\ifbxjs@jp@strong@cmd\jsAtEndOfClass{%
\ifx\strong\@undefined\ifx\strongenv\@undefined
- \DeclareRobustCommand{\strongenv}{\bxjs@strong@font}%
- \DeclareTextFontCommand{\strong}{\strongenv}%
-% \end{macrocode}
-% |fontspec| と互換の |\strongfontdeclare| 命令も提供する。
-% 既定の設定は |\bfseries|(太字)である。
-% \Note |\strongfontdeclare| は試験的機能とする。
-% \begin{macrocode}
- \newcommand*{\strongfontdeclare}{\bxjs@strongfontdeclare}%
- \newcount\bxjs@strong@level
- \bxjs@protected\def\bxjs@strongfontdeclare#1{%
- \bxjs@set@array@from@clist{bxjs@strong}{#1}%
- \bxjs@strong@level\z@}%
- \bxjs@strongfontdeclare{\bfseries}%
- \def\bxjs@strong@font{%
- \bxjs@csletcs{bxjs@tmpa}{bxjs@strong/\the\bxjs@strong@level}%
- \ifx\bxjs@tmpa\relax
- \advance\bxjs@strong@level\m@ne \bxjs@strong@font
- \else \advance\bxjs@strong@level\@ne \bxjs@tmpa
- \fi}%
+ \newcommand*{\strongenv}{\jsStrongText}%
+ \DeclareTextFontCommand{\strong}{\jsStrongText}%
+ \newcommand*{\strongfontdeclare}{\jsStrongDeclare}%
\fi\fi
}\fi
% \end{macrocode}
% \end{environment}
% \end{macro}
%
-% \paragraph{共通命令の実装}
-%
-% |\jQ| 等の「単位」系の共通命令を実装する。
-% まず{$\varepsilon$-\TeX}拡張が使えるか検査する。
-% \begin{macrocode}
-\ifjsWitheTeX
-% \end{macrocode}
-% 使える場合は、「|\dimexpr|外部寸法表記|\relax|」の形式
-% (これは内部値なので単位として使える)で各命令定義する。
-%
-% \begin{macro}{\jQ}
-% \begin{macro}{\jH}
-% |\jQ| と |\jH| はともに0.25\,mmに等しい。
-% \begin{macrocode}
- \@tempdima=0.25mm
- \protected\edef\jQ{\dimexpr\the\@tempdima\relax}
- \let\jH\jQ
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\trueQ}
-% \begin{macro}{\trueH}
-% |\trueQ| と |\trueH| はともに0.25\,true\,mmに等しい。
-% \begin{macrocode}
- \ifjsc@mag
- \@tempdimb=\jsBaseFontSize\relax
- \edef\bxjs@tmpa{\strip@pt\@tempdimb}%
- \@tempdima=2.5mm
- \bxjs@invscale\@tempdima\bxjs@tmpa
- \protected\edef\trueQ{\dimexpr\the\@tempdima\relax}
- \@tempdima=10pt
- \bxjs@invscale\@tempdima\bxjs@tmpa
- \protected\edef\bxjs@truept{\dimexpr\the\@tempdima\relax}
- \else \let\trueQ\jQ \let\bxjs@truept\p@
- \fi
- \let\trueH\trueQ
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ascQ}
-% \begin{macro}{\ascpt}
-% |\ascQ| は |\trueQ| を和文スケール値で割った値。
-% 例えば、|\fontsize{12\ascQ}{16\trueH}| とすると、
-% 和文が12Qになる。
-%
-% 同様に、|\ascpt| は |truept| を和文スケールで割った値。
-% \begin{macrocode}
- \@tempdima\trueQ \bxjs@invscale\@tempdima\jsScale
- \protected\edef\ascQ{\dimexpr\the\@tempdima\relax}
- \@tempdima\bxjs@truept \bxjs@invscale\@tempdima\jsScale
- \protected\edef\ascpt{\dimexpr\the\@tempdima\relax}
-\fi
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\jafontsize}
-% |\jafontsize{|\Meta{フォントサイズ}|}{|\Meta{行送り}|}|\Means
-% 和文フォント規準で、すなわち、1\,zwが\Meta{フォントサイズ}に
-% 等しくなるようにフォントサイズを指定する。
-% この命令の引数では、|Q|/|H| の単位が使用できる。
-% \begin{macrocode}
-\def\jafontsize#1#2{%
- \begingroup
- \bxjs@jafontsize@a{#1}%
- \@tempdimb\jsInverseScale\@tempdima
- \bxjs@jafontsize@a{#2}%
- \xdef\bxjs@g@tmpa{%
- \noexpand\fontsize{\the\@tempdimb}{\the\@tempdima}}%
- \endgroup\bxjs@g@tmpa}
-\def\bxjs@jafontsize@a#1{%
- \bxjs@parse@qh{#1}%
- \ifx\bxjs@tmpb\relax \def\bxjs@tmpb{#1}\fi
- \@defaultunits\@tempdima\bxjs@tmpb pt\relax\@nnil}
-% \end{macrocode}
-% \end{macro}
-%
-% 続いて、和文間空白・和欧文間空白関連の命令を実装する。
-% (エンジン依存のコード。)
-%
-% \begin{macro}{\bxjs@kanjiskip}
-% 和文間空白の量を表すテキスト。
-% \begin{macrocode}
-\def\bxjs@kanjiskip{0pt}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setkanjiskip}
-% 和文間空白の量を設定する。
-% \begin{macrocode}
-\newcommand*\setkanjiskip[1]{%
- \bxjs@let@lenexpr\bxjs@kanjiskip{#1}%
- \bxjs@reset@kanjiskip}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\getkanjiskip}
-% 和文間空白の量を表すテキストに展開する。
-% \begin{macrocode}
-\newcommand*\getkanjiskip{%
- \bxjs@kanjiskip}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ifbxjs@kanjiskip@enabled}
-% 和文間空白の挿入が有効か。
-% ただし{\pTeX}では自身の |\(no)autospacing| での制御を
-% 用いるのでこの変数は常に真とする。
-% \begin{macrocode}
-\newif\ifbxjs@kanjiskip@enabled \bxjs@kanjiskip@enabledtrue
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bxjs@enable@kanjiskip}
-% \begin{macro}{\bxjs@disable@kanjiskip}
-% 和文間空白の挿入を有効/無効にする。({\pTeX}以外)
-% \begin{macrocode}
-\bxjs@robust@def\bxjs@enable@kanjiskip{%
- \bxjs@kanjiskip@enabledtrue
- \bxjs@reset@kanjiskip}
-\bxjs@robust@def\bxjs@disable@kanjiskip{%
- \bxjs@kanjiskip@enabledfalse
- \bxjs@reset@kanjiskip}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\bxjs@reset@kanjiskip}
-% 現在の和文間空白の設定を実際にエンジンに反映させる。
-% \begin{macrocode}
-\bxjs@robust@def\bxjs@reset@kanjiskip{%
- \ifbxjs@kanjiskip@enabled
- \setlength{\@tempskipa}{\bxjs@kanjiskip}%
- \else \@tempskipa\z@
- \fi
- \bxjs@apply@kanjiskip}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bxjs@xkanjiskip}
-% \begin{macro}{\setxkanjiskip}
-% \begin{macro}{\getxkanjiskip}
-% \begin{macro}{\ifbxjs@xkanjiskip@enabled}
-% \begin{macro}{\bxjs@enable@xkanjiskip}
-% \begin{macro}{\bxjs@disable@xkanjiskip}
-% \begin{macro}{\bxjs@reset@xkanjiskip}
-% 和欧文間空白について同様のものを用意する。
-% \begin{macrocode}
-\def\bxjs@xkanjiskip{0pt}
-\newcommand*\setxkanjiskip[1]{%
- \bxjs@let@lenexpr\bxjs@xkanjiskip{#1}%
- \bxjs@reset@xkanjiskip}
-\newcommand*\getxkanjiskip{%
- \bxjs@xkanjiskip}
-\newif\ifbxjs@xkanjiskip@enabled \bxjs@xkanjiskip@enabledtrue
-\bxjs@robust@def\bxjs@enable@xkanjiskip{%
- \bxjs@xkanjiskip@enabledtrue
- \bxjs@reset@xkanjiskip}
-\bxjs@robust@def\bxjs@disable@xkanjiskip{%
- \bxjs@xkanjiskip@enabledfalse
- \bxjs@reset@xkanjiskip}
-\bxjs@robust@def\bxjs@reset@xkanjiskip{%
- \ifbxjs@xkanjiskip@enabled
- \setlength{\@tempskipa}{\bxjs@xkanjiskip}%
- \else \@tempskipa\z@
- \fi
- \bxjs@apply@xkanjiskip}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% |\jsResetDimen| を用いて、フォントサイズが変更された時に
-% 空白の量が追随するようにする。
-% \begin{macrocode}
-\g@addto@macro\jsResetDimen{%
- \bxjs@reset@kanjiskip
- \bxjs@reset@xkanjiskip}
-\let\bxjs@apply@kanjiskip\relax
-\let\bxjs@apply@xkanjiskip\relax
-% \end{macrocode}
-%
% \paragraph{和文フォント指定の扱い}
%
% standard和文ドライバでは |\jsJaFont| の値を和文フォントの
@@ -10743,10 +10857,14 @@
% \paragraph{共通命令の実装}
%
% \begin{macrocode}
-\def\bxjs@apply@kanjiskip{%
- \kanjiskip\@tempskipa}
-\def\bxjs@apply@xkanjiskip{%
- \xkanjiskip\@tempskipa}
+\newcommand*{\setkanjiskip}{\jsSetKanjiSkip}
+\newcommand*{\getkanjiskip}{\jsGetKanjiSkip}
+\def\jsApplyKanjiSkip#1{%
+ \kanjiskip=#1\relax}
+\newcommand*{\setxkanjiskip}{\jsSetXKanjiSkip}
+\newcommand*{\getxkanjiskip}{\jsGetXKanjiSkip}
+\def\jsApplyXKanjiSkip#1{%
+ \xkanjiskip=#1\relax}
% \end{macrocode}
%
% |\jaJaChar| のサブマクロ。
@@ -11005,9 +11123,20 @@
\DeclareMathAlphabet{\mathgt}{\jsc@JYn}{gt}{m}{n}
\g@addto@macro\bxjs@begin@document@hook{%
\ifx\reDeclareMathAlphabet\@undefined\else
+% \end{macrocode}
+% |\reDeclareMathAlphabet| を適用した数式英字フォント命令は{\LaTeX}の
+% 通常の命令とは定義文の形が異なる。
+% このため |bm| パッケージを読み込んで |\bm{\mathrm{A}}| を
+% 実行するとエラーが発生する。
+% これを回避するための暫定対応として、|bm| が読み込まれた場合は
+% 数式英字フォントの和文連動を無効にする。
+% \TODO ユーザが数式英字フォントの和文連動を制御できるようにする。
+% \begin{macrocode}
+ \@ifpackageloaded{bm}{}{%else
\reDeclareMathAlphabet{\mathrm}{\@mathrm}{\@mathmc}%
\reDeclareMathAlphabet{\mathbf}{\@mathbf}{\@mathgt}%
\reDeclareMathAlphabet{\mathsf}{\@mathsf}{\@mathgt}%
+ }%
\fi}
\fi
% \end{macrocode}
@@ -11095,17 +11224,21 @@
\ifx\CJKecglue\@undefined
\def\CJKtilde{\CJK@global\def~{\CJKecglue\ignorespaces}}
\fi
-\let\autospacing\bxjs@enable@kanjiskip
-\let\noautospacing\bxjs@disable@kanjiskip
+\newcommand*{\setkanjiskip}{\jsSetKanjiSkip}
+\newcommand*{\getkanjiskip}{\jsGetKanjiSkip}
+\newcommand*{\autospacing}{\jsEnableKanjiSkip}
+\newcommand*{\noautospacing}{\jsDisableKanjiSkip}
\protected\def\bxjs@CJKglue{\hskip\jsKanjiSkip}
-\def\bxjs@apply@kanjiskip{%
- \jsKanjiSkip\@tempskipa
+\def\jsApplyKanjiSkip#1{%
+ \jsKanjiSkip=#1\relax
\let\CJKglue\bxjs@CJKglue}
-\let\autoxspacing\bxjs@enable@xkanjiskip
-\let\noautoxspacing\bxjs@disable@xkanjiskip
+\newcommand*{\setxkanjiskip}{\jsSetXKanjiSkip}
+\newcommand*{\getxkanjiskip}{\jsGetXKanjiSkip}
+\newcommand*{\autoxspacing}{\jsEnableXKanjiSkip}
+\newcommand*{\noautoxspacing}{\jsDisableXKanjiSkip}
\protected\def\bxjs@CJKecglue{\hskip\jsXKanjiSkip}
-\def\bxjs@apply@xkanjiskip{%
- \jsXKanjiSkip\@tempskipa
+\def\jsApplyXKanjiSkip#1{%
+ \jsXKanjiSkip=#1\relax
\let\CJKecglue\bxjs@CJKecglue}
% \end{macrocode}
%
@@ -11241,17 +11374,21 @@
\ifx\CJKecglue\@undefined
\def\CJKtilde{\CJK@global\def~{\CJKecglue\ignorespaces}}
\fi
-\let\autospacing\bxjs@enable@kanjiskip
-\let\noautospacing\bxjs@disable@kanjiskip
+\newcommand*{\setkanjiskip}{\jsSetKanjiSkip}
+\newcommand*{\getkanjiskip}{\jsGetKanjiSkip}
+\newcommand*{\autospacing}{\jsEnableKanjiSkip}
+\newcommand*{\noautospacing}{\jsDisableKanjiSkip}
\protected\def\bxjs@CJKglue{\hskip\jsKanjiSkip}
-\def\bxjs@apply@kanjiskip{%
- \jsKanjiSkip\@tempskipa
+\def\jsApplyKanjiSkip#1{%
+ \jsKanjiSkip=#1\relax
\xeCJKsetup{CJKglue={\bxjs@CJKglue}}}
-\let\autoxspacing\bxjs@enable@xkanjiskip
-\let\noautoxspacing\bxjs@disable@xkanjiskip
+\newcommand*{\setxkanjiskip}{\jsSetXKanjiSkip}
+\newcommand*{\getxkanjiskip}{\jsGetXKanjiSkip}
+\newcommand*{\autoxspacing}{\jsEnableXKanjiSkip}
+\newcommand*{\noautoxspacing}{\jsDisableXKanjiSkip}
\protected\def\bxjs@CJKecglue{\hskip\jsXKanjiSkip}
-\def\bxjs@apply@xkanjiskip{%
- \jsXKanjiSkip\@tempskipa
+\def\jsApplyXKanjiSkip#1{%
+ \jsXKanjiSkip=#1\relax
\xeCJKsetup{CJKecglue={\bxjs@CJKecglue}}}
% \end{macrocode}
%
@@ -11482,6 +11619,10 @@
% \paragraph{共通命令の実装}
%
% \begin{macrocode}
+\newcommand*{\setkanjiskip}{\jsSetKanjiSkip}
+\newcommand*{\getkanjiskip}{\jsGetKanjiSkip}
+\newcommand*{\setxkanjiskip}{\jsSetXKanjiSkip}
+\newcommand*{\getxkanjiskip}{\jsGetXKanjiSkip}
\protected\def\autospacing{%
\ltjsetparameter{autospacing=true}}
\protected\def\noautospacing{%
@@ -11490,10 +11631,10 @@
\ltjsetparameter{autoxspacing=true}}
\protected\def\noautoxspacing{%
\ltjsetparameter{autoxspacing=false}}
-\def\bxjs@apply@kanjiskip{%
- \ltjsetparameter{kanjiskip={\@tempskipa}}}
-\def\bxjs@apply@xkanjiskip{%
- \ltjsetparameter{xkanjiskip={\@tempskipa}}}
+\def\jsApplyKanjiSkip#1{%
+ \ltjsetparameter{kanjiskip={#1}}}
+\def\jsApplyXKanjiSkip#1{%
+ \ltjsetparameter{xkanjiskip={#1}}}
% \end{macrocode}
%
% |\jachar| のサブマクロの実装。
@@ -11557,33 +11698,6 @@
% \end{macro}
% \end{macro}
%
-% \paragraph{和文空白命令}
-% \begin{macro}{\>}
-% 非数式中では |\jathinspace| と等価になるように再定義する。
-% \Note 数式中では従来通り(|\:| と等価)。
-% \begin{macrocode}
-\ifbxjs@jaspace@cmd
- \bxjs@protected\def\bxjs@choice@jathinspace{%
- \relax\ifmmode \mskip\medmuskip
- \else \jathinspace\ignorespaces
- \fi}
- \jsAtEndOfClass{%
- \ifjsWitheTeX \let\>\bxjs@choice@jathinspace
- \else \def\>{\protect\bxjs@choice@jathinspace}%
- \fi}
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \paragraph{和文・和欧文間空白の初期値}
-%
-% \begin{macrocode}
-\setkanjiskip{0pt plus.1\jsZw minus.01\jsZw}
-\ifx\jsDocClass\jsSlide \setxkanjiskip{0.1em}
-\else \setxkanjiskip{0.25em plus 0.15em minus 0.06em}
-\fi
-% \end{macrocode}
-%
% 以上で終わり。
%
% \begin{macrocode}
diff --git a/language/japanese/BX/bxjscls/bxjscls.pdf b/language/japanese/BX/bxjscls/bxjscls.pdf
index 3428f6592e..81899778a2 100644
--- a/language/japanese/BX/bxjscls/bxjscls.pdf
+++ b/language/japanese/BX/bxjscls/bxjscls.pdf
Binary files differ