summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-06-14 21:15:05 +0000
committerKarl Berry <karl@freefriends.org>2017-06-14 21:15:05 +0000
commitc71ccc0e7d728e6bc090b846fc58559651e3f549 (patch)
treef0c699edd781b516e9d9ae99c600a370c93866cf /Master
parenta994c5902423e8e50bb47ac78e1a555cad25a06e (diff)
bxjscls (14jun17)
git-svn-id: svn://tug.org/texlive/trunk@44594 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README-ja.md7
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README.md1
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdfbin601077 -> 607118 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex56
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdfbin945874 -> 955232 bytes
-rw-r--r--Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx240
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls18
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls18
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def4
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def113
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls18
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls18
16 files changed, 414 insertions, 87 deletions
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
index 6e2639953ed..b9c8dc7ba13 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
@@ -97,6 +97,13 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使
更新履歴
--------
+ * Version 1.5c 〈2017/06/10〉
+ - `\jafontsize` 命令を追加。
+ - 和文パラメタ `jis2004` を新設。
+ - 和文パラメタ `font` を新設。
+ - `jafont=auto` 設定で updmap.cfg を読む際に `kanjiEmbed` に加えて
+ `jaEmbed` も読み取る。
+ - バグ修正。
* Version 1.5b 〈2017/04/01〉
- 全エンジンについて、`\>` で和欧文間空白を挿入するようにした。
- `xkanjiskip-cmd` オプションを新設。
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md
index 9158bcd9a3d..d1cbadf0bb7 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README.md
@@ -87,6 +87,7 @@ This package is distributed under the BSD 2-Clause License.
Revision History
----------------
+ * Version 1.5c 〈2017/06/10〉
* Version 1.5b 〈2017/04/01〉
* Version 1.5a 〈2017/03/14〉
* Version 1.5 〈2017/03/11〉
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
index f4b8b5eed0f..16e7982d7ee 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
+++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
index 17541fd1692..33c71a91b7c 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.5b}
-\newcommand{\PkgDate}{2017/04/01}
+\newcommand{\PkgVersion}{1.5c}
+\newcommand{\PkgDate}{2017/06/10}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
@@ -604,14 +604,14 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
「|ja=|\Meta{名前}」の(0.9版以前で使われていた)別名。
\item |jafont=|\Meta{名前}\Means
“和文フォントプリセット指定”の名雨を設定する。
-\item |japaram=|\Meta{値}\Means
+ \Note \ref{sec:Basic}節で解説した通り、standard和文ドライバでは |jafont|
+ の値が利用される。
+\item |japaram={|\Meta{キー}|=|\Meta{値}|,...}|\Means
“和文ドライバパラメタ”の値を設定する。
+ 詳しくは\ref{sec:Ja-Driver-Param}節を参照。
\Note |jafont| と |japaram| の値がどのように解釈されるかは
和文ドライバの仕様次第である。
minimal和文ドライバではこの2つの値は全く参照されない。
- \ref{sec:Basic}節で解説した通り、standard和文ドライバでは |jafont|
- の値が利用される。
- 現状では |japaram| は参照されない。
\item |base=|\Meta{長さ}\Means
基底フォントサイズ(|\normalsize| のフォントのサイズ)を指定する。
JSクラスの |10pt|、|11pt| 等と同じ役割で、任意の値を指定できる。
@@ -1023,6 +1023,8 @@ BXJSクラスでは様々なエンジンについて、そのエンジンおよ
standardドライバの機能を継承するが、
「Pandocの既定のlatexテンプレート」が使われることを前提として、
それとBXJSの設定を整合させるための措置を加えている。
+\Note 本マニュアルで「standard和文ドライバの場合」という場合、
+特に明示がない限りはpandoc和文ドライバも含まれる。
\end{itemize}
和文ドライバは自分で作製することも可能である。
@@ -1050,6 +1052,42 @@ minimalに配置している。}%
%===========================================================
+\section{和文ドライバパラメタ}
+\label{sec:Ja-Driver-Param}
+
+和文ドライバパラメタ(|japaram| オプション)は
+和文ドライバに依存する設定を指定するために用意されている。
+|japaram| オプションの値はそれ自身がキー値ペアのリストであり、
+一般的に次のような形式で指定される。
+\begin{quote}\small\begin{verbatim}
+\usepackage[...,japaram={key=value,...},...]{bxjsarticle}
+\end{verbatim}\end{quote}
+
+minimal和文ドライバには有効な和文ドライバパラメタは存在しない。
+
+%-------------------
+\subsection{standard和文ドライバの場合}
+
+以下の和文ドライバパラメタが存在する。
+
+\begin{itemize}
+\item |jis2004=|\Meta{真偽値}\Means
+ 漢字の字形について「2004JIS字形を優先させる」処理を行うか。
+ 真の場合、以下の処理が行われる。既定値は偽。
+ \begin{itemize}
+ \item グローバルオプションに |jis2004| を追加する。%
+ \footnote{\Pkg{japanese-otf}や\Pkg{luatexja-preset}などの
+ パッケージが |jis2004| オプションを利用する。}
+ \item エンジンが{(u)\pLaTeX}の場合、|pxchfon| と |pxbabel|
+ パッケージに予め |prefer2004jis| オプションが渡される。
+ \end{itemize}
+\item |font={|\Meta{文字列}|}|\Means
+ standard和文ドライバが利用する和文フォントパッケージについて
+ 追加のオプションを指定する。
+\end{itemize}
+
+
+%===========================================================
\section{ユーザ用命令}
\label{sec:Commands}
@@ -1241,6 +1279,12 @@ standard和文ドライバ(およびそれを継承するドライバ)では
それ自体が同様の機能の |\>| を提供することにも注意を要する。}
\item |\jachar{|\Meta{文字1つ}|]|\Means
指定の文字を和文文字として(現在の和文フォントで)出力する。
+\item |\jafontsize{|\Meta{フォントサイズ}|}{|\Meta{行送り}|}|\Means
+ “和文規準”でフォントサイズを指定する。
+ すなわち、和文の1\,zwが\Meta{フォントサイズ}と等しくなるように
+ フォントサイズを設定する。
+ \Note 命令の引数の長さ指定ではエンジンの種類に関わらず |Q|/|H|
+ の単位が使用できる。
\item 和文数式フォント命令\Means
JSクラスと同様に、
|\mathmc| で「明朝」、|\mathgt| で「ゴシック」の
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
index 53f476810dc..e8bb0cf250f 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
+++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
index 4498ec730aa..a0abe6479db 100644
--- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
+++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
@@ -67,7 +67,8 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2017/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c BXJS document classes]
+% [2017/04/01 v1.5b BXJS document classes]
% [2017/03/14 v1.5a BXJS document classes]
% [2017/03/11 v1.5 BXJS document classes]
% based on jsclasses [2017/03/05]
@@ -407,6 +408,33 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\bxjs@cslet}
+% |\bxjs@cslet{|\Meta{名前1}|}\制御綴|\Means
+% \begin{macrocode}
+\def\bxjs@cslet#1{%
+ \expandafter\let\csname#1\endcsname}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bxjs@csletcs}
+% |\bxjs@csletcs{|\Meta{名前1}|}{|\Meta{名前2}|}|\Means
+% \begin{macrocode}
+\def\bxjs@csletcs#1#2{%
+ \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bxjs@catopt}
+% |\bxjs@catopt{|\Meta{文字列1}|}{|\Meta{文字列2}|}|\Means
+% 2つの文字列を |,| で繋いだ文字列。
+% ただし片方が空の場合は |,| を入れない。
+% 完全展開可能。
+% \begin{macrocode}
+\def\bxjs@catopt#1#2{%
+ #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\jsAtEndOfClass}
% このクラスの読込終了時に対するフック。
% (補助パッケージ中で用いられる。)
@@ -899,12 +927,12 @@
% \end{macrocode}
% \end{macro}
%
-% |fancyhdr| オプションの処理。
+% |enablejfam| オプションの処理。
% \begin{macrocode}
\def\bxjs@kv@enablejfam@true{\let\bxjs@enablejfam=t}
\def\bxjs@kv@enablejfam@false{\let\bxjs@enablejfam=f}
\def\bxjs@kv@enablejfam@default{\let\bxjs@enablejfam\@undefined}
-\define@key{bxjs}{enablejfam}{%
+\define@key{bxjs}{enablejfam}[true]{%
\bxjs@set@keyval{enablejfam}{#1}{}}
% \end{macrocode}
%
@@ -1588,7 +1616,7 @@
% \begin{macrocode}
\let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue
\let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse
-\define@key{bxjs}{fancyhdr}{%
+\define@key{bxjs}{fancyhdr}[true]{%
\bxjs@set@keyval{fancyhdr}{#1}{}}
% \end{macrocode}
%
@@ -1687,7 +1715,7 @@
\newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue
\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}{}}
+\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}}
% \end{macrocode}
% \end{macro}
%
@@ -1697,7 +1725,7 @@
\newif\ifbxjs@xkanjiskip@cmd \bxjs@xkanjiskip@cmdtrue
\let\bxjs@kv@xkanjiskipcmd@true\bxjs@xkanjiskip@cmdtrue
\let\bxjs@kv@xkanjiskipcmd@false\bxjs@xkanjiskip@cmdfalse
-\define@key{bxjs}{xkanjiskip-cmd}{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
% \end{macrocode}
% \end{macro}
%
@@ -1707,7 +1735,7 @@
\newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse
-\define@key{bxjs}{hyperref-enc}{\bxjs@set@keyval{hyperrefenc}{#1}{}}
+\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}}
% \end{macrocode}
% \end{macro}
%
@@ -7180,6 +7208,16 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\jsInverseScale}
+% |\jsScale| の逆数。
+% \Note |\CS=\jsInverseScale\CS| は |\bxjs@invscale\CS\jsScale|
+% よりも精度が劣るが処理が軽い。
+% \begin{macrocode}
+\@tempdima\p@ \bxjs@invscale\@tempdima\jsScale
+\edef\jsInverseScale{\strip@pt\@tempdima}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\jsLetHeadChar}
% |\jsLetHeadChar\CS{|\Meta{トークン列}|}|\Means
% トークン列の先頭の文字を抽出し、|\CS| をその文字トークン
@@ -7747,6 +7785,59 @@
\bxjs@simplejasetupfalse
% \end{macrocode}
%
+% \paragraph{japaramオプションの処理}
+%
+% |japaram| の値をkey-valueリストとして解釈する。
+% keyvalのファミリは |bxjsStd| とする。
+%
+% \begin{macro}{\bxjs@jp@jismmiv}
+% 2004JIS字形を優先させるか。
+% \begin{macrocode}
+\newif\ifbxjs@jp@jismmiv
+% \end{macrocode}
+% \end{macro}
+%
+% |jis2004| オプションの処理。
+% \begin{macrocode}
+\bxjs@cslet{bxjs@kv@jis2004@true}\bxjs@jp@jismmivtrue
+\bxjs@cslet{bxjs@kv@jis2004@false}\bxjs@jp@jismmivfalse
+\define@key{bxjsStd}{jis2004}[true]{%
+ \bxjs@set@keyval{jis2004}{#1}{}}
+% \end{macrocode}
+%
+% \begin{macro}{\bxjs@jp@font}
+% フォントパッケージの追加オプション。
+% \begin{macrocode}
+\let\bxjs@jp@font\@empty
+% \end{macrocode}
+% \end{macro}
+%
+% |jis2004| オプションの処理。
+% \begin{macrocode}
+\define@key{bxjsStd}{font}{%
+ \edef\bxjs@jp@font{#1}}
+% \end{macrocode}
+%
+% 実際の |japaram| の値を適用する。
+% \begin{macrocode}
+\def\bxjs@next#1{\bxjs@safe@setkeys{bxjsStd}{#1}}
+\expandafter\bxjs@next\expandafter{\jsJaParam}
+% \end{macrocode}
+%
+% \paragraph{jis2004パラメタ}
+%
+% |jis2004| パラメタが有効の場合は、グローバルオプションに |jis2004|
+% を追加する。
+% \Note |otf| や |luatexja-preset| 等のパッケージがこのオプションを
+% 利用する。
+% \begin{macrocode}
+\ifbxjs@jp@jismmiv
+ \g@addto@macro\@classoptionslist{,jis2004}
+% \@ifpackagewith 判定への対策
+ \PassOptionsToPackage{jis2004}{otf}
+\fi
+% \end{macrocode}
+%
% \paragraph{共通命令の実装}
%
% |\jQ| 等の「単位」系の共通命令を実装する。
@@ -7805,6 +7896,75 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\jsSetQHLength}
+% |\jsSetQHLength\CS{|\Meta{長さ式}|}|\Means
+% |\setlength| の変種で、通常の |calc| の長さ式の代わりに、
+% \Meta{実数}|Q|・\Meta{実数}|H|・\Meta{実数}|trueQ|・\Meta{実数}|trueH|
+% が記述できる。
+% \begin{macrocode}
+\def\jsSetQHLength#1#2{%
+ \begingroup
+ \bxjs@parse@qh{#2}%
+ \ifx\bxjs@tmpb\relax \setlength\@tempdima{#2}%
+ \else \@tempdima\bxjs@tmpb\relax
+ \fi
+ \xdef\bxjs@g@tmpa{\the\@tempdima}%
+ \endgroup
+ #1=\bxjs@g@tmpa\relax}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bxjs@parse@qh}
+% |jsSetQHLength| の下請け。
+% |#1| が |Q|/|H|/|trueQ|/|trueH| で終わる場合、
+% |\bxjs@tmpb| にそれに等しい寸法の表現を返す。
+% それ以外では、|\bxjs@tmpb| は |\relax| になる。
+% \begin{macrocode}
+\if j\jsEngine
+% \end{macrocode}
+% {(u)\pLaTeX}ではこの処理は不要なので無効化する。
+% \begin{macrocode}
+\def\bxjs@parse@qh#1{%
+ \let\bxjs@tmpb\relax}
+\else
+\def\bxjs@parse@qh#1{%
+ \def\bxjs@tmpa{#1}\let\bxjs@tmpb\relax
+ \bxjs@parse@qh@a{trueQ}\trueQ
+ \bxjs@parse@qh@a{trueH}\trueH
+ \bxjs@parse@qh@a{Q}\jQ
+ \bxjs@parse@qh@a{H}\jH}
+\def\bxjs@parse@qh@a#1#2{%
+ \ifx\bxjs@tmpb\relax
+ \def\bxjs@next##1#1\@nil##2\@nnil{\bxjs@parse@qh@b{##1}{##2}}%
+ \expandafter\bxjs@next\bxjs@tmpa\@nil#1\@nil\@nnil{#2}%
+ \fi}
+\def\bxjs@parse@qh@b#1#2#3{%
+ \ifx\@nnil#2\@nnil\else \def\bxjs@tmpb{#1#3}\fi}
+\fi
+% \end{macrocode}
+% \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}
+%
% 続いて、和文間空白・和欧文間空白関連の命令を実装する。
% (エンジン依存のコード。)
%
@@ -7976,8 +8136,13 @@
\loop\if@tempswa
\read\@inputcheck to\bxjs@tmpa
\expandafter\bxjs@get@ke@a\bxjs@tmpa\@nil kanjiEmbed \@nil\@nnil
- \ifx\bxjs@tmpa\relax\else
- \global\let\bxjs@g@tmpa\bxjs@tmpa
+ \ifx\bxjs@tmpb\relax\else
+ \global\let\bxjs@g@tmpa\bxjs@tmpb
+ \@tempswafalse
+ \fi
+ \expandafter\bxjs@get@ke@b\bxjs@tmpa\@nil jaEmbed \@nil\@nnil
+ \ifx\bxjs@tmpb\relax\else
+ \global\let\bxjs@g@tmpa\bxjs@tmpb
\@tempswafalse
\fi
\ifeof\@inputcheck \@tempswafalse \fi
@@ -7988,8 +8153,13 @@
}
\@onlypreamble\bxjs@get@ke@a
\def\bxjs@get@ke@a#1kanjiEmbed #2\@nil#3\@nnil{%
- \ifx$#1$\def\bxjs@tmpa{#2}%
- \else \let\bxjs@tmpa\relax
+ \ifx$#1$\def\bxjs@tmpb{#2}%
+ \else \let\bxjs@tmpb\relax
+ \fi}
+\@onlypreamble\bxjs@get@ke@b
+\def\bxjs@get@ke@b#1jaEmbed #2\@nil#3\@nnil{%
+ \ifx$#1$\def\bxjs@tmpb{#2}%
+ \else \let\bxjs@tmpb\relax
\fi}
% \end{macrocode}
% \end{macro}
@@ -8142,6 +8312,16 @@
\fi
% \end{macrocode}
%
+% \paragraph{jis2004パラメタ}
+%
+% |pxchfon| と |pxbabel| では2004JISを指定するオプションの
+% 名が |prefer2004jis| である。
+% \begin{macrocode}
+\ifbxjs@jp@jismmiv
+ \PassOptionsToPackage{prefer2004jis}{pxchfon}
+ \PassOptionsToPackage{prefer2004jis}{pxbabel}
+\fi
+% \end{macrocode}
%
% \paragraph{和文フォント指定の扱い}
%
@@ -8149,6 +8329,8 @@
% |\jsJaFont| が |auto| の場合は何もする必要がない。
% 無指定でも |auto| でもない場合は、|\jsJaFont| をオプションに
% して |pxchfon| パッケージを読み込む。
+% ここで、和文ドライバパラメタ |font| が指定されいる場合は、
+% その値を |pxchfon| のオプションに追加する。
% \begin{macrocode}
\let\bxjs@tmpa\jsJaFont
\ifx\bxjs@tmpa\bxjs@@auto
@@ -8156,11 +8338,11 @@
\else\ifx\bxjs@tmpa\bxjs@@noEmbed
\def\bxjs@tmpa{noembed}
\fi\fi
-\ifx\jsJaFont\@empty\else
- \edef\bxjs@nxt{%
- \noexpand\RequirePackage[\jsJaFont]
- {pxchfon}[2010/05/12]}% v0.5
- \bxjs@nxt
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
+\ifx\bxjs@tmpa\@empty\else
+ \edef\bxjs@next{%
+ \noexpand\RequirePackage[\bxjs@tmpa]{pxchfon}[2010/05/12]% v0.5
+ }\bxjs@next
\fi
% \end{macrocode}
%
@@ -8274,11 +8456,11 @@
% スケール値(|\jsScale|)の反映は bxcjkjatype の側で行われる。
% \begin{macrocode}
\bxjs@adjust@jafont{f}
-\edef\bxjs@nxt{%
- \noexpand\RequirePackage[%
- \ifx\bxjs@tmpa\@empty\else \bxjs@tmpa,\fi
- whole,autotilde]{bxcjkjatype}[2013/10/15]}% v0.2c
-\bxjs@nxt
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole,autotilde}}
+\edef\bxjs@next{%
+ \noexpand\RequirePackage[\bxjs@tmpa]{bxcjkjatype}[2013/10/15]% v0.2c
+}\bxjs@next
\bxjs@cjk@loaded
% \end{macrocode}
%
@@ -8405,14 +8587,14 @@
% 非指定の場合はIPAexフォントを使用する。
% \begin{macrocode}
\bxjs@adjust@jafont{f}
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
\ifx\bxjs@tmpa\@empty
\setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho}
\setCJKsansfont[BoldFont=IPAexGothic]{IPAexGothic}
\else
- \edef\bxjs@nxt{%
- \noexpand\RequirePackage[\bxjs@tmpa]%
- {zxjafont}[2013/01/28]}% v0.2a
- \bxjs@nxt
+ \edef\bxjs@next{%
+ \noexpand\RequirePackage[\bxjs@tmpa]{zxjafont}[2013/01/28]}% v0.2a
+ }\bxjs@next
\fi
% \end{macrocode}
%
@@ -8566,15 +8748,15 @@
\ifx\bxjs@tmpa\bxjs@@noEmbed
\def\bxjs@tmpa{noembed}
\fi
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
\ifx\bxjs@tmpa\@empty
\defaultjfontfeatures{ Kerning=Off }
\setmainjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexMincho}
\setsansjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexGothic}
\else
- \edef\bxjs@nxt{%
- \noexpand\RequirePackage[\bxjs@tmpa]
- {luatexja-preset}}%
- \bxjs@nxt
+ \edef\bxjs@next{%
+ \noexpand\RequirePackage[\bxjs@tmpa]{luatexja-preset}%
+ }\bxjs@next
\fi
% \end{macrocode}
%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
index a7624dd6bca..5d7db80e857 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/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c BXJS document classes]
%% このファイルは日本語文字を含みます.
\RequirePackage{calc}
\RequirePackage{keyval}
@@ -86,6 +86,12 @@
#1\expandafter\@firstoftwo
\else\expandafter\@secondoftwo
\fi}
+\def\bxjs@cslet#1{%
+ \expandafter\let\csname#1\endcsname}
+\def\bxjs@csletcs#1#2{%
+ \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\def\bxjs@catopt#1#2{%
+ #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
\def\jsAtEndOfClass{%
\expandafter\g@addto@macro\csname\bxjs@clsname.cls-h@@k\endcsname}
\@onlypreamble\bxjs@restore@jltrcc
@@ -240,7 +246,7 @@
\def\bxjs@kv@enablejfam@true{\let\bxjs@enablejfam=t}
\def\bxjs@kv@enablejfam@false{\let\bxjs@enablejfam=f}
\def\bxjs@kv@enablejfam@default{\let\bxjs@enablejfam\@undefined}
-\define@key{bxjs}{enablejfam}{%
+\define@key{bxjs}{enablejfam}[true]{%
\bxjs@set@keyval{enablejfam}{#1}{}}
\DeclareOption{disablejfam}{\let\bxjs@enablejfam=f}
\let\ifjsDraft\iffalse
@@ -475,7 +481,7 @@
\newif\ifbxjs@fancyhdr \bxjs@fancyhdrtrue
\let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue
\let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse
-\define@key{bxjs}{fancyhdr}{%
+\define@key{bxjs}{fancyhdr}[true]{%
\bxjs@set@keyval{fancyhdr}{#1}{}}
\newif\ifbxjs@dvi@opt
\let\bxjs@dvidriver@@dvipdfmx=\bxjs@driver@@dvipdfmx
@@ -509,15 +515,15 @@
\newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue
\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}{}}
+\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}}
\newif\ifbxjs@xkanjiskip@cmd \bxjs@xkanjiskip@cmdtrue
\let\bxjs@kv@xkanjiskipcmd@true\bxjs@xkanjiskip@cmdtrue
\let\bxjs@kv@xkanjiskipcmd@false\bxjs@xkanjiskip@cmdfalse
-\define@key{bxjs}{xkanjiskip-cmd}{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
\newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse
-\define@key{bxjs}{hyperref-enc}{\bxjs@set@keyval{hyperrefenc}{#1}{}}
+\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}}
\let\bxjs@ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved@a{#2}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
index 6f2b0756d4a..a6b880e9317 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/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c BXJS document classes]
%% このファイルは日本語文字を含みます.
\RequirePackage{calc}
\RequirePackage{keyval}
@@ -86,6 +86,12 @@
#1\expandafter\@firstoftwo
\else\expandafter\@secondoftwo
\fi}
+\def\bxjs@cslet#1{%
+ \expandafter\let\csname#1\endcsname}
+\def\bxjs@csletcs#1#2{%
+ \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\def\bxjs@catopt#1#2{%
+ #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
\def\jsAtEndOfClass{%
\expandafter\g@addto@macro\csname\bxjs@clsname.cls-h@@k\endcsname}
\@onlypreamble\bxjs@restore@jltrcc
@@ -246,7 +252,7 @@
\def\bxjs@kv@enablejfam@true{\let\bxjs@enablejfam=t}
\def\bxjs@kv@enablejfam@false{\let\bxjs@enablejfam=f}
\def\bxjs@kv@enablejfam@default{\let\bxjs@enablejfam\@undefined}
-\define@key{bxjs}{enablejfam}{%
+\define@key{bxjs}{enablejfam}[true]{%
\bxjs@set@keyval{enablejfam}{#1}{}}
\DeclareOption{disablejfam}{\let\bxjs@enablejfam=f}
\let\ifjsDraft\iffalse
@@ -481,7 +487,7 @@
\newif\ifbxjs@fancyhdr \bxjs@fancyhdrtrue
\let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue
\let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse
-\define@key{bxjs}{fancyhdr}{%
+\define@key{bxjs}{fancyhdr}[true]{%
\bxjs@set@keyval{fancyhdr}{#1}{}}
\newif\ifbxjs@dvi@opt
\let\bxjs@dvidriver@@dvipdfmx=\bxjs@driver@@dvipdfmx
@@ -518,15 +524,15 @@
\newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue
\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}{}}
+\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}}
\newif\ifbxjs@xkanjiskip@cmd \bxjs@xkanjiskip@cmdtrue
\let\bxjs@kv@xkanjiskipcmd@true\bxjs@xkanjiskip@cmdtrue
\let\bxjs@kv@xkanjiskipcmd@false\bxjs@xkanjiskip@cmdfalse
-\define@key{bxjs}{xkanjiskip-cmd}{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
\newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse
-\define@key{bxjs}{hyperref-enc}{\bxjs@set@keyval{hyperrefenc}{#1}{}}
+\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}}
\let\bxjs@ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved@a{#2}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
index a0e060d4854..a1d5ede2ce9 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/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c 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 1e939d70e67..5e0ca3eccc8 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/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c 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 f54aaf76148..a7e9360acb1 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/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c BXJS document classes]
%% このファイルは日本語文字を含みます
\def\DeclareJaTextFontCommand#1#2{%
\DeclareRobustCommand#1[1]{%
@@ -45,6 +45,8 @@
\AtBeginDocument{%
\ifx\familydefault\bxjs@@CSsfdefault#1\fi}%
}
+\@tempdima\p@ \bxjs@invscale\@tempdima\jsScale
+\edef\jsInverseScale{\strip@pt\@tempdima}
\def\jsLetHeadChar#1#2{%
\begingroup
\escapechar=`\\ %
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
index 1021409e2d9..527a660cbf5 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/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c 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 fead351d685..ef247e5e273 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/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c BXJS document classes]
\input{bxjsja-standard.def}
\@onlypreamble\bxjs@set@dupload@proc
\def\bxjs@set@dupload@proc#1{%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
index 44ec5bc312d..95f40207fcf 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
@@ -21,10 +21,24 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-standard.def}
- [2017/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c BXJS document classes]
%% このファイルは日本語文字を含みます
\input{bxjsja-minimal.def}
\bxjs@simplejasetupfalse
+\newif\ifbxjs@jp@jismmiv
+\bxjs@cslet{bxjs@kv@jis2004@true}\bxjs@jp@jismmivtrue
+\bxjs@cslet{bxjs@kv@jis2004@false}\bxjs@jp@jismmivfalse
+\define@key{bxjsStd}{jis2004}[true]{%
+ \bxjs@set@keyval{jis2004}{#1}{}}
+\let\bxjs@jp@font\@empty
+\define@key{bxjsStd}{font}{%
+ \edef\bxjs@jp@font{#1}}
+\def\bxjs@next#1{\bxjs@safe@setkeys{bxjsStd}{#1}}
+\expandafter\bxjs@next\expandafter{\jsJaParam}
+\ifbxjs@jp@jismmiv
+ \g@addto@macro\@classoptionslist{,jis2004}
+ \PassOptionsToPackage{jis2004}{otf}
+\fi
\ifjsWitheTeX
\@tempdima=0.25mm
\protected\edef\jQ{\dimexpr\the\@tempdima\relax}
@@ -46,6 +60,45 @@
\@tempdima\bxjs@truept \bxjs@invscale\@tempdima\jsScale
\protected\edef\ascpt{\dimexpr\the\@tempdima\relax}
\fi
+\def\jsSetQHLength#1#2{%
+ \begingroup
+ \bxjs@parse@qh{#2}%
+ \ifx\bxjs@tmpb\relax \setlength\@tempdima{#2}%
+ \else \@tempdima\bxjs@tmpb\relax
+ \fi
+ \xdef\bxjs@g@tmpa{\the\@tempdima}%
+ \endgroup
+ #1=\bxjs@g@tmpa\relax}
+\if j\jsEngine
+\def\bxjs@parse@qh#1{%
+ \let\bxjs@tmpb\relax}
+\else
+\def\bxjs@parse@qh#1{%
+ \def\bxjs@tmpa{#1}\let\bxjs@tmpb\relax
+ \bxjs@parse@qh@a{trueQ}\trueQ
+ \bxjs@parse@qh@a{trueH}\trueH
+ \bxjs@parse@qh@a{Q}\jQ
+ \bxjs@parse@qh@a{H}\jH}
+\def\bxjs@parse@qh@a#1#2{%
+ \ifx\bxjs@tmpb\relax
+ \def\bxjs@next##1#1\@nil##2\@nnil{\bxjs@parse@qh@b{##1}{##2}}%
+ \expandafter\bxjs@next\bxjs@tmpa\@nil#1\@nil\@nnil{#2}%
+ \fi}
+\def\bxjs@parse@qh@b#1#2#3{%
+ \ifx\@nnil#2\@nnil\else \def\bxjs@tmpb{#1#3}\fi}
+\fi
+\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}
\def\bxjs@kanjiskip{0pt}
\newcommand*\setkanjiskip[1]{%
\edef\bxjs@kanjiskip{#1}%
@@ -130,8 +183,13 @@
\loop\if@tempswa
\read\@inputcheck to\bxjs@tmpa
\expandafter\bxjs@get@ke@a\bxjs@tmpa\@nil kanjiEmbed \@nil\@nnil
- \ifx\bxjs@tmpa\relax\else
- \global\let\bxjs@g@tmpa\bxjs@tmpa
+ \ifx\bxjs@tmpb\relax\else
+ \global\let\bxjs@g@tmpa\bxjs@tmpb
+ \@tempswafalse
+ \fi
+ \expandafter\bxjs@get@ke@b\bxjs@tmpa\@nil jaEmbed \@nil\@nnil
+ \ifx\bxjs@tmpb\relax\else
+ \global\let\bxjs@g@tmpa\bxjs@tmpb
\@tempswafalse
\fi
\ifeof\@inputcheck \@tempswafalse \fi
@@ -142,8 +200,13 @@
}
\@onlypreamble\bxjs@get@ke@a
\def\bxjs@get@ke@a#1kanjiEmbed #2\@nil#3\@nnil{%
- \ifx$#1$\def\bxjs@tmpa{#2}%
- \else \let\bxjs@tmpa\relax
+ \ifx$#1$\def\bxjs@tmpb{#2}%
+ \else \let\bxjs@tmpb\relax
+ \fi}
+\@onlypreamble\bxjs@get@ke@b
+\def\bxjs@get@ke@b#1jaEmbed #2\@nil#3\@nnil{%
+ \ifx$#1$\def\bxjs@tmpb{#2}%
+ \else \let\bxjs@tmpb\relax
\fi}
\newcommand*\jachar[1]{%
\begingroup
@@ -227,17 +290,21 @@
\else \def\>{\protect\bxjs@put@xkanjiskip}
\fi
\fi
+\ifbxjs@jp@jismmiv
+ \PassOptionsToPackage{prefer2004jis}{pxchfon}
+ \PassOptionsToPackage{prefer2004jis}{pxbabel}
+\fi
\let\bxjs@tmpa\jsJaFont
\ifx\bxjs@tmpa\bxjs@@auto
\let\bxjs@tmpa\@empty
\else\ifx\bxjs@tmpa\bxjs@@noEmbed
\def\bxjs@tmpa{noembed}
\fi\fi
-\ifx\jsJaFont\@empty\else
- \edef\bxjs@nxt{%
- \noexpand\RequirePackage[\jsJaFont]
- {pxchfon}[2010/05/12]}% v0.5
- \bxjs@nxt
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
+\ifx\bxjs@tmpa\@empty\else
+ \edef\bxjs@next{%
+ \noexpand\RequirePackage[\bxjs@tmpa]{pxchfon}[2010/05/12]% v0.5
+ }\bxjs@next
\fi
\begingroup
\global\let\@gtempa\relax
@@ -304,11 +371,11 @@
\fi
\else\if p\jsEngine
\bxjs@adjust@jafont{f}
-\edef\bxjs@nxt{%
- \noexpand\RequirePackage[%
- \ifx\bxjs@tmpa\@empty\else \bxjs@tmpa,\fi
- whole,autotilde]{bxcjkjatype}[2013/10/15]}% v0.2c
-\bxjs@nxt
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole,autotilde}}
+\edef\bxjs@next{%
+ \noexpand\RequirePackage[\bxjs@tmpa]{bxcjkjatype}[2013/10/15]% v0.2c
+}\bxjs@next
\bxjs@cjk@loaded
\ifbxjs@hyperref@enc
\PassOptionsToPackage{unicode}{hyperref}
@@ -374,14 +441,14 @@
{xeCJK or zxjatype is too old}\@ehc
\fi
\bxjs@adjust@jafont{f}
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
\ifx\bxjs@tmpa\@empty
\setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho}
\setCJKsansfont[BoldFont=IPAexGothic]{IPAexGothic}
\else
- \edef\bxjs@nxt{%
- \noexpand\RequirePackage[\bxjs@tmpa]%
- {zxjafont}[2013/01/28]}% v0.2a
- \bxjs@nxt
+ \edef\bxjs@next{%
+ \noexpand\RequirePackage[\bxjs@tmpa]{zxjafont}[2013/01/28]}% v0.2a
+ }\bxjs@next
\fi
\ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99992}>\m@ne
\ifbxjs@hyperref@enc
@@ -434,15 +501,15 @@
\ifx\bxjs@tmpa\bxjs@@noEmbed
\def\bxjs@tmpa{noembed}
\fi
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
\ifx\bxjs@tmpa\@empty
\defaultjfontfeatures{ Kerning=Off }
\setmainjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexMincho}
\setsansjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexGothic}
\else
- \edef\bxjs@nxt{%
- \noexpand\RequirePackage[\bxjs@tmpa]
- {luatexja-preset}}%
- \bxjs@nxt
+ \edef\bxjs@next{%
+ \noexpand\RequirePackage[\bxjs@tmpa]{luatexja-preset}%
+ }\bxjs@next
\fi
\DeclareRobustCommand\rmfamily
{\not@math@alphabet\rmfamily\mathrm
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
index edaf2987ca6..ce95871c02b 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/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c BXJS document classes]
%% このファイルは日本語文字を含みます.
\RequirePackage{calc}
\RequirePackage{keyval}
@@ -86,6 +86,12 @@
#1\expandafter\@firstoftwo
\else\expandafter\@secondoftwo
\fi}
+\def\bxjs@cslet#1{%
+ \expandafter\let\csname#1\endcsname}
+\def\bxjs@csletcs#1#2{%
+ \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\def\bxjs@catopt#1#2{%
+ #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
\def\jsAtEndOfClass{%
\expandafter\g@addto@macro\csname\bxjs@clsname.cls-h@@k\endcsname}
\@onlypreamble\bxjs@restore@jltrcc
@@ -246,7 +252,7 @@
\def\bxjs@kv@enablejfam@true{\let\bxjs@enablejfam=t}
\def\bxjs@kv@enablejfam@false{\let\bxjs@enablejfam=f}
\def\bxjs@kv@enablejfam@default{\let\bxjs@enablejfam\@undefined}
-\define@key{bxjs}{enablejfam}{%
+\define@key{bxjs}{enablejfam}[true]{%
\bxjs@set@keyval{enablejfam}{#1}{}}
\DeclareOption{disablejfam}{\let\bxjs@enablejfam=f}
\let\ifjsDraft\iffalse
@@ -481,7 +487,7 @@
\newif\ifbxjs@fancyhdr \bxjs@fancyhdrtrue
\let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue
\let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse
-\define@key{bxjs}{fancyhdr}{%
+\define@key{bxjs}{fancyhdr}[true]{%
\bxjs@set@keyval{fancyhdr}{#1}{}}
\newif\ifbxjs@dvi@opt
\let\bxjs@dvidriver@@dvipdfmx=\bxjs@driver@@dvipdfmx
@@ -518,15 +524,15 @@
\newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue
\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}{}}
+\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}}
\newif\ifbxjs@xkanjiskip@cmd \bxjs@xkanjiskip@cmdtrue
\let\bxjs@kv@xkanjiskipcmd@true\bxjs@xkanjiskip@cmdtrue
\let\bxjs@kv@xkanjiskipcmd@false\bxjs@xkanjiskip@cmdfalse
-\define@key{bxjs}{xkanjiskip-cmd}{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
\newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse
-\define@key{bxjs}{hyperref-enc}{\bxjs@set@keyval{hyperrefenc}{#1}{}}
+\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}}
\let\bxjs@ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved@a{#2}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
index 384f9fe2dde..e5e6541ac2f 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/04/01 v1.5b BXJS document classes]
+ [2017/06/10 v1.5c BXJS document classes]
%% このファイルは日本語文字を含みます.
\RequirePackage{calc}
\RequirePackage{keyval}
@@ -86,6 +86,12 @@
#1\expandafter\@firstoftwo
\else\expandafter\@secondoftwo
\fi}
+\def\bxjs@cslet#1{%
+ \expandafter\let\csname#1\endcsname}
+\def\bxjs@csletcs#1#2{%
+ \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\def\bxjs@catopt#1#2{%
+ #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
\def\jsAtEndOfClass{%
\expandafter\g@addto@macro\csname\bxjs@clsname.cls-h@@k\endcsname}
\@onlypreamble\bxjs@restore@jltrcc
@@ -240,7 +246,7 @@
\def\bxjs@kv@enablejfam@true{\let\bxjs@enablejfam=t}
\def\bxjs@kv@enablejfam@false{\let\bxjs@enablejfam=f}
\def\bxjs@kv@enablejfam@default{\let\bxjs@enablejfam\@undefined}
-\define@key{bxjs}{enablejfam}{%
+\define@key{bxjs}{enablejfam}[true]{%
\bxjs@set@keyval{enablejfam}{#1}{}}
\DeclareOption{disablejfam}{\let\bxjs@enablejfam=f}
\let\ifjsDraft\iffalse
@@ -475,7 +481,7 @@
\newif\ifbxjs@fancyhdr \bxjs@fancyhdrtrue
\let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue
\let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse
-\define@key{bxjs}{fancyhdr}{%
+\define@key{bxjs}{fancyhdr}[true]{%
\bxjs@set@keyval{fancyhdr}{#1}{}}
\newif\ifbxjs@dvi@opt
\let\bxjs@dvidriver@@dvipdfmx=\bxjs@driver@@dvipdfmx
@@ -509,15 +515,15 @@
\newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue
\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}{}}
+\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}}
\newif\ifbxjs@xkanjiskip@cmd \bxjs@xkanjiskip@cmdtrue
\let\bxjs@kv@xkanjiskipcmd@true\bxjs@xkanjiskip@cmdtrue
\let\bxjs@kv@xkanjiskipcmd@false\bxjs@xkanjiskip@cmdfalse
-\define@key{bxjs}{xkanjiskip-cmd}{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
\newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue
\let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse
-\define@key{bxjs}{hyperref-enc}{\bxjs@set@keyval{hyperrefenc}{#1}{}}
+\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}}
\let\bxjs@ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved@a{#2}%