summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README-ja.md5
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdfbin609946 -> 612039 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex30
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdfbin1002887 -> 1010660 bytes
-rw-r--r--Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx363
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls44
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls44
-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.def32
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def16
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def109
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls44
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls44
17 files changed, 603 insertions, 138 deletions
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
index 632f511bb23..233304ee1bc 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
@@ -98,6 +98,11 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使
更新履歴
--------
+ * Version 1.7 〈2017/10/21〉
+ - 和文空白命令(`\jaenspace` 等)を追加。
+ - `everyparhook` オプションを新設。
+ * Version 1.6b 〈2017/09/28〉
+ - Pandoc モードでは bxcjkjatype に autotilde を付けない。
* Version 1.6a 〈2017/09/24〉
- `bxjspandoc` パッケージを新設。
- Pandoc モードで起こる細かい不具合に対処した。
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md
index fc1c3498fce..8fa22da1b0e 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README.md
@@ -88,6 +88,8 @@ This package is distributed under the BSD 2-Clause License.
Revision History
----------------
+ * Version 1.7 〈2017/10/21〉
+ * Version 1.6b 〈2017/09/28〉
* Version 1.6a 〈2017/09/24〉
* Version 1.6 〈2017/09/09〉
- Sync with jsclasses 2017/09/03.
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
index d1734bf43f9..c6e7e21685b 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 6e0ce1aa1d0..4b05743e5a1 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
+++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
@@ -12,13 +12,14 @@
\renewcommand*{\XeLaTeX}{XeLaTeX}}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.6a}
-\newcommand{\PkgDate}{2017/09/24}
+\newcommand{\PkgVersion}{1.7}
+\newcommand{\PkgDate}{2017/10/21}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
\newcommand{\Means}{:\ }
\newcommand{\jemph}{\textsf}
+\newcommand{\wbr}{\linebreak[0]}
\providecommand{\pTeX}{p\TeX}
\providecommand{\pLaTeX}{p\LaTeX}
\providecommand{\upTeX}{u\pTeX}
@@ -790,9 +791,13 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
\Pkg{hyperref}パッケージについて
「PDF文字列の文字コード設定を補正する処理」
を行うか否か。
-\item |xkanjiskip-cmd=|\Meta{真偽値}\Means
- |\>| を和欧文間空白を挿入する命令として定義するか否か。
+\item |jaspace-cmd=|\Meta{真偽値}\Means
+ 以下に挙げる和文空白命令を定義するか否か。
(詳しくは\ref{ssec:ja-settings}節を参照。)
+ \begin{quote}
+ |\jaenspace|、|\jathinspace|、|\>|、
+ |\_|(|\|\,+\,全角空白)
+ \end{quote}
\item |layout=|\Meta{値}\Means
レイアウトの変種を選択する。
現状では、過去の版との互換性を維持するために用いられている。
@@ -1234,6 +1239,14 @@ vscale=0.944, vmarginratio=1:1
ただし |nozw| 指定時は定義されない。
\item |\zwspace|\Means
全角(|\jsZw|)幅の水平空き。
+\item |\_|(|\|\,の後に全角空白文字)\Means
+ |\zwspace| の別名。
+ 全角幅の水平空き。
+ \Note \Pkg{jlreq}クラスと互換の命令。
+ ただしBXJSクラスはJLREQの和字間隔の規定とは無関係であり、
+ この命令は単純に |\hspace|\wbr|{\jsZw}| と等価である。
+\item |\jaenspace|\Means
+ 半角(0.5|\jsZw|)幅の水平空き。
\end{itemize}
\subsubsection{standard和文ドライバの場合}
@@ -1286,15 +1299,18 @@ standard和文ドライバ(およびそれを継承するドライバ)では
\item |\autospacing|/|\noautospacing|\Means
和文間空白の挿入を有効/無効にする。
{\pLaTeX}の同名の命令と同等。
+\item |\jathinspace|\Means
+ 和欧文間空白を挿入する。
\item |\>|\Means
- 和欧文間空白を挿入する。%
+ (非数式モードで
\footnote{|\>| という命令名は、plain {\TeX}では数式中の空白
({\LaTeX}の |\:| と同等)を表す。
このため、実際には{\LaTeX}でも |\>| は |\:| と同等の命令として
定義されている。
この「plain互換の |\>|」を利用したコードが影響を受けるのを避ける
- ため、数式中では |\>| は従来通り |\:| と同等の動作を行う。}
- ただし |xkanjiskip-cmd=false| 指定時は定義されない。%
+ ため、数式中では |\>| は従来通り |\:| と同等の動作を行う。}%
+ )和欧文間空白を挿入する。
+ \Note |jaspace-cmd=false| 指定時は定義されない。%
\footnote{ただし、standard和文ドライバで自動的に読み込まれる
\Pkg{zxjatype}や\Pkg{bxcjkjatype}のパッケージは、
それ自体が同様の機能の |\>| を提供することにも注意を要する。}
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
index 56b97c79314..71ab0d79c95 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 0e9f43cea11..d0a7daf8242 100644
--- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
+++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
@@ -68,7 +68,9 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2017/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 BXJS document classes]
+% [2017/09/28 v1.6b BXJS document classes]
+% [2017/09/24 v1.6a BXJS document classes]
% [2017/09/09 v1.6 BXJS document classes]
% based on jsclasses [2017/09/03]
% [2017/07/07 v1.5d BXJS document classes]
@@ -1788,13 +1790,14 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\ifbxjs@xkanjiskip@cmd}
-% 〔スイッチ〕 |xkanjiskip-cmd| の指定値。
+% \begin{macro}{\ifbxjs@jaspace@cmd}
+% 〔スイッチ〕 |jaspace-cmd| の指定値。
% \begin{macrocode}
-\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}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
+\newif\ifbxjs@jaspace@cmd \bxjs@jaspace@cmdtrue
+\let\bxjs@kv@jaspacecmd@true\bxjs@jaspace@cmdtrue
+\let\bxjs@kv@jaspacecmd@false\bxjs@jaspace@cmdfalse
+\define@key{bxjs}{jaspace-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#1}{}}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#1}{}}
% \end{macrocode}
% \end{macro}
%
@@ -1808,6 +1811,24 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\bxjs@everyparhook}
+% |everyparhook| の指定値。
+% \begin{macrocode}
+\chardef\bxjs@everyparhook@none=0
+\chardef\bxjs@everyparhook@compat=1
+\chardef\bxjs@everyparhook@modern=2
+\if j\jsEngine
+ \let\bxjs@everyparhook\bxjs@everyparhook@compat
+\else
+ \let\bxjs@everyparhook\bxjs@everyparhook@modern
+\fi
+\def\bxjs@kv@everyparhook@none{\let\bxjs@everyparhook\bxjs@everyparhook@none}
+\def\bxjs@kv@everyparhook@compat{\let\bxjs@everyparhook\bxjs@everyparhook@compat}
+\def\bxjs@kv@everyparhook@modern{\let\bxjs@everyparhook\bxjs@everyparhook@modern}
+\define@key{bxjs}{everyparhook}{\bxjs@set@keyval{everyparhook}{#1}{}}
+% \end{macrocode}
+% \end{macro}
+%
% \end{ZRnote}
%
% \paragraph{オプションの実行}
@@ -4574,6 +4595,19 @@
% 前のアキがちょうどゼロの場合にもうまくいくように,多少変えてあります。
% |\everyparhook| も挿入しています。
%
+% \begin{ZRnote}
+% |\everyparhook| の挿入は |everyparhook=compat| の時のみ行う。
+% \begin{macro}{\bxjs@if@ceph}
+% |everyparhook=compat| である場合にのみ直後のトークンを実行する。
+% \begin{macrocode}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+ \let\bxjs@if@ceph\@firstofone
+\else \let\bxjs@if@ceph\@gobble
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{ZRnote}
+%
% \begin{macrocode}
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
@@ -4636,11 +4670,10 @@
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
- \bxjs@ltj@inhibitglue
\else
\clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
+ \everypar\expandafter{\bxjs@if@ceph\everyparhook}%
+ \fi\bxjs@if@ceph\everyparhook}%
\else
\par \nobreak
\vskip \@tempskipa
@@ -4667,14 +4700,6 @@
\@xsect{#3}}
% \end{macrocode}
%
-% \begin{ZRnote}
-% 上記の定義中の |\bxjs@ltj@inhibitglue| は{Lua\TeX-ja}で
-% 用いられるフック。
-% \begin{macrocode}
-\let\bxjs@ltj@inhibitglue\@empty
-% \end{macrocode}
-% \end{ZRnote}
-%
% \paragraph{柱関係の命令}
%
% \begin{macro}{\chaptermark}
@@ -7170,7 +7195,9 @@
% これの初期値を先述の |\jsInhibitGlueAtParTop| とする。
% \begin{macrocode}
\def\everyparhook{\jsInhibitGlueAtParTop}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
\AtBeginDocument{\everypar{\everyparhook}}
+\fi
% \end{macrocode}
% \end{macro}
% \end{ZRnote}
@@ -7186,10 +7213,12 @@
% 高いので,専用の命令 |\jsc@ig@temp| に置き換えました(Issue \#54)。
%
% \begin{ZRnote}
-% \begin{macro}{\@inhibitglue}
-% JSクラスでの |\jsInhibitGlueAtParTop| の実装。
-% (これは{(u)\pTeX}専用である。)
+% 次の |\@inhibitglue| はJSクラスでの |\jsInhibitGlueAtParTop| の
+% 実装である。
+% エンジンが |(u)platex| の場合はこれを採用する。
+% \end{ZRnote}
% \begin{macrocode}
+\ifx j\jsEngine
\def\@inhibitglue{%
\futurelet\@let@token\@@inhibitglue}
\begingroup
@@ -7217,10 +7246,18 @@
\inhibitglue
\fi
\fi}
+\fi
% \end{macrocode}
-% \end{macro}
%
+% \begin{ZRnote}
+% ここからしばらく
+% 「(本物の)|\everypar| に追加した |\everyparhook| を保持する」
+% ためのパッチ処理が続く。
+% これは、|everyparhook=compat| の場合にのみ実行する。
% \end{ZRnote}
+% \begin{macrocode}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+% \end{macrocode}
%
% これだけではいけないようです。あちこちに |\everypar| を初期化するコマンドが
% 隠されていました。
@@ -7293,7 +7330,6 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi
- \bxjs@ltj@inhibitglue
\everyparhook}%
\if@noitemarg
\@noitemargfalse
@@ -7335,6 +7371,13 @@
\fi\everyparhook}}
% \end{macrocode}
%
+% \begin{ZRnote}
+% 「|\everyparhook| 用のパッチ処理」はここまで。
+% \end{ZRnote}
+% \begin{macrocode}
+\fi
+% \end{macrocode}
+%
% |\@gnewline| についてはちょっと複雑な心境です。
% もともとのp\LaTeXe は段落の頭にグルーが入る方で統一されていました。
% しかし |\\| の直後にはグルーが入らず,不統一でした。
@@ -7344,7 +7387,13 @@
%
% しかし単に戻すだけでも駄目みたいなので,ここでも最後にグルーを消しておきます。
%
+% \begin{ZRnote}
+% \Note |luatexja| を読みこんだ場合に lltjcore.sty によって上書きされる
+% のを防ぐため遅延させる。
+% \end{ZRnote}
% \begin{macrocode}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@none\else
+\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode
\@nolnerr
@@ -7352,6 +7401,8 @@
\unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
\jsInhibitGlue \ignorespaces
\fi}
+}
+\fi
% \end{macrocode}
%
% \section{いろいろなロゴ}
@@ -8233,6 +8284,43 @@
\fi
% \end{macrocode}
%
+% \paragraph{段落頭でのグルー挿入禁止}
+%
+% \begin{macro}{\bxjs@check@everyparhook}
+% 本体開始時において |\everyparhook| を検査して、
+% “結局何もしない”ことになっている場合は、
+% 副作用を完全に無くすために |\everyparhook| を空にする。
+% \begin{macrocode}
+\@onlypreamble\bxjs@check@everyparhook
+\def\bxjs@check@everyparhook{%
+ \ifx\jsInhibitGlueAtParTop\@empty
+ \def\bxjs@tmpa{\jsInhibitGlueAtParTop}%
+ \ifx\everyparhook\bxjs@tmpa
+ \let\everyparhook\@empty
+ \fi
+ \fi}
+\AtBeginDocument{\bxjs@check@everyparhook}
+% \end{macrocode}
+% \end{macro}
+%
+% |everyparhook=modern| の場合の、|\everyparhook| の有効化の実装。
+% \Note 本体開始時ではなく最初から有効化していることに注意。
+% \begin{macrocode}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@modern
+% \end{macrocode}
+% まず |\everypar| を“乗っ取る”処理を行う。
+% \begin{macrocode}
+ \let\bxjs@everypar\everypar
+ \newtoks\everypar
+ \everypar\bxjs@everypar
+% \end{macrocode}
+% そして本物の |\everypar| では、最後で常に |\everyparhook| が実行される
+% ようにする。
+% \begin{macrocode}
+ \bxjs@everypar{\the\expandafter\everypar\everyparhook}%
+\fi
+% \end{macrocode}
+%
% \paragraph{fancyhdr対策}
% |fancyhdr| オプションの値が |true| であり、
% かつ |fancyhdr| が使用された場合に以下の対策を行う。
@@ -8312,6 +8400,54 @@
\global\let\bxjs@pagestyle@hook\relax}
% \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}
\fi
@@ -8801,6 +8937,39 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\jsCheckHyperrefUnicode}
+% 「|hyperref| の |unicode| オプションの値を検証する」ための
+% 本体開始時のフック。
+% \begin{macrocode}
+\@onlypreamble\jsCheckHyperrefUnicode
+\let\jsCheckHyperrefUnicode\@empty
+\AtBeginDocument{\jsCheckHyperrefUnicode}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bxjs@check@hyperref@unicode}
+% |hyperref| の |unicode| オプションの値を本体開始時に検証する。
+% \begin{macrocode}
+\@onlypreamble\bxjs@check@hyperref@unicode
+\def\bxjs@check@hyperref@unicode#1{%
+ \g@addto@macro\jsCheckHyperrefUnicode{%
+ \@tempswafalse
+ \begingroup
+ \expandafter\ifx\csname ifHy@unicode\endcsname\relax
+ \aftergroup\@tempswatrue \fi
+ \expandafter\ifx\csname ifHy@unicode\expandafter\endcsname
+ \csname if#1\endcsname
+ \aftergroup\@tempswatrue \fi
+ \endgroup
+ \if@tempswa\else
+ \ClassError\bxjs@clsname
+ {The value of hyperref 'unicode' key is not suitable\MessageBreak
+ for the present engine (must be #1)}%
+ {\@ehc}%
+ \fi}}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\bxjs@urgent@special}
% DVIのなるべく早い位置にspecialを出力する。
% \begin{macrocode}
@@ -8879,16 +9048,10 @@
\fi
% \end{macrocode}
%
-% 和欧文間空白の命令 |\>| の実装。
+% 和欧文間空白の命令 |\jathinspace| の実装。
% \begin{macrocode}
-\ifbxjs@xkanjiskip@cmd
- \def\bxjs@put@xkanjiskip{%
- \relax\ifmmode \mskip\medmuskip
- \else \hskip\xkanjiskip
- \fi}
- \ifjsWitheTeX \protected\def\>{\bxjs@put@xkanjiskip}
- \else \def\>{\protect\bxjs@put@xkanjiskip}
- \fi
+\ifbxjs@jaspace@cmd
+ \def\jathinspace{\hskip\xkanjiskip}
\fi
% \end{macrocode}
%
@@ -8970,7 +9133,7 @@
% |unicode| にしてはいけない。
% \begin{macrocode}
\ifbxjs@hyperref@enc
- \bxjs@fix@hyperref@unicode{false}
+ \bxjs@check@hyperref@unicode{false}
\fi
% \end{macrocode}
%
@@ -9034,10 +9197,14 @@
% オプション(プリセット指定)に渡す。
% (|auto| ならば |\bxjs@get@kanjiEmbed| を実行する。)
% スケール値(|\jsScale|)の反映は bxcjkjatype の側で行われる。
+% \Note Pandocモードでは |autotilde| を指定しない。
% \begin{macrocode}
\bxjs@adjust@jafont{f}
\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
-\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole,autotilde}}
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole}}
+\def\bxjs@tmpb{pandoc}\ifx\bxjs@tmpb\bxjs@jadriver\else
+ \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{autotilde}}
+\fi
\edef\bxjs@next{%
\noexpand\RequirePackage[\bxjs@tmpa]{bxcjkjatype}[2013/10/15]% v0.2c
}\bxjs@next
@@ -9119,11 +9286,10 @@
\CJKforced{#1}}
% \end{macrocode}
%
-% |\>| は |bxcjkjatype| で定義されているが、保護付のマクロに変換する。
+% 和欧文間空白の命令 |\jathinspace| の実装。
% \begin{macrocode}
-\ifbxjs@xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip \else \CJKecglue\ignorespaces \fi}
+\ifbxjs@jaspace@cmd
+ \protected\def\jathinspace{\CJKecglue}
\fi
% \end{macrocode}
%
@@ -9213,8 +9379,19 @@
% 近いものが得られるらしい。
%
% 従って、|\jsInhibitGlueAtParTop| は結局何もしないことにする。
+%
+% 強制改行直後のグルー禁止処理、のような怪しげな何か。
+%
% \begin{macrocode}
-\let\jsInhibitGlueAtParTop\@empty
+\AtEndOfPackage{%
+\def\@gnewline #1{%
+ \ifvmode \@nolnerr
+ \else
+ \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
+ \nobreak \hskip-1sp\hskip1sp\relax
+ \ignorespaces
+ \fi}
+}
% \end{macrocode}
%
% \paragraph{共通命令の実装}
@@ -9255,12 +9432,10 @@
#1}
% \end{macrocode}
%
-% |\>| は |zxjatype| で定義されているが、standardの仕様に合わせて変更する。
-% \Note 元は |\ignorespaces| でなく |\relax|(|\scan_stop:|)だった。
+% |\jathinspace| の実装。
% \begin{macrocode}
-\ifbxjs@xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip \else \CJKecglue\ignorespaces \fi}
+\ifbxjs@jaspace@cmd
+ \protected\def\jathinspace{\CJKecglue}
\fi
% \end{macrocode}
%
@@ -9375,20 +9550,53 @@
%
% \paragraph{段落頭でのグルー挿入禁止}
%
+% 基本的に現状の |ltjs*| クラスの処理に合わせる。
+% \Note |\jsInhibitGlueAtParTop| は使わない。
+%
+% \begin{macro}{\ltjfakeparbegin}
+% 現在の{\LuaTeX-ja}で定義されているマクロで、
+% 段落中で段落冒頭用の処理を発動する。
+% 未定義である場合にに備えて同等のものを用意する。
% \begin{macrocode}
-\protected\def\@inhibitglue{%
- \directlua{%
- luatexja.jfmglue.create_beginpar_node()}}
-\let\bxjs@ltj@inhibitglue\@inhibitglue
-\let\@@inhibitglue\@undefined
+\ifx\ltjfakeparbegin\@undefined
+ \protected\def\ltjfakeparbegin{%
+ \ifhmode
+ \relax\directlua{%
+ luatexja.jfmglue.create_beginpar_node()}}
+ \fi}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% |ltjs*| クラスの定義と同等になるようにパッチを当てる。
+% \begin{macrocode}
+\unless\ifnum\bxjs@everyparhook=\bxjs@everyparhook@none
+\begingroup
+ \let\%\@percentchar \def\@#1{[[\detokenize{#1}]]}
+ \@gobble\if\def\bxjs@tmpa{\@{\everypar{}\fi}}
+ \ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+ \@gobble\if\def\bxjs@tmpa{\@{\everypar{\everyparhook}\fi}}\fi
+ \directlua{
+ local function patchcmd(cs, code, from, to)
+ tex.sprint(code:gsub(from:gsub("\%W", "\%\%\%0"), "\%0"..to)
+ :gsub("macro:", \@\gdef..cs, 1):gsub("->", "{", 1).."}")
+ end
+ patchcmd(\@\@xsect, [[\meaning\@xsect]],
+ \@{\hskip-\@tempskipa}, \@\ltjfakeparbegin)
+ patchcmd(\@\@item, [[\meaning\@item]],
+ \bxjs@tmpa, \@\ltjfakeparbegin)}
+\endgroup
+\fi
% \end{macrocode}
%
% \paragraph{hyperref対策}
%
% |unicode| にするべき。
+% \Note 1.6c版より、固定ではなく既定設定+検証に切り替えた。
% \begin{macrocode}
\ifbxjs@hyperref@enc
- \bxjs@fix@hyperref@unicode{true}
+ \PassOptionsToPackage{unicode}{hyperref}
+ \bxjs@check@hyperref@unicode{true}
\fi
% \end{macrocode}
%
@@ -9415,13 +9623,11 @@
\ltjjachar`#1\relax}
% \end{macrocode}
%
-% |\>| の実装。
+% |\jathinspace| の実装。
% \begin{macrocode}
-\ifbxjs@xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip
- \else \hskip\ltjgetparameter{xkanjiskip}\ignorespaces
- \fi}
+\ifbxjs@jaspace@cmd
+ \protected\def\jathinspace{%
+ \hskip\ltjgetparameter{xkanjiskip}\relax}
\fi
% \end{macrocode}
%
@@ -9472,6 +9678,24 @@
% \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}
@@ -9725,6 +9949,33 @@
% \end{macrocode}
%
%^^A----------------
+%\subsection{全角空白文字}
+%
+% \begin{macrocode}
+\ifnum0\if x\jsEngine1\fi\if l\jsEngine1\fi>\z@
+ \catcode"3000=\active
+ \begingroup \catcode`\!=7
+ \protected\gdef!!!!3000{\zwspace}
+ \endgroup
+\else\ifx\DeclareUnicodeCharacter\@undefined\else
+ \DeclareUnicodeCharacter{3000}{\bxjs@zsp@char}
+ \bxjs@protected\def\bxjs@zsp@char{\zwspace}
+\fi\fi
+% \end{macrocode}
+%
+%^^A----------------
+% \paragraph{hyperref対策}
+%
+% |hyperref| の |unicode| オプションの固定を行う。
+% \begin{macrocode}
+\if j\jsEngine
+ \bxjs@fix@hyperref@unicode{false}
+\else
+ \bxjs@fix@hyperref@unicode{true}
+\fi
+% \end{macrocode}
+%
+%^^A----------------
% \subsection{完了}
% おしまい。
% \begin{macrocode}
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
index 7a22892d8e5..716134ef316 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/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjs@clsname{bxjsarticle}
\newif\ifjsc@needsp@tch
@@ -541,14 +541,27 @@
\let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue
\let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse
\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}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
+\newif\ifbxjs@jaspace@cmd \bxjs@jaspace@cmdtrue
+\let\bxjs@kv@jaspacecmd@true\bxjs@jaspace@cmdtrue
+\let\bxjs@kv@jaspacecmd@false\bxjs@jaspace@cmdfalse
+\define@key{bxjs}{jaspace-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#1}{}}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#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}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}}
+\chardef\bxjs@everyparhook@none=0
+\chardef\bxjs@everyparhook@compat=1
+\chardef\bxjs@everyparhook@modern=2
+\if j\jsEngine
+ \let\bxjs@everyparhook\bxjs@everyparhook@compat
+\else
+ \let\bxjs@everyparhook\bxjs@everyparhook@modern
+\fi
+\def\bxjs@kv@everyparhook@none{\let\bxjs@everyparhook\bxjs@everyparhook@none}
+\def\bxjs@kv@everyparhook@compat{\let\bxjs@everyparhook\bxjs@everyparhook@compat}
+\def\bxjs@kv@everyparhook@modern{\let\bxjs@everyparhook\bxjs@everyparhook@modern}
+\define@key{bxjs}{everyparhook}{\bxjs@set@keyval{everyparhook}{#1}{}}
\let\bxjs@ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved@a{#2}%
@@ -1323,6 +1336,10 @@
\@ifstar
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+ \let\bxjs@if@ceph\@firstofone
+\else \let\bxjs@if@ceph\@gobble
+\fi
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
@@ -1370,11 +1387,10 @@
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
- \bxjs@ltj@inhibitglue
\else
\clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
+ \everypar\expandafter{\bxjs@if@ceph\everyparhook}%
+ \fi\bxjs@if@ceph\everyparhook}%
\else
\par \nobreak
\vskip \@tempskipa
@@ -1399,7 +1415,6 @@
\endgroup
\fi
\@xsect{#3}}
-\let\bxjs@ltj@inhibitglue\@empty
\newcommand*\chaptermark[1]{}
\setcounter{secnumdepth}{3}
\newcounter{part}
@@ -1989,7 +2004,10 @@
\llap{\@makefnmark\hskip0.3\jsZw}#1}
\let\jsInhibitGlueAtParTop\@empty
\def\everyparhook{\jsInhibitGlueAtParTop}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
\AtBeginDocument{\everypar{\everyparhook}}
+\fi
+\ifx j\jsEngine
\def\@inhibitglue{%
\futurelet\@let@token\@@inhibitglue}
\begingroup
@@ -2017,6 +2035,8 @@
\inhibitglue
\fi
\fi}
+\fi
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
\def\@doendpe{%
\@endpetrue
\def\par{%
@@ -2069,7 +2089,6 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi
- \bxjs@ltj@inhibitglue
\everyparhook}%
\if@noitemarg
\@noitemargfalse
@@ -2103,6 +2122,9 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi\everyparhook}}
+\fi
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@none\else
+\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode
\@nolnerr
@@ -2110,6 +2132,8 @@
\unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
\jsInhibitGlue \ignorespaces
\fi}
+}
+\fi
\if@jslogo
\IfFileExists{jslogo.sty}{%
\RequirePackage{jslogo}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
index 5a89ea06886..819886cfca0 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/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjs@clsname{bxjsbook}
\newif\ifjsc@needsp@tch
@@ -550,14 +550,27 @@
\let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue
\let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse
\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}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
+\newif\ifbxjs@jaspace@cmd \bxjs@jaspace@cmdtrue
+\let\bxjs@kv@jaspacecmd@true\bxjs@jaspace@cmdtrue
+\let\bxjs@kv@jaspacecmd@false\bxjs@jaspace@cmdfalse
+\define@key{bxjs}{jaspace-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#1}{}}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#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}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}}
+\chardef\bxjs@everyparhook@none=0
+\chardef\bxjs@everyparhook@compat=1
+\chardef\bxjs@everyparhook@modern=2
+\if j\jsEngine
+ \let\bxjs@everyparhook\bxjs@everyparhook@compat
+\else
+ \let\bxjs@everyparhook\bxjs@everyparhook@modern
+\fi
+\def\bxjs@kv@everyparhook@none{\let\bxjs@everyparhook\bxjs@everyparhook@none}
+\def\bxjs@kv@everyparhook@compat{\let\bxjs@everyparhook\bxjs@everyparhook@compat}
+\def\bxjs@kv@everyparhook@modern{\let\bxjs@everyparhook\bxjs@everyparhook@modern}
+\define@key{bxjs}{everyparhook}{\bxjs@set@keyval{everyparhook}{#1}{}}
\let\bxjs@ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved@a{#2}%
@@ -1350,6 +1363,10 @@
\@ifstar
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+ \let\bxjs@if@ceph\@firstofone
+\else \let\bxjs@if@ceph\@gobble
+\fi
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
@@ -1397,11 +1414,10 @@
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
- \bxjs@ltj@inhibitglue
\else
\clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
+ \everypar\expandafter{\bxjs@if@ceph\everyparhook}%
+ \fi\bxjs@if@ceph\everyparhook}%
\else
\par \nobreak
\vskip \@tempskipa
@@ -1426,7 +1442,6 @@
\endgroup
\fi
\@xsect{#3}}
-\let\bxjs@ltj@inhibitglue\@empty
\newcommand*\chaptermark[1]{}
\setcounter{secnumdepth}{2}
\newcounter{part}
@@ -2096,7 +2111,10 @@
\llap{\@makefnmark\hskip0.3\jsZw}#1}
\let\jsInhibitGlueAtParTop\@empty
\def\everyparhook{\jsInhibitGlueAtParTop}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
\AtBeginDocument{\everypar{\everyparhook}}
+\fi
+\ifx j\jsEngine
\def\@inhibitglue{%
\futurelet\@let@token\@@inhibitglue}
\begingroup
@@ -2124,6 +2142,8 @@
\inhibitglue
\fi
\fi}
+\fi
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
\def\@doendpe{%
\@endpetrue
\def\par{%
@@ -2176,7 +2196,6 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi
- \bxjs@ltj@inhibitglue
\everyparhook}%
\if@noitemarg
\@noitemargfalse
@@ -2210,6 +2229,9 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi\everyparhook}}
+\fi
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@none\else
+\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode
\@nolnerr
@@ -2217,6 +2239,8 @@
\unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
\jsInhibitGlue \ignorespaces
\fi}
+}
+\fi
\if@jslogo
\IfFileExists{jslogo.sty}{%
\RequirePackage{jslogo}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
index 8ac1d5150c5..473adb8082d 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/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 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 e72267bcb31..c36f490f226 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/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 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 8b6e7326583..6e699799db0 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/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 BXJS document classes]
%% このファイルは日本語文字を含みます
\def\DeclareJaTextFontCommand#1#2{%
\DeclareRobustCommand#1[1]{%
@@ -286,6 +286,21 @@
\bxjs@do@precisetext
\fi
\fi
+\@onlypreamble\bxjs@check@everyparhook
+\def\bxjs@check@everyparhook{%
+ \ifx\jsInhibitGlueAtParTop\@empty
+ \def\bxjs@tmpa{\jsInhibitGlueAtParTop}%
+ \ifx\everyparhook\bxjs@tmpa
+ \let\everyparhook\@empty
+ \fi
+ \fi}
+\AtBeginDocument{\bxjs@check@everyparhook}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@modern
+ \let\bxjs@everypar\everypar
+ \newtoks\everypar
+ \everypar\bxjs@everypar
+ \bxjs@everypar{\the\expandafter\everypar\everyparhook}%
+\fi
\ifbxjs@fancyhdr
\@onlypreamble\bxjs@adjust@fancyhdr
\def\bxjs@adjust@fancyhdr{%
@@ -323,6 +338,21 @@
\AtBeginDocument{%
\bxjs@pagestyle@hook
\global\let\bxjs@pagestyle@hook\relax}
+\ifbxjs@jaspace@cmd
+ \def\jaenspace{\hskip.5\jsZw\relax}
+ \def\jathinspace{\hskip\z@skip}
+ \def\ {\zwspace}
+ \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}
+\fi
\fi
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
index 1d66deb3f7e..4e09f6d071f 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/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 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 1412fa21374..73df73dec2a 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/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 BXJS document classes]
\input{bxjsja-standard.def}
\RequirePackage{bxjspandoc}
\@onlypreamble\bxjs@set@dupload@proc
@@ -92,6 +92,20 @@
\if@tempswa\ifx\jsParagraphMark\bxjs@org@paragraph@mark
\let\jsParagraphMark\@empty
\fi\fi}
+\ifnum0\if x\jsEngine1\fi\if l\jsEngine1\fi>\z@
+ \catcode"3000=\active
+ \begingroup \catcode`\!=7
+ \protected\gdef!!!!3000{\zwspace}
+ \endgroup
+\else\ifx\DeclareUnicodeCharacter\@undefined\else
+ \DeclareUnicodeCharacter{3000}{\bxjs@zsp@char}
+ \bxjs@protected\def\bxjs@zsp@char{\zwspace}
+\fi\fi
+\if j\jsEngine
+ \bxjs@fix@hyperref@unicode{false}
+\else
+ \bxjs@fix@hyperref@unicode{true}
+\fi
\endinput
%%
%% End of file `bxjsja-pandoc.def'.
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
index 3f9d1282d58..ad1a5222703 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesFile{bxjsja-standard.def}
- [2017/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 BXJS document classes]
%% このファイルは日本語文字を含みます
\input{bxjsja-minimal.def}
\bxjs@simplejasetupfalse
@@ -235,6 +235,26 @@
}%
}%
}
+\@onlypreamble\jsCheckHyperrefUnicode
+\let\jsCheckHyperrefUnicode\@empty
+\AtBeginDocument{\jsCheckHyperrefUnicode}
+\@onlypreamble\bxjs@check@hyperref@unicode
+\def\bxjs@check@hyperref@unicode#1{%
+ \g@addto@macro\jsCheckHyperrefUnicode{%
+ \@tempswafalse
+ \begingroup
+ \expandafter\ifx\csname ifHy@unicode\endcsname\relax
+ \aftergroup\@tempswatrue \fi
+ \expandafter\ifx\csname ifHy@unicode\expandafter\endcsname
+ \csname if#1\endcsname
+ \aftergroup\@tempswatrue \fi
+ \endgroup
+ \if@tempswa\else
+ \ClassError\bxjs@clsname
+ {The value of hyperref 'unicode' key is not suitable\MessageBreak
+ for the present engine (must be #1)}%
+ {\@ehc}%
+ \fi}}
\@onlypreamble\bxjs@urgent@special
\def\bxjs@urgent@special#1{%
\AtBeginDvi{\special{#1}}%
@@ -281,14 +301,8 @@
\bxUInt{\@tempcnta}%
\fi}
\fi
-\ifbxjs@xkanjiskip@cmd
- \def\bxjs@put@xkanjiskip{%
- \relax\ifmmode \mskip\medmuskip
- \else \hskip\xkanjiskip
- \fi}
- \ifjsWitheTeX \protected\def\>{\bxjs@put@xkanjiskip}
- \else \def\>{\protect\bxjs@put@xkanjiskip}
- \fi
+\ifbxjs@jaspace@cmd
+ \def\jathinspace{\hskip\xkanjiskip}
\fi
\ifbxjs@jp@jismmiv
\PassOptionsToPackage{prefer2004jis}{pxchfon}
@@ -335,7 +349,7 @@
\endgroup}
\@gtempa
\ifbxjs@hyperref@enc
- \bxjs@fix@hyperref@unicode{false}
+ \bxjs@check@hyperref@unicode{false}
\fi
\if \ifx\bxjs@driver@given\bxjs@driver@@dvipdfmx T%
\else\ifjsWithpTeXng T\else F\fi\fi T%
@@ -372,7 +386,10 @@
\else\if p\jsEngine
\bxjs@adjust@jafont{f}
\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}
-\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole,autotilde}}
+\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole}}
+\def\bxjs@tmpb{pandoc}\ifx\bxjs@tmpb\bxjs@jadriver\else
+ \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{autotilde}}
+\fi
\edef\bxjs@next{%
\noexpand\RequirePackage[\bxjs@tmpa]{bxcjkjatype}[2013/10/15]% v0.2c
}\bxjs@next
@@ -422,9 +439,8 @@
\let\CJKecglue\bxjs@CJKecglue}
\def\bxjs@jachar#1{%
\CJKforced{#1}}
-\ifbxjs@xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip \else \CJKecglue\ignorespaces \fi}
+\ifbxjs@jaspace@cmd
+ \protected\def\jathinspace{\CJKecglue}
\fi
\ifx t\bxjs@enablejfam
\ClassWarningNoLine\bxjs@clsname
@@ -455,7 +471,15 @@
\PassOptionsToPackage{unicode}{hyperref}
\fi
\fi
-\let\jsInhibitGlueAtParTop\@empty
+\AtEndOfPackage{%
+\def\@gnewline #1{%
+ \ifvmode \@nolnerr
+ \else
+ \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
+ \nobreak \hskip-1sp\hskip1sp\relax
+ \ignorespaces
+ \fi}
+}
\newskip\jsKanjiSkip
\newskip\jsXKanjiSkip
\ifx\CJKecglue\@undefined
@@ -480,9 +504,8 @@
\def\bxjs@jachar#1{%
\xeCJKDeclareCharClass{CJK}{`#1}\relax
#1}
-\ifbxjs@xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip \else \CJKecglue\ignorespaces \fi}
+\ifbxjs@jaspace@cmd
+ \protected\def\jathinspace{\CJKecglue}
\fi
\ifx t\bxjs@enablejfam
\@enablejfamtrue
@@ -530,13 +553,33 @@
\ltjsetparameter{jaxspmode={`〒,2}}
\ltjsetparameter{alxspmode={`+,3}}
\ltjsetparameter{alxspmode={`\%,3}}
-\protected\def\@inhibitglue{%
- \directlua{%
- luatexja.jfmglue.create_beginpar_node()}}
-\let\bxjs@ltj@inhibitglue\@inhibitglue
-\let\@@inhibitglue\@undefined
+\ifx\ltjfakeparbegin\@undefined
+ \protected\def\ltjfakeparbegin{%
+ \ifhmode
+ \relax\directlua{%
+ luatexja.jfmglue.create_beginpar_node()}}
+ \fi}
+\fi
+\unless\ifnum\bxjs@everyparhook=\bxjs@everyparhook@none
+\begingroup
+ \let\%\@percentchar \def\@#1{[[\detokenize{#1}]]}
+ \@gobble\if\def\bxjs@tmpa{\@{\everypar{}\fi}}
+ \ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+ \@gobble\if\def\bxjs@tmpa{\@{\everypar{\everyparhook}\fi}}\fi
+ \directlua{
+ local function patchcmd(cs, code, from, to)
+ tex.sprint(code:gsub(from:gsub("\%W", "\%\%\%0"), "\%0"..to)
+ :gsub("macro:", \@\gdef..cs, 1):gsub("->", "{", 1).."}")
+ end
+ patchcmd(\@\@xsect, [[\meaning\@xsect]],
+ \@{\hskip-\@tempskipa}, \@\ltjfakeparbegin)
+ patchcmd(\@\@item, [[\meaning\@item]],
+ \bxjs@tmpa, \@\ltjfakeparbegin)}
+\endgroup
+\fi
\ifbxjs@hyperref@enc
- \bxjs@fix@hyperref@unicode{true}
+ \PassOptionsToPackage{unicode}{hyperref}
+ \bxjs@check@hyperref@unicode{true}
\fi
\protected\def\autospacing{%
\ltjsetparameter{autospacing=true}}
@@ -552,11 +595,9 @@
\ltjsetparameter{xkanjiskip={\@tempskipa}}}
\def\bxjs@jachar#1{%
\ltjjachar`#1\relax}
-\ifbxjs@xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip
- \else \hskip\ltjgetparameter{xkanjiskip}\ignorespaces
- \fi}
+\ifbxjs@jaspace@cmd
+ \protected\def\jathinspace{%
+ \hskip\ltjgetparameter{xkanjiskip}\relax}
\fi
\ifx f\bxjs@enablejfam
\ClassWarningNoLine\bxjs@clsname
@@ -572,6 +613,16 @@
\DeclareJaMathFontCommand{\mathmc}{\mcfamily}
\DeclareJaMathFontCommand{\mathgt}{\gtfamily}
\fi
+\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
\setkanjiskip{0pt plus.1\jsZw minus.01\jsZw}
\ifx\jsDocClass\jsSlide \setxkanjiskip{0.1em}
\else \setxkanjiskip{0.25em plus 0.15em minus 0.06em}
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty
index 914ac949ec9..46cb8f33c87 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\ProvidesPackage{bxjspandoc}
- [2017/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjsp@pkgname{bxjscjkcat}
\let\bxjsp@engine=n
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
index de3554ba617..512d7ec0b15 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/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjs@clsname{bxjsreport}
\newif\ifjsc@needsp@tch
@@ -549,14 +549,27 @@
\let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue
\let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse
\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}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
+\newif\ifbxjs@jaspace@cmd \bxjs@jaspace@cmdtrue
+\let\bxjs@kv@jaspacecmd@true\bxjs@jaspace@cmdtrue
+\let\bxjs@kv@jaspacecmd@false\bxjs@jaspace@cmdfalse
+\define@key{bxjs}{jaspace-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#1}{}}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#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}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}}
+\chardef\bxjs@everyparhook@none=0
+\chardef\bxjs@everyparhook@compat=1
+\chardef\bxjs@everyparhook@modern=2
+\if j\jsEngine
+ \let\bxjs@everyparhook\bxjs@everyparhook@compat
+\else
+ \let\bxjs@everyparhook\bxjs@everyparhook@modern
+\fi
+\def\bxjs@kv@everyparhook@none{\let\bxjs@everyparhook\bxjs@everyparhook@none}
+\def\bxjs@kv@everyparhook@compat{\let\bxjs@everyparhook\bxjs@everyparhook@compat}
+\def\bxjs@kv@everyparhook@modern{\let\bxjs@everyparhook\bxjs@everyparhook@modern}
+\define@key{bxjs}{everyparhook}{\bxjs@set@keyval{everyparhook}{#1}{}}
\let\bxjs@ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved@a{#2}%
@@ -1332,6 +1345,10 @@
\@ifstar
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+ \let\bxjs@if@ceph\@firstofone
+\else \let\bxjs@if@ceph\@gobble
+\fi
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
@@ -1379,11 +1396,10 @@
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
- \bxjs@ltj@inhibitglue
\else
\clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
+ \everypar\expandafter{\bxjs@if@ceph\everyparhook}%
+ \fi\bxjs@if@ceph\everyparhook}%
\else
\par \nobreak
\vskip \@tempskipa
@@ -1408,7 +1424,6 @@
\endgroup
\fi
\@xsect{#3}}
-\let\bxjs@ltj@inhibitglue\@empty
\newcommand*\chaptermark[1]{}
\setcounter{secnumdepth}{2}
\newcounter{part}
@@ -2126,7 +2141,10 @@
\llap{\@makefnmark\hskip0.3\jsZw}#1}
\let\jsInhibitGlueAtParTop\@empty
\def\everyparhook{\jsInhibitGlueAtParTop}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
\AtBeginDocument{\everypar{\everyparhook}}
+\fi
+\ifx j\jsEngine
\def\@inhibitglue{%
\futurelet\@let@token\@@inhibitglue}
\begingroup
@@ -2154,6 +2172,8 @@
\inhibitglue
\fi
\fi}
+\fi
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
\def\@doendpe{%
\@endpetrue
\def\par{%
@@ -2206,7 +2226,6 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi
- \bxjs@ltj@inhibitglue
\everyparhook}%
\if@noitemarg
\@noitemargfalse
@@ -2240,6 +2259,9 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi\everyparhook}}
+\fi
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@none\else
+\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode
\@nolnerr
@@ -2247,6 +2269,8 @@
\unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
\jsInhibitGlue \ignorespaces
\fi}
+}
+\fi
\if@jslogo
\IfFileExists{jslogo.sty}{%
\RequirePackage{jslogo}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
index 72d6b301fd9..3227f3b19ee 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/09/24 v1.6a BXJS document classes]
+ [2017/10/21 v1.7 BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjs@clsname{bxjsslide}
\newif\ifjsc@needsp@tch
@@ -541,14 +541,27 @@
\let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue
\let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse
\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}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}}
+\newif\ifbxjs@jaspace@cmd \bxjs@jaspace@cmdtrue
+\let\bxjs@kv@jaspacecmd@true\bxjs@jaspace@cmdtrue
+\let\bxjs@kv@jaspacecmd@false\bxjs@jaspace@cmdfalse
+\define@key{bxjs}{jaspace-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#1}{}}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#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}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}}
+\chardef\bxjs@everyparhook@none=0
+\chardef\bxjs@everyparhook@compat=1
+\chardef\bxjs@everyparhook@modern=2
+\if j\jsEngine
+ \let\bxjs@everyparhook\bxjs@everyparhook@compat
+\else
+ \let\bxjs@everyparhook\bxjs@everyparhook@modern
+\fi
+\def\bxjs@kv@everyparhook@none{\let\bxjs@everyparhook\bxjs@everyparhook@none}
+\def\bxjs@kv@everyparhook@compat{\let\bxjs@everyparhook\bxjs@everyparhook@compat}
+\def\bxjs@kv@everyparhook@modern{\let\bxjs@everyparhook\bxjs@everyparhook@modern}
+\define@key{bxjs}{everyparhook}{\bxjs@set@keyval{everyparhook}{#1}{}}
\let\bxjs@ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved@a{#2}%
@@ -1321,6 +1334,10 @@
\@ifstar
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+ \let\bxjs@if@ceph\@firstofone
+\else \let\bxjs@if@ceph\@gobble
+\fi
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
@@ -1368,11 +1385,10 @@
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
- \bxjs@ltj@inhibitglue
\else
\clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
+ \everypar\expandafter{\bxjs@if@ceph\everyparhook}%
+ \fi\bxjs@if@ceph\everyparhook}%
\else
\par \nobreak
\vskip \@tempskipa
@@ -1397,7 +1413,6 @@
\endgroup
\fi
\@xsect{#3}}
-\let\bxjs@ltj@inhibitglue\@empty
\newcommand*\chaptermark[1]{}
\setcounter{secnumdepth}{3}
\newcounter{part}
@@ -1987,7 +2002,10 @@
\llap{\@makefnmark\hskip0.3\jsZw}#1}
\let\jsInhibitGlueAtParTop\@empty
\def\everyparhook{\jsInhibitGlueAtParTop}
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
\AtBeginDocument{\everypar{\everyparhook}}
+\fi
+\ifx j\jsEngine
\def\@inhibitglue{%
\futurelet\@let@token\@@inhibitglue}
\begingroup
@@ -2015,6 +2033,8 @@
\inhibitglue
\fi
\fi}
+\fi
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
\def\@doendpe{%
\@endpetrue
\def\par{%
@@ -2067,7 +2087,6 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi
- \bxjs@ltj@inhibitglue
\everyparhook}%
\if@noitemarg
\@noitemargfalse
@@ -2101,6 +2120,9 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi\everyparhook}}
+\fi
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@none\else
+\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode
\@nolnerr
@@ -2108,6 +2130,8 @@
\unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
\jsInhibitGlue \ignorespaces
\fi}
+}
+\fi
\if@jslogo
\IfFileExists{jslogo.sty}{%
\RequirePackage{jslogo}%