texlive[45566] Master/texmf-dist: bxjscls (21oct17)
commits+karl at tug.org
commits+karl at tug.org
Sat Oct 21 23:37:59 CEST 2017
Revision: 45566
http://tug.org/svn/texlive?view=revision&revision=45566
Author: karl
Date: 2017-10-21 23:37:58 +0200 (Sat, 21 Oct 2017)
Log Message:
-----------
bxjscls (21oct17)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
trunk/Master/texmf-dist/doc/latex/bxjscls/README.md
trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md 2017-10-21 21:37:58 UTC (rev 45566)
@@ -98,6 +98,11 @@
更新履歴
--------
+ * 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 モードで起こる細かい不具合に対処した。
Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/README.md
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 @@
\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 @@
ただし |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 @@
\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}のパッケージは、
それ自体が同様の機能の |\>| を提供することにも注意を要する。}
Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at xkanjiskip@cmd}
-% 〔スイッチ〕 |xkanjiskip-cmd| の指定値。
+% \begin{macro}{\ifbxjs at jaspace@cmd}
+% 〔スイッチ〕 |jaspace-cmd| の指定値。
% \begin{macrocode}
-\newif\ifbxjs at xkanjiskip@cmd \bxjs at xkanjiskip@cmdtrue
-\let\bxjs at kv@xkanjiskipcmd at true\bxjs at xkanjiskip@cmdtrue
-\let\bxjs at kv@xkanjiskipcmd at false\bxjs at xkanjiskip@cmdfalse
-\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
+\newif\ifbxjs at jaspace@cmd \bxjs at jaspace@cmdtrue
+\let\bxjs at kv@jaspacecmd at true\bxjs at jaspace@cmdtrue
+\let\bxjs at kv@jaspacecmd at false\bxjs at jaspace@cmdfalse
+\define at key{bxjs}{jaspace-cmd}[true]{\bxjs at set@keyval{jaspacecmd}{#1}{}}
+\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{jaspacecmd}{#1}{}}
% \end{macrocode}
% \end{macro}
%
@@ -1808,6 +1811,24 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\bxjs at everyparhook}
+% |everyparhook| の指定値。
+% \begin{macrocode}
+\chardef\bxjs at everyparhook@none=0
+\chardef\bxjs at everyparhook@compat=1
+\chardef\bxjs at everyparhook@modern=2
+\if j\jsEngine
+ \let\bxjs at everyparhook\bxjs at everyparhook@compat
+\else
+ \let\bxjs at everyparhook\bxjs at everyparhook@modern
+\fi
+\def\bxjs at kv@everyparhook at none{\let\bxjs at everyparhook\bxjs at everyparhook@none}
+\def\bxjs at kv@everyparhook at compat{\let\bxjs at everyparhook\bxjs at everyparhook@compat}
+\def\bxjs at kv@everyparhook at modern{\let\bxjs at everyparhook\bxjs at everyparhook@modern}
+\define at key{bxjs}{everyparhook}{\bxjs at set@keyval{everyparhook}{#1}{}}
+% \end{macrocode}
+% \end{macro}
+%
% \end{ZRnote}
%
% \paragraph{オプションの実行}
@@ -4574,7 +4595,20 @@
% 前のアキがちょうどゼロの場合にもうまくいくように,多少変えてあります。
% |\everyparhook| も挿入しています。
%
+% \begin{ZRnote}
+% |\everyparhook| の挿入は |everyparhook=compat| の時のみ行う。
+% \begin{macro}{\bxjs at if@ceph}
+% |everyparhook=compat| である場合にのみ直後のトークンを実行する。
% \begin{macrocode}
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
+ \let\bxjs at if@ceph\@firstofone
+\else \let\bxjs at 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 at secnumdepth
\let\@svsec\@empty
@@ -4636,11 +4670,10 @@
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
- \bxjs at ltj@inhibitglue
\else
\clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
+ \everypar\expandafter{\bxjs at if@ceph\everyparhook}%
+ \fi\bxjs at if@ceph\everyparhook}%
\else
\par \nobreak
\vskip \@tempskipa
@@ -4667,14 +4700,6 @@
\@xsect{#3}}
% \end{macrocode}
%
-% \begin{ZRnote}
-% 上記の定義中の |\bxjs at ltj@inhibitglue| は{Lua\TeX-ja}で
-% 用いられるフック。
-% \begin{macrocode}
-\let\bxjs at ltj@inhibitglue\@empty
-% \end{macrocode}
-% \end{ZRnote}
-%
% \paragraph{柱関係の命令}
%
% \begin{macro}{\chaptermark}
@@ -7170,7 +7195,9 @@
% これの初期値を先述の |\jsInhibitGlueAtParTop| とする。
% \begin{macrocode}
\def\everyparhook{\jsInhibitGlueAtParTop}
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
\AtBeginDocument{\everypar{\everyparhook}}
+\fi
% \end{macrocode}
% \end{macro}
% \end{ZRnote}
@@ -7186,10 +7213,12 @@
% 高いので,専用の命令 |\jsc at 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 at 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 at everyparhook=\bxjs at everyparhook@compat
+% \end{macrocode}
%
% これだけではいけないようです。あちこちに |\everypar| を初期化するコマンドが
% 隠されていました。
@@ -7293,7 +7330,6 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi
- \bxjs at ltj@inhibitglue
\everyparhook}%
\if at 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 at everyparhook=\bxjs at everyparhook@none\else
+\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode
\@nolnerr
@@ -7352,6 +7401,8 @@
\unskip \reserved at e {\reserved at f#1}\nobreak \hfil \break \null
\jsInhibitGlue \ignorespaces
\fi}
+}
+\fi
% \end{macrocode}
%
% \section{いろいろなロゴ}
@@ -8233,6 +8284,43 @@
\fi
% \end{macrocode}
%
+% \paragraph{段落頭でのグルー挿入禁止}
+%
+% \begin{macro}{\bxjs at check@everyparhook}
+% 本体開始時において |\everyparhook| を検査して、
+% “結局何もしない”ことになっている場合は、
+% 副作用を完全に無くすために |\everyparhook| を空にする。
+% \begin{macrocode}
+\@onlypreamble\bxjs at check@everyparhook
+\def\bxjs at check@everyparhook{%
+ \ifx\jsInhibitGlueAtParTop\@empty
+ \def\bxjs at tmpa{\jsInhibitGlueAtParTop}%
+ \ifx\everyparhook\bxjs at tmpa
+ \let\everyparhook\@empty
+ \fi
+ \fi}
+\AtBeginDocument{\bxjs at check@everyparhook}
+% \end{macrocode}
+% \end{macro}
+%
+% |everyparhook=modern| の場合の、|\everyparhook| の有効化の実装。
+% \Note 本体開始時ではなく最初から有効化していることに注意。
+% \begin{macrocode}
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@modern
+% \end{macrocode}
+% まず |\everypar| を“乗っ取る”処理を行う。
+% \begin{macrocode}
+ \let\bxjs at everypar\everypar
+ \newtoks\everypar
+ \everypar\bxjs at everypar
+% \end{macrocode}
+% そして本物の |\everypar| では、最後で常に |\everyparhook| が実行される
+% ようにする。
+% \begin{macrocode}
+ \bxjs at everypar{\the\expandafter\everypar\everyparhook}%
+\fi
+% \end{macrocode}
+%
% \paragraph{fancyhdr対策}
% |fancyhdr| オプションの値が |true| であり、
% かつ |fancyhdr| が使用された場合に以下の対策を行う。
@@ -8312,6 +8400,54 @@
\global\let\bxjs at pagestyle@hook\relax}
% \end{macrocode}
%
+% \paragraph{和文空白命令}
+% \begin{macrocode}
+\ifbxjs at 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 at 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 at jaspace@@#1\endcsname\relax
+ \ClassError\bxjs at clsname
+ {Unknown jaspace: #1}{\@eha}%
+ \else
+ \csname bxjs at jaspace@@#1\endcsname
+ \fi}
+ \def\bxjs at jaspace@@zenkaku{\hskip 1\jsZw\relax}
+ \def\bxjs at jaspace@@nibu{\hskip .5\jsZw\relax}
+ \def\bxjs at 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 at check@hyperref at unicode}
+% |hyperref| の |unicode| オプションの値を本体開始時に検証する。
+% \begin{macrocode}
+\@onlypreamble\bxjs at check@hyperref at unicode
+\def\bxjs at check@hyperref at unicode#1{%
+ \g at addto@macro\jsCheckHyperrefUnicode{%
+ \@tempswafalse
+ \begingroup
+ \expandafter\ifx\csname ifHy at unicode\endcsname\relax
+ \aftergroup\@tempswatrue \fi
+ \expandafter\ifx\csname ifHy at unicode\expandafter\endcsname
+ \csname if#1\endcsname
+ \aftergroup\@tempswatrue \fi
+ \endgroup
+ \if at tempswa\else
+ \ClassError\bxjs at 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 at urgent@special}
% DVIのなるべく早い位置にspecialを出力する。
% \begin{macrocode}
@@ -8879,16 +9048,10 @@
\fi
% \end{macrocode}
%
-% 和欧文間空白の命令 |\>| の実装。
+% 和欧文間空白の命令 |\jathinspace| の実装。
% \begin{macrocode}
-\ifbxjs at xkanjiskip@cmd
- \def\bxjs at put@xkanjiskip{%
- \relax\ifmmode \mskip\medmuskip
- \else \hskip\xkanjiskip
- \fi}
- \ifjsWitheTeX \protected\def\>{\bxjs at put@xkanjiskip}
- \else \def\>{\protect\bxjs at put@xkanjiskip}
- \fi
+\ifbxjs at jaspace@cmd
+ \def\jathinspace{\hskip\xkanjiskip}
\fi
% \end{macrocode}
%
@@ -8970,7 +9133,7 @@
% |unicode| にしてはいけない。
% \begin{macrocode}
\ifbxjs at hyperref@enc
- \bxjs at fix@hyperref at unicode{false}
+ \bxjs at check@hyperref at unicode{false}
\fi
% \end{macrocode}
%
@@ -9034,10 +9197,14 @@
% オプション(プリセット指定)に渡す。
% (|auto| ならば |\bxjs at get@kanjiEmbed| を実行する。)
% スケール値(|\jsScale|)の反映は bxcjkjatype の側で行われる。
+% \Note Pandocモードでは |autotilde| を指定しない。
% \begin{macrocode}
\bxjs at adjust@jafont{f}
\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa\bxjs at jp@font}
-\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa{whole,autotilde}}
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa{whole}}
+\def\bxjs at tmpb{pandoc}\ifx\bxjs at tmpb\bxjs at jadriver\else
+ \edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa{autotilde}}
+\fi
\edef\bxjs at next{%
\noexpand\RequirePackage[\bxjs at tmpa]{bxcjkjatype}[2013/10/15]% v0.2c
}\bxjs at next
@@ -9119,11 +9286,10 @@
\CJKforced{#1}}
% \end{macrocode}
%
-% |\>| は |bxcjkjatype| で定義されているが、保護付のマクロに変換する。
+% 和欧文間空白の命令 |\jathinspace| の実装。
% \begin{macrocode}
-\ifbxjs at xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip \else \CJKecglue\ignorespaces \fi}
+\ifbxjs at 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 at e {\reserved at 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 at xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip \else \CJKecglue\ignorespaces \fi}
+\ifbxjs at 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 at 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 at everyparhook=\bxjs at everyparhook@none
+\begingroup
+ \let\%\@percentchar \def\@#1{[[\detokenize{#1}]]}
+ \@gobble\if\def\bxjs at tmpa{\@{\everypar{}\fi}}
+ \ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
+ \@gobble\if\def\bxjs at 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 at tmpa, \@\ltjfakeparbegin)}
+\endgroup
+\fi
+% \end{macrocode}
+%
% \paragraph{hyperref対策}
%
% |unicode| にするべき。
+% \Note 1.6c版より、固定ではなく既定設定+検証に切り替えた。
% \begin{macrocode}
\ifbxjs at hyperref@enc
- \bxjs at fix@hyperref at unicode{true}
+ \PassOptionsToPackage{unicode}{hyperref}
+ \bxjs at check@hyperref at unicode{true}
\fi
% \end{macrocode}
%
@@ -9415,13 +9623,11 @@
\ltjjachar`#1\relax}
% \end{macrocode}
%
-% |\>| の実装。
+% |\jathinspace| の実装。
% \begin{macrocode}
-\ifbxjs at xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip
- \else \hskip\ltjgetparameter{xkanjiskip}\ignorespaces
- \fi}
+\ifbxjs at 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 at jaspace@cmd
+ \bxjs at protected\def\bxjs at choice@jathinspace{%
+ \relax\ifmmode \mskip\medmuskip
+ \else \jathinspace\ignorespaces
+ \fi}
+ \jsAtEndOfClass{%
+ \ifjsWitheTeX \let\>\bxjs at choice@jathinspace
+ \else \def\>{\protect\bxjs at 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 at zsp@char}
+ \bxjs at protected\def\bxjs at zsp@char{\zwspace}
+\fi\fi
+% \end{macrocode}
+%
+%^^A----------------
+% \paragraph{hyperref対策}
+%
+% |hyperref| の |unicode| オプションの固定を行う。
+% \begin{macrocode}
+\if j\jsEngine
+ \bxjs at fix@hyperref at unicode{false}
+\else
+ \bxjs at fix@hyperref at unicode{true}
+\fi
+% \end{macrocode}
+%
+%^^A----------------
% \subsection{完了}
% おしまい。
% \begin{macrocode}
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at clsname{bxjsarticle}
\newif\ifjsc at needsp@tch
@@ -541,14 +541,27 @@
\let\bxjs at kv@wholezwlines at true\bxjs at whole@zw at linestrue
\let\bxjs at kv@wholezwlines at false\bxjs at whole@zw at linesfalse
\define at key{bxjs}{whole-zw-lines}[true]{\bxjs at set@keyval{wholezwlines}{#1}{}}
-\newif\ifbxjs at xkanjiskip@cmd \bxjs at xkanjiskip@cmdtrue
-\let\bxjs at kv@xkanjiskipcmd at true\bxjs at xkanjiskip@cmdtrue
-\let\bxjs at kv@xkanjiskipcmd at false\bxjs at xkanjiskip@cmdfalse
-\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
+\newif\ifbxjs at jaspace@cmd \bxjs at jaspace@cmdtrue
+\let\bxjs at kv@jaspacecmd at true\bxjs at jaspace@cmdtrue
+\let\bxjs at kv@jaspacecmd at false\bxjs at jaspace@cmdfalse
+\define at key{bxjs}{jaspace-cmd}[true]{\bxjs at set@keyval{jaspacecmd}{#1}{}}
+\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{jaspacecmd}{#1}{}}
\newif\ifbxjs at hyperref@enc \bxjs at hyperref@enctrue
\let\bxjs at kv@hyperrefenc at true\bxjs at hyperref@enctrue
\let\bxjs at kv@hyperrefenc at false\bxjs at hyperref@encfalse
\define at key{bxjs}{hyperref-enc}[true]{\bxjs at set@keyval{hyperrefenc}{#1}{}}
+\chardef\bxjs at everyparhook@none=0
+\chardef\bxjs at everyparhook@compat=1
+\chardef\bxjs at everyparhook@modern=2
+\if j\jsEngine
+ \let\bxjs at everyparhook\bxjs at everyparhook@compat
+\else
+ \let\bxjs at everyparhook\bxjs at everyparhook@modern
+\fi
+\def\bxjs at kv@everyparhook at none{\let\bxjs at everyparhook\bxjs at everyparhook@none}
+\def\bxjs at kv@everyparhook at compat{\let\bxjs at everyparhook\bxjs at everyparhook@compat}
+\def\bxjs at kv@everyparhook at modern{\let\bxjs at everyparhook\bxjs at everyparhook@modern}
+\define at key{bxjs}{everyparhook}{\bxjs at set@keyval{everyparhook}{#1}{}}
\let\bxjs at ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved at a{#2}%
@@ -1323,6 +1336,10 @@
\@ifstar
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
+ \let\bxjs at if@ceph\@firstofone
+\else \let\bxjs at if@ceph\@gobble
+\fi
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c at secnumdepth
\let\@svsec\@empty
@@ -1370,11 +1387,10 @@
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
- \bxjs at ltj@inhibitglue
\else
\clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
+ \everypar\expandafter{\bxjs at if@ceph\everyparhook}%
+ \fi\bxjs at if@ceph\everyparhook}%
\else
\par \nobreak
\vskip \@tempskipa
@@ -1399,7 +1415,6 @@
\endgroup
\fi
\@xsect{#3}}
-\let\bxjs at 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 at everyparhook=\bxjs at everyparhook@compat
\AtBeginDocument{\everypar{\everyparhook}}
+\fi
+\ifx j\jsEngine
\def\@inhibitglue{%
\futurelet\@let at token\@@inhibitglue}
\begingroup
@@ -2017,6 +2035,8 @@
\inhibitglue
\fi
\fi}
+\fi
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
\def\@doendpe{%
\@endpetrue
\def\par{%
@@ -2069,7 +2089,6 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi
- \bxjs at ltj@inhibitglue
\everyparhook}%
\if at noitemarg
\@noitemargfalse
@@ -2103,6 +2122,9 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi\everyparhook}}
+\fi
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@none\else
+\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode
\@nolnerr
@@ -2110,6 +2132,8 @@
\unskip \reserved at e {\reserved at f#1}\nobreak \hfil \break \null
\jsInhibitGlue \ignorespaces
\fi}
+}
+\fi
\if at jslogo
\IfFileExists{jslogo.sty}{%
\RequirePackage{jslogo}%
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at clsname{bxjsbook}
\newif\ifjsc at needsp@tch
@@ -550,14 +550,27 @@
\let\bxjs at kv@wholezwlines at true\bxjs at whole@zw at linestrue
\let\bxjs at kv@wholezwlines at false\bxjs at whole@zw at linesfalse
\define at key{bxjs}{whole-zw-lines}[true]{\bxjs at set@keyval{wholezwlines}{#1}{}}
-\newif\ifbxjs at xkanjiskip@cmd \bxjs at xkanjiskip@cmdtrue
-\let\bxjs at kv@xkanjiskipcmd at true\bxjs at xkanjiskip@cmdtrue
-\let\bxjs at kv@xkanjiskipcmd at false\bxjs at xkanjiskip@cmdfalse
-\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
+\newif\ifbxjs at jaspace@cmd \bxjs at jaspace@cmdtrue
+\let\bxjs at kv@jaspacecmd at true\bxjs at jaspace@cmdtrue
+\let\bxjs at kv@jaspacecmd at false\bxjs at jaspace@cmdfalse
+\define at key{bxjs}{jaspace-cmd}[true]{\bxjs at set@keyval{jaspacecmd}{#1}{}}
+\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{jaspacecmd}{#1}{}}
\newif\ifbxjs at hyperref@enc \bxjs at hyperref@enctrue
\let\bxjs at kv@hyperrefenc at true\bxjs at hyperref@enctrue
\let\bxjs at kv@hyperrefenc at false\bxjs at hyperref@encfalse
\define at key{bxjs}{hyperref-enc}[true]{\bxjs at set@keyval{hyperrefenc}{#1}{}}
+\chardef\bxjs at everyparhook@none=0
+\chardef\bxjs at everyparhook@compat=1
+\chardef\bxjs at everyparhook@modern=2
+\if j\jsEngine
+ \let\bxjs at everyparhook\bxjs at everyparhook@compat
+\else
+ \let\bxjs at everyparhook\bxjs at everyparhook@modern
+\fi
+\def\bxjs at kv@everyparhook at none{\let\bxjs at everyparhook\bxjs at everyparhook@none}
+\def\bxjs at kv@everyparhook at compat{\let\bxjs at everyparhook\bxjs at everyparhook@compat}
+\def\bxjs at kv@everyparhook at modern{\let\bxjs at everyparhook\bxjs at everyparhook@modern}
+\define at key{bxjs}{everyparhook}{\bxjs at set@keyval{everyparhook}{#1}{}}
\let\bxjs at ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved at a{#2}%
@@ -1350,6 +1363,10 @@
\@ifstar
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
+ \let\bxjs at if@ceph\@firstofone
+\else \let\bxjs at if@ceph\@gobble
+\fi
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c at secnumdepth
\let\@svsec\@empty
@@ -1397,11 +1414,10 @@
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
- \bxjs at ltj@inhibitglue
\else
\clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
+ \everypar\expandafter{\bxjs at if@ceph\everyparhook}%
+ \fi\bxjs at if@ceph\everyparhook}%
\else
\par \nobreak
\vskip \@tempskipa
@@ -1426,7 +1442,6 @@
\endgroup
\fi
\@xsect{#3}}
-\let\bxjs at 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 at everyparhook=\bxjs at everyparhook@compat
\AtBeginDocument{\everypar{\everyparhook}}
+\fi
+\ifx j\jsEngine
\def\@inhibitglue{%
\futurelet\@let at token\@@inhibitglue}
\begingroup
@@ -2124,6 +2142,8 @@
\inhibitglue
\fi
\fi}
+\fi
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
\def\@doendpe{%
\@endpetrue
\def\par{%
@@ -2176,7 +2196,6 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi
- \bxjs at ltj@inhibitglue
\everyparhook}%
\if at noitemarg
\@noitemargfalse
@@ -2210,6 +2229,9 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi\everyparhook}}
+\fi
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@none\else
+\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode
\@nolnerr
@@ -2217,6 +2239,8 @@
\unskip \reserved at e {\reserved at f#1}\nobreak \hfil \break \null
\jsInhibitGlue \ignorespaces
\fi}
+}
+\fi
\if at jslogo
\IfFileExists{jslogo.sty}{%
\RequirePackage{jslogo}%
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at pkgname{bxjscjkcat}
\newcount\bxjx at cnta
\let\bxjx at engine=n
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at pkgname{bxjscompat}
\let\bxac at engine=n
\def\bxac at do#1#2{%
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at do@precisetext
\fi
\fi
+\@onlypreamble\bxjs at check@everyparhook
+\def\bxjs at check@everyparhook{%
+ \ifx\jsInhibitGlueAtParTop\@empty
+ \def\bxjs at tmpa{\jsInhibitGlueAtParTop}%
+ \ifx\everyparhook\bxjs at tmpa
+ \let\everyparhook\@empty
+ \fi
+ \fi}
+\AtBeginDocument{\bxjs at check@everyparhook}
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@modern
+ \let\bxjs at everypar\everypar
+ \newtoks\everypar
+ \everypar\bxjs at everypar
+ \bxjs at everypar{\the\expandafter\everypar\everyparhook}%
+\fi
\ifbxjs at fancyhdr
\@onlypreamble\bxjs at adjust@fancyhdr
\def\bxjs at adjust@fancyhdr{%
@@ -323,7 +338,22 @@
\AtBeginDocument{%
\bxjs at pagestyle@hook
\global\let\bxjs at pagestyle@hook\relax}
+\ifbxjs at jaspace@cmd
+ \def\jaenspace{\hskip.5\jsZw\relax}
+ \def\jathinspace{\hskip\z at skip}
+ \def\ {\zwspace}
+ \DeclareRobustCommand*{\jaspace}[1]{%
+ \expandafter\ifx\csname bxjs at jaspace@@#1\endcsname\relax
+ \ClassError\bxjs at clsname
+ {Unknown jaspace: #1}{\@eha}%
+ \else
+ \csname bxjs at jaspace@@#1\endcsname
+ \fi}
+ \def\bxjs at jaspace@@zenkaku{\hskip 1\jsZw\relax}
+ \def\bxjs at jaspace@@nibu{\hskip .5\jsZw\relax}
+ \def\bxjs at jaspace@@shibu{\hskip .25\jsZw\relax}
\fi
+\fi
\endinput
%%
%% End of file `bxjsja-minimal.def'.
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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}%
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at set@dupload at proc
@@ -92,6 +92,20 @@
\if at tempswa\ifx\jsParagraphMark\bxjs at org@paragraph at 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 at zsp@char}
+ \bxjs at protected\def\bxjs at zsp@char{\zwspace}
+\fi\fi
+\if j\jsEngine
+ \bxjs at fix@hyperref at unicode{false}
+\else
+ \bxjs at fix@hyperref at unicode{true}
+\fi
\endinput
%%
%% End of file `bxjsja-pandoc.def'.
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at simplejasetupfalse
@@ -235,6 +235,26 @@
}%
}%
}
+\@onlypreamble\jsCheckHyperrefUnicode
+\let\jsCheckHyperrefUnicode\@empty
+\AtBeginDocument{\jsCheckHyperrefUnicode}
+\@onlypreamble\bxjs at check@hyperref at unicode
+\def\bxjs at check@hyperref at unicode#1{%
+ \g at addto@macro\jsCheckHyperrefUnicode{%
+ \@tempswafalse
+ \begingroup
+ \expandafter\ifx\csname ifHy at unicode\endcsname\relax
+ \aftergroup\@tempswatrue \fi
+ \expandafter\ifx\csname ifHy at unicode\expandafter\endcsname
+ \csname if#1\endcsname
+ \aftergroup\@tempswatrue \fi
+ \endgroup
+ \if at tempswa\else
+ \ClassError\bxjs at clsname
+ {The value of hyperref 'unicode' key is not suitable\MessageBreak
+ for the present engine (must be #1)}%
+ {\@ehc}%
+ \fi}}
\@onlypreamble\bxjs at urgent@special
\def\bxjs at urgent@special#1{%
\AtBeginDvi{\special{#1}}%
@@ -281,14 +301,8 @@
\bxUInt{\@tempcnta}%
\fi}
\fi
-\ifbxjs at xkanjiskip@cmd
- \def\bxjs at put@xkanjiskip{%
- \relax\ifmmode \mskip\medmuskip
- \else \hskip\xkanjiskip
- \fi}
- \ifjsWitheTeX \protected\def\>{\bxjs at put@xkanjiskip}
- \else \def\>{\protect\bxjs at put@xkanjiskip}
- \fi
+\ifbxjs at jaspace@cmd
+ \def\jathinspace{\hskip\xkanjiskip}
\fi
\ifbxjs at jp@jismmiv
\PassOptionsToPackage{prefer2004jis}{pxchfon}
@@ -335,7 +349,7 @@
\endgroup}
\@gtempa
\ifbxjs at hyperref@enc
- \bxjs at fix@hyperref at unicode{false}
+ \bxjs at check@hyperref at unicode{false}
\fi
\if \ifx\bxjs at driver@given\bxjs at driver@@dvipdfmx T%
\else\ifjsWithpTeXng T\else F\fi\fi T%
@@ -372,7 +386,10 @@
\else\if p\jsEngine
\bxjs at adjust@jafont{f}
\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa\bxjs at jp@font}
-\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa{whole,autotilde}}
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa{whole}}
+\def\bxjs at tmpb{pandoc}\ifx\bxjs at tmpb\bxjs at jadriver\else
+ \edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa{autotilde}}
+\fi
\edef\bxjs at next{%
\noexpand\RequirePackage[\bxjs at tmpa]{bxcjkjatype}[2013/10/15]% v0.2c
}\bxjs at next
@@ -422,9 +439,8 @@
\let\CJKecglue\bxjs at CJKecglue}
\def\bxjs at jachar#1{%
\CJKforced{#1}}
-\ifbxjs at xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip \else \CJKecglue\ignorespaces \fi}
+\ifbxjs at jaspace@cmd
+ \protected\def\jathinspace{\CJKecglue}
\fi
\ifx t\bxjs at enablejfam
\ClassWarningNoLine\bxjs at clsname
@@ -455,7 +471,15 @@
\PassOptionsToPackage{unicode}{hyperref}
\fi
\fi
-\let\jsInhibitGlueAtParTop\@empty
+\AtEndOfPackage{%
+\def\@gnewline #1{%
+ \ifvmode \@nolnerr
+ \else
+ \unskip \reserved at e {\reserved at 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 at jachar#1{%
\xeCJKDeclareCharClass{CJK}{`#1}\relax
#1}
-\ifbxjs at xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip \else \CJKecglue\ignorespaces \fi}
+\ifbxjs at jaspace@cmd
+ \protected\def\jathinspace{\CJKecglue}
\fi
\ifx t\bxjs at 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 at 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 at everyparhook=\bxjs at everyparhook@none
+\begingroup
+ \let\%\@percentchar \def\@#1{[[\detokenize{#1}]]}
+ \@gobble\if\def\bxjs at tmpa{\@{\everypar{}\fi}}
+ \ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
+ \@gobble\if\def\bxjs at 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 at tmpa, \@\ltjfakeparbegin)}
+\endgroup
+\fi
\ifbxjs at hyperref@enc
- \bxjs at fix@hyperref at unicode{true}
+ \PassOptionsToPackage{unicode}{hyperref}
+ \bxjs at check@hyperref at unicode{true}
\fi
\protected\def\autospacing{%
\ltjsetparameter{autospacing=true}}
@@ -552,11 +595,9 @@
\ltjsetparameter{xkanjiskip={\@tempskipa}}}
\def\bxjs at jachar#1{%
\ltjjachar`#1\relax}
-\ifbxjs at xkanjiskip@cmd
- \protected\def\>{%
- \relax\ifmmode \mskip\medmuskip
- \else \hskip\ltjgetparameter{xkanjiskip}\ignorespaces
- \fi}
+\ifbxjs at jaspace@cmd
+ \protected\def\jathinspace{%
+ \hskip\ltjgetparameter{xkanjiskip}\relax}
\fi
\ifx f\bxjs at enablejfam
\ClassWarningNoLine\bxjs at clsname
@@ -572,6 +613,16 @@
\DeclareJaMathFontCommand{\mathmc}{\mcfamily}
\DeclareJaMathFontCommand{\mathgt}{\gtfamily}
\fi
+\ifbxjs at jaspace@cmd
+ \bxjs at protected\def\bxjs at choice@jathinspace{%
+ \relax\ifmmode \mskip\medmuskip
+ \else \jathinspace\ignorespaces
+ \fi}
+ \jsAtEndOfClass{%
+ \ifjsWitheTeX \let\>\bxjs at choice@jathinspace
+ \else \def\>{\protect\bxjs at 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}
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at pkgname{bxjscjkcat}
\let\bxjsp at engine=n
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at clsname{bxjsreport}
\newif\ifjsc at needsp@tch
@@ -549,14 +549,27 @@
\let\bxjs at kv@wholezwlines at true\bxjs at whole@zw at linestrue
\let\bxjs at kv@wholezwlines at false\bxjs at whole@zw at linesfalse
\define at key{bxjs}{whole-zw-lines}[true]{\bxjs at set@keyval{wholezwlines}{#1}{}}
-\newif\ifbxjs at xkanjiskip@cmd \bxjs at xkanjiskip@cmdtrue
-\let\bxjs at kv@xkanjiskipcmd at true\bxjs at xkanjiskip@cmdtrue
-\let\bxjs at kv@xkanjiskipcmd at false\bxjs at xkanjiskip@cmdfalse
-\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
+\newif\ifbxjs at jaspace@cmd \bxjs at jaspace@cmdtrue
+\let\bxjs at kv@jaspacecmd at true\bxjs at jaspace@cmdtrue
+\let\bxjs at kv@jaspacecmd at false\bxjs at jaspace@cmdfalse
+\define at key{bxjs}{jaspace-cmd}[true]{\bxjs at set@keyval{jaspacecmd}{#1}{}}
+\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{jaspacecmd}{#1}{}}
\newif\ifbxjs at hyperref@enc \bxjs at hyperref@enctrue
\let\bxjs at kv@hyperrefenc at true\bxjs at hyperref@enctrue
\let\bxjs at kv@hyperrefenc at false\bxjs at hyperref@encfalse
\define at key{bxjs}{hyperref-enc}[true]{\bxjs at set@keyval{hyperrefenc}{#1}{}}
+\chardef\bxjs at everyparhook@none=0
+\chardef\bxjs at everyparhook@compat=1
+\chardef\bxjs at everyparhook@modern=2
+\if j\jsEngine
+ \let\bxjs at everyparhook\bxjs at everyparhook@compat
+\else
+ \let\bxjs at everyparhook\bxjs at everyparhook@modern
+\fi
+\def\bxjs at kv@everyparhook at none{\let\bxjs at everyparhook\bxjs at everyparhook@none}
+\def\bxjs at kv@everyparhook at compat{\let\bxjs at everyparhook\bxjs at everyparhook@compat}
+\def\bxjs at kv@everyparhook at modern{\let\bxjs at everyparhook\bxjs at everyparhook@modern}
+\define at key{bxjs}{everyparhook}{\bxjs at set@keyval{everyparhook}{#1}{}}
\let\bxjs at ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved at a{#2}%
@@ -1332,6 +1345,10 @@
\@ifstar
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
+ \let\bxjs at if@ceph\@firstofone
+\else \let\bxjs at if@ceph\@gobble
+\fi
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c at secnumdepth
\let\@svsec\@empty
@@ -1379,11 +1396,10 @@
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
- \bxjs at ltj@inhibitglue
\else
\clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
+ \everypar\expandafter{\bxjs at if@ceph\everyparhook}%
+ \fi\bxjs at if@ceph\everyparhook}%
\else
\par \nobreak
\vskip \@tempskipa
@@ -1408,7 +1424,6 @@
\endgroup
\fi
\@xsect{#3}}
-\let\bxjs at 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 at everyparhook=\bxjs at everyparhook@compat
\AtBeginDocument{\everypar{\everyparhook}}
+\fi
+\ifx j\jsEngine
\def\@inhibitglue{%
\futurelet\@let at token\@@inhibitglue}
\begingroup
@@ -2154,6 +2172,8 @@
\inhibitglue
\fi
\fi}
+\fi
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
\def\@doendpe{%
\@endpetrue
\def\par{%
@@ -2206,7 +2226,6 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi
- \bxjs at ltj@inhibitglue
\everyparhook}%
\if at noitemarg
\@noitemargfalse
@@ -2240,6 +2259,9 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi\everyparhook}}
+\fi
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@none\else
+\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode
\@nolnerr
@@ -2247,6 +2269,8 @@
\unskip \reserved at e {\reserved at f#1}\nobreak \hfil \break \null
\jsInhibitGlue \ignorespaces
\fi}
+}
+\fi
\if at jslogo
\IfFileExists{jslogo.sty}{%
\RequirePackage{jslogo}%
Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls 2017-10-21 10:30:18 UTC (rev 45565)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls 2017-10-21 21:37:58 UTC (rev 45566)
@@ -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 at clsname{bxjsslide}
\newif\ifjsc at needsp@tch
@@ -541,14 +541,27 @@
\let\bxjs at kv@wholezwlines at true\bxjs at whole@zw at linestrue
\let\bxjs at kv@wholezwlines at false\bxjs at whole@zw at linesfalse
\define at key{bxjs}{whole-zw-lines}[true]{\bxjs at set@keyval{wholezwlines}{#1}{}}
-\newif\ifbxjs at xkanjiskip@cmd \bxjs at xkanjiskip@cmdtrue
-\let\bxjs at kv@xkanjiskipcmd at true\bxjs at xkanjiskip@cmdtrue
-\let\bxjs at kv@xkanjiskipcmd at false\bxjs at xkanjiskip@cmdfalse
-\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
+\newif\ifbxjs at jaspace@cmd \bxjs at jaspace@cmdtrue
+\let\bxjs at kv@jaspacecmd at true\bxjs at jaspace@cmdtrue
+\let\bxjs at kv@jaspacecmd at false\bxjs at jaspace@cmdfalse
+\define at key{bxjs}{jaspace-cmd}[true]{\bxjs at set@keyval{jaspacecmd}{#1}{}}
+\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{jaspacecmd}{#1}{}}
\newif\ifbxjs at hyperref@enc \bxjs at hyperref@enctrue
\let\bxjs at kv@hyperrefenc at true\bxjs at hyperref@enctrue
\let\bxjs at kv@hyperrefenc at false\bxjs at hyperref@encfalse
\define at key{bxjs}{hyperref-enc}[true]{\bxjs at set@keyval{hyperrefenc}{#1}{}}
+\chardef\bxjs at everyparhook@none=0
+\chardef\bxjs at everyparhook@compat=1
+\chardef\bxjs at everyparhook@modern=2
+\if j\jsEngine
+ \let\bxjs at everyparhook\bxjs at everyparhook@compat
+\else
+ \let\bxjs at everyparhook\bxjs at everyparhook@modern
+\fi
+\def\bxjs at kv@everyparhook at none{\let\bxjs at everyparhook\bxjs at everyparhook@none}
+\def\bxjs at kv@everyparhook at compat{\let\bxjs at everyparhook\bxjs at everyparhook@compat}
+\def\bxjs at kv@everyparhook at modern{\let\bxjs at everyparhook\bxjs at everyparhook@modern}
+\define at key{bxjs}{everyparhook}{\bxjs at set@keyval{everyparhook}{#1}{}}
\let\bxjs at ltx@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved at a{#2}%
@@ -1321,6 +1334,10 @@
\@ifstar
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
+ \let\bxjs at if@ceph\@firstofone
+\else \let\bxjs at if@ceph\@gobble
+\fi
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c at secnumdepth
\let\@svsec\@empty
@@ -1368,11 +1385,10 @@
\unskip
\@tempskipa #1\relax
\hskip -\@tempskipa
- \bxjs at ltj@inhibitglue
\else
\clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
+ \everypar\expandafter{\bxjs at if@ceph\everyparhook}%
+ \fi\bxjs at if@ceph\everyparhook}%
\else
\par \nobreak
\vskip \@tempskipa
@@ -1397,7 +1413,6 @@
\endgroup
\fi
\@xsect{#3}}
-\let\bxjs at 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 at everyparhook=\bxjs at everyparhook@compat
\AtBeginDocument{\everypar{\everyparhook}}
+\fi
+\ifx j\jsEngine
\def\@inhibitglue{%
\futurelet\@let at token\@@inhibitglue}
\begingroup
@@ -2015,6 +2033,8 @@
\inhibitglue
\fi
\fi}
+\fi
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@compat
\def\@doendpe{%
\@endpetrue
\def\par{%
@@ -2067,7 +2087,6 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi
- \bxjs at ltj@inhibitglue
\everyparhook}%
\if at noitemarg
\@noitemargfalse
@@ -2101,6 +2120,9 @@
\clubpenalty \@clubpenalty
\everypar{\everyparhook}%
\fi\everyparhook}}
+\fi
+\ifnum\bxjs at everyparhook=\bxjs at everyparhook@none\else
+\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode
\@nolnerr
@@ -2108,6 +2130,8 @@
\unskip \reserved at e {\reserved at f#1}\nobreak \hfil \break \null
\jsInhibitGlue \ignorespaces
\fi}
+}
+\fi
\if at jslogo
\IfFileExists{jslogo.sty}{%
\RequirePackage{jslogo}%
More information about the tex-live-commits
mailing list