summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-11-21 22:29:46 +0000
committerKarl Berry <karl@freefriends.org>2015-11-21 22:29:46 +0000
commitb019d15db444b32288a5d65981d31fbf283b9f25 (patch)
tree4692852612b211a045c0e26ea5258e2661280f97
parent641c546e6e7c0c6473f3bfd0a9e8e8a7cc199fe1 (diff)
bxjscls (20nov15)
git-svn-id: svn://tug.org/texlive/trunk@38915 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README-ja.md4
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdfbin716474 -> 716485 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex4
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdfbin900863 -> 879130 bytes
-rw-r--r--Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx282
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls29
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls29
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def86
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def48
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls29
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls29
12 files changed, 519 insertions, 23 deletions
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
index 57e0f2616ce..782ccdcfb36 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
@@ -93,6 +93,10 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使
更新履歴
--------
+ * Version 1.0d [2015/11/21]
+ - バグ修正。
+ * Version 1.0c [2015/10/18]
+ - バグ修正。
* Version 1.0b [2015/09/07]
- 未知のオプションがあるとエラーになるという不具合(これだと
“グローバルオプション”が使えない)を修正した。
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md
index 6f476c63597..6d47eabe22d 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README.md
@@ -83,6 +83,8 @@ This package is distributed under the BSD 2-Clause License.
Revision History
----------------
+ * Version 1.0d [2015/11/21]
+ * Version 1.0c [2015/10/18]
* Version 1.0b [2015/09/07]
* Version 1.0a [2015/08/23]
* Version 1.0 [2015/08/05]
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
index 46bf8585b1b..63fc55d0462 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 06cd0d39b4a..55fb1d31715 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
+++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
@@ -5,8 +5,8 @@
\usepackage{metalogo}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.0b}
-\newcommand{\PkgDate}{2015/09/07}
+\newcommand{\PkgVersion}{1.0d}
+\newcommand{\PkgDate}{2015/11/21}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
index 9157ba0349e..0243847a015 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 5f3c76b0f8b..3c96c020807 100644
--- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
+++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
@@ -58,7 +58,9 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2015/09/07 v1.0b BXJS document classes]
+ [2015/11/21 v1.0d BXJS document classes]
+% [2015/10/18 v1.0c BXJS document classes]
+% [2015/09/07 v1.0b BXJS document classes]
% [2015/08/23 v1.0a BXJS document classes]
% [2015/08/05 v1.0 BXJS document classes]
% based on jsclasses [2014/02/07]
@@ -189,12 +191,20 @@
%
% \paragraph{BXJSクラス特有の設定 ☆}
%
+% \mbox{}
+% \begin{ZRnote}
% \begin{macrocode}
%<*!drvminimal&!drvstandard>
+% \end{macrocode}
+% 長さ値の指定で式を利用可能にするため |calc| を読み込む。
+% \begin{macrocode}
\RequirePackage{calc}
+% \end{macrocode}
+% クラスオプションでkey-value形式を使用するため |keyval| を読み込む。
+% \begin{macrocode}
\RequirePackage{keyval}
% \end{macrocode}
-% \begin{ZRnote}
+% クラスの本体ではこの他に |geometry| パッケージが読み込まれる。
%
% \begin{macro}{\jsEngine}
% 〔暗黙文字トークン〕
@@ -273,6 +283,18 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\bxjs@cond}
+% |\bxjs@cond\ifXXX|……|\fi|\Meta{真}\Meta{偽}\par
+% {\TeX}のif-文(|\ifXXX|……\Meta{真}|\else|\Meta{偽}|\fi|)を
+% 末尾呼出形式に変換するためのマクロ。
+% \begin{macrocode}
+\@gobbletwo\if\if \def\bxjs@cond#1\fi{%
+ #1\expandafter\@firstoftwo
+ \else\expandafter\@secondoftwo
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\jsDocClass}
% 〔トークン〕
% 文書クラスの種別。
@@ -1072,7 +1094,7 @@
% \end{ZRnote}
%
% \paragraph{オプションの実行}
-%
+% \mbox{}
% \begin{ZRnote}
% {\LaTeX}の実装では、クラスやパッケージのオプションのトークン列の
% 中に |{ }| が含まれると正常に処理ができない。
@@ -1104,6 +1126,31 @@
%
% \begin{ZRnote}
%
+% グローバルオプションのトークン列に |{ }| が含まれていると、
+% やはり後のパッケージの読込処理で不具合を起こすようである
+% (|\ProcessOptions*| がエラーになる)。
+% 従って、このようなオプションは除外することにする。
+% \begin{macrocode}
+\@onlypreamble\bxjs@purge@brace@elts
+\def\bxjs@purge@brace@elts{%
+ \def\bxjs@tmpa{\@gobble}%
+ \expandafter\bxjs@purge@be@a\@classoptionslist,\@nil,%
+ \let\@classoptionslist\bxjs@tmpa}
+\@onlypreamble\bxjs@purge@be@a
+\def\bxjs@purge@be@a#1,{%
+ \ifx\@nil#1\relax\else
+ \bxjs@purge@be@b#1{}\@nil
+ \if@tempswa \edef\bxjs@tmpa{\bxjs@tmpa,#1}\fi
+ \expandafter\bxjs@purge@be@a
+ \fi}
+\@onlypreamble\bxjs@purge@be@b
+\def\bxjs@purge@be@b#1#{\bxjs@purge@be@c}
+\@onlypreamble\bxjs@purge@be@c
+\def\bxjs@purge@be@c#1\@nil{%
+ \ifx\@nil#1\@nil \@tempswatrue \else \@tempswafalse \fi}
+\bxjs@purge@brace@elts
+% \end{macrocode}
+%
% |papersize| と |10pt| のオプションは他のパッケージと衝突を
% 起こす可能性があるため、グローバルオプションから外す。
%
@@ -3605,18 +3652,25 @@
%
% 見出しの後ろで改行されません。
%
+% \begin{ZRnote}
+% 段落のマーク(■)が必ず和文フォントで出力されるようにする。
+% さらに、このマークを変更可能にするため |\jsParagraphMark| と
+% いうマクロに切り出した。
+% \end{ZRnote}
+%
% \begin{macrocode}
+\newcommand\jsParagraphMark{\jsJaChar{■}}
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ
%<jspf> {\normalfont\normalsize\headfont}}
-%<!jspf> {\normalfont\normalsize\headfont ■}}
+%<!jspf> {\normalfont\normalsize\headfont\jsParagraphMark}}
\else
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
{-1\jsZw}% 改行せず 1\jsZw のアキ
%<jspf> {\normalfont\normalsize\headfont}}
-%<!jspf> {\normalfont\normalsize\headfont ■}}
+%<!jspf> {\normalfont\normalsize\headfont\jsParagraphMark}}
\fi
% \end{macrocode}
% \end{macro}
@@ -5777,6 +5831,9 @@
% 選択の余地がないため、このドライバにおいて、
% 「JSクラスと同等の指定」を完成させるためのコードを記述する。
%
+%^^A----------------
+% \subsection{補助マクロ}
+%
% \begin{macrocode}
%<*drvminimal>
%% このファイルは日本語文字を含みます
@@ -5808,7 +5865,90 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\jsLetHeadChar}
+% |\jsLetHeadChar\CS{|\Meta{トークン列}|}|\Means
+% トークン列の先頭の文字を抽出し、|\CS| をその文字トークン
+% (に展開されるマクロ)として定義する。
+% \Note 先頭にあるのが制御綴やグループである場合は |\CS| は |\relax|
+% に等置される。
+% \Note 文字トークンは“|\the|-文字列”のカテゴリコードをもつ。
+% \Note 非Unicodeエンジンの場合は文字列がUTF-8で符号化されていると
+% 見なし、先頭が高位バイトの場合は1文字分のバイト列(のトークン列)
+% を抽出する。
+% この場合は元のカテゴリコードが保持される。
+% \begin{macrocode}
+\def\jsLetHeadChar#1#2{%
+ \begingroup
+ \escapechar=`\\ %
+ \let\bxjs@tmpa={% brace-match-hack
+ \bxjs@let@hchar@exp#2}%
+ \endgroup
+ \let#1\bxjs@g@tmpa}
+\def\bxjs@let@hchar@exp{%
+ \futurelet\@let@token\bxjs@let@hchar@exp@a}
+\def\bxjs@let@hchar@exp@a{%
+ \bxjs@cond\ifcat\noexpand\@let@token\bgroup\fi{% 波括弧
+ \bxjs@let@hchar@out\let\relax
+ }{\bxjs@cond\ifcat\noexpand\@let@token\@sptoken\fi{% 空白
+ \bxjs@let@hchar@out\let\space%
+ }{\bxjs@cond\if\noexpand\@let@token\@backslashchar\fi{% バックスラッシュ
+ \bxjs@let@hchar@out\let\@backslashchar
+ }{\bxjs@let@hchar@exp@b}}}}
+\def\bxjs@let@hchar@exp@b#1{%
+ \expandafter\bxjs@let@hchar@exp@c\string#1?\@nil#1}
+\def\bxjs@let@hchar@exp@c#1#2\@nil{%
+%\message{<#1#2>}%
+ \bxjs@cond\if#1\@backslashchar\fi{% 制御綴
+ \bxjs@cond\expandafter\ifx\noexpand\@let@token\@let@token\fi{%
+ \bxjs@let@hchar@out\let\relax
+ }{%else
+ \expandafter\bxjs@let@hchar@exp
+ }%
+ }{%else
+ \bxjs@let@hchar@chr#1%
+ }}
+\def\bxjs@let@hchar@chr#1{%
+ \bxjs@let@hchar@out\def{{#1}}}
+\def\bxjs@let@hchar@out#1#2{%
+ \global#1\bxjs@g@tmpa#2\relax
+ \toks@\bgroup}% skip to right brace
+% \end{macrocode}
+% UTF-8のバイト列を扱うコード。
+% \begin{macrocode}
+\chardef\bxjs@let@hchar@csta=128
+\chardef\bxjs@let@hchar@cstb=192
+\chardef\bxjs@let@hchar@cstc=224
+\chardef\bxjs@let@hchar@cstd=240
+\chardef\bxjs@let@hchar@cste=248
+\let\bxjs@let@hchar@chr@ue@a\bxjs@let@hchar@chr
+\def\bxjs@let@hchar@chr@ue#1{%
+ \@tempcnta=`#1\relax
+%\message{\the\@tempcnta}%
+ \bxjs@cond\ifnum\@tempcnta<\bxjs@let@hchar@csta\fi{%
+ \bxjs@let@hchar@chr@ue@a#1%
+ }{\bxjs@cond\ifnum\@tempcnta<\bxjs@let@hchar@cstb\fi{%
+ \bxjs@let@hchar@out\let\relax
+ }{\bxjs@cond\ifnum\@tempcnta<\bxjs@let@hchar@cstc\fi{%
+ \bxjs@let@hchar@chr@ue@b
+ }{\bxjs@cond\ifnum\@tempcnta<\bxjs@let@hchar@cstd\fi{%
+ \bxjs@let@hchar@chr@ue@c
+ }{\bxjs@cond\ifnum\@tempcnta<\bxjs@let@hchar@cste\fi{%
+ \bxjs@let@hchar@chr@ue@d
+ }{%else
+ \bxjs@let@hchar@out\let\relax
+ }}}}}}
+\def\bxjs@let@hchar@chr@ue@a#1{%
+ \bxjs@let@hchar@out\def{{#1}}}
+\def\bxjs@let@hchar@chr@ue@b#1#2{%
+ \bxjs@let@hchar@out\def{{#1#2}}}
+\def\bxjs@let@hchar@chr@ue@c#1#2#3{%
+ \bxjs@let@hchar@out\def{{#1#2#3}}}
+\def\bxjs@let@hchar@chr@ue@d#1#2#3#4{%
+ \bxjs@let@hchar@out\def{{#1#2#3#4}}}
+% \end{macrocode}
+% \end{macro}
%
+%^^A----------------
% \subsection{(u){\pTeX}用の設定}
%
% \begin{macrocode}
@@ -5819,6 +5959,22 @@
% としてBXJSクラスで除外されている部分に相当するが、
% 若干の変更が加えられている。
%
+% \paragraph{補助マクロ}
+%
+% |\jsLetHeadChar| を和文文字トークンに対応させる。
+% \begin{macrocode}
+\def\bxjs@let@hchar@chr@pp#1{%
+ \expandafter\bxjs@let@hchar@chr@pp@a\meaning#1\relax#1}
+\def\bxjs@let@hchar@chr@pp@a#1#2\relax#3{%
+%\message{(#1)}%
+ \bxjs@cond\if#1t\fi{%
+ \bxjs@let@hchar@chr@ue#3%
+ }{%else
+ \bxjs@let@hchar@out\def{{#3}}%
+ }}
+\let\bxjs@let@hchar@chr\bxjs@let@hchar@chr@pp
+% \end{macrocode}
+%
% \paragraph{エンジン依存の定義}
%
% 最初にエンジン({\pTeX}かu{\pTeX}か)に依存する定義を行う。
@@ -5987,12 +6143,16 @@
%
% |\jsResetDimen| は空のままでよい。
%
+%^^A----------------
% \subsection{pdf{\TeX}用の処理}
%
% \begin{macrocode}
\else\ifx p\jsEngine
% \end{macrocode}
%
+% \begin{macrocode}
+\let\bxjs@let@hchar@chr\bxjs@let@hchar@chr@ue
+% \end{macrocode}
%
% \begin{macrocode}
\@onlypreamble\bxjs@cjk@loaded
@@ -6019,9 +6179,30 @@
}
% \end{macrocode}
%
+%^^A----------------
+% \subsection{{\XeTeX}用の処理}
+%
+% \begin{macrocode}
+\else\ifx x\jsEngine
+% \end{macrocode}
+%
+% |\bxjs@let@hchar@chr| について、
+% 「BMP外の文字の文字トークンに対して |\string| を適用すると
+% サロゲートペアに分解される」という問題に対する応急措置を施す。
+% \begin{macrocode}
+\def\bxjs@let@hchar@chr#1{%
+ \@tempcnta`#1\relax \divide\@tempcnta"800\relax
+ \bxjs@cond\ifnum\@tempcnta=27 \fi{%
+ \bxjs@let@hchar@chr@xe
+ }{\bxjs@let@hchar@out\def{{#1}}}}
+\def\bxjs@let@hchar@chr@xe#1{%
+ \lccode`0=`#1\relax
+ \lowercase{\bxjs@let@hchar@out\def{{0}}}}
+% \end{macrocode}
+%
% 以上で終わり。
% \begin{macrocode}
-\fi\fi
+\fi\fi\fi
%</drvminimal>
% \end{macrocode}
%
@@ -6040,6 +6221,8 @@
% \item |\trueQ|/|\trueH|/|\ascQ|
% \item |\setkanjiskip|/|\getkanjiskip|
% \item |\setxkanjiskip|/|\getxkanjiskip|
+% \item |\autospacing|/|\noautospacing|
+% \item |\autoxspacing|/|\noautoxspacing|
% \end{itemize}
%
% \paragraph{和文フォント指定の扱い}
@@ -6295,6 +6478,31 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\jsJaChar}
+% |\jsJaChar{|\meta{文字}|}|\Means
+% 和文文字として出力する。
+% \begin{macrocode}
+\def\jsJaChar#1{%
+ \begingroup
+% \end{macrocode}
+% |\jsLetHeadChar| で先頭の“文字”を拾って
+% それを |\bxjs@jachar| に渡す。
+% \begin{macrocode}
+ \jsLetHeadChar\bxjs@tmpa{#1}%
+ \ifx\bxjs@tmpa\relax
+ \ClassWarningNoLine\bxjs@clsname
+ {Illegal argument given to \string\jsJaChar}%
+ \else
+ \expandafter\bxjs@jachar\expandafter{\bxjs@tmpa}%
+ \fi
+ \endgroup}
+% \end{macrocode}
+% 下請けの |\bxjs@jachar| の実装はエンジンにより異なる。
+% \begin{macrocode}
+\let\bxjs@jachar\@firstofone
+% \end{macrocode}
+% \end{macro}
+%
% \paragraph{hyperref対策}
%
% 出力ページサイズに館する処理は |geometry| パッケージが行うので、
@@ -6358,6 +6566,49 @@
\xkanjiskip\@tempskipa}
% \end{macrocode}
%
+% |\jaJaChar| のサブマクロ。
+% \begin{macrocode}
+\def\bxjs@jachar#1{%
+ \bxjs@jachar@a#1....\@nil}
+\def\bxjs@jachar@a#1#2#3#4#5\@nil{%
+% \end{macrocode}
+% 引数が単一トークンなら和文文字トークンが得られたと
+% 見なしてそれをそのまま出力する。
+% \begin{macrocode}
+ \ifx.#2#1%
+% \end{macrocode}
+% 引数が複数トークンの場合は、UTF-8のバイト列であると見なし、
+% そのスカラー値を |\@tempcnta| に代入する。
+% \begin{macrocode}
+ \else\ifx.#3%
+ \@tempcnta`#1 \multiply\@tempcnta64
+ \advance\@tempcnta`#2 \advance\@tempcnta-"3080
+ \bxjs@jachar@b
+ \else\ifx.#4%
+ \@tempcnta`#1 \multiply\@tempcnta64
+ \advance\@tempcnta`#2 \multiply\@tempcnta64
+ \advance\@tempcnta`#3 \advance\@tempcnta-"E2080
+ \bxjs@jachar@b
+ \else
+ \@tempcnta`#1 \multiply\@tempcnta64
+ \advance\@tempcnta`#2 \multiply\@tempcnta64
+ \advance\@tempcnta`#3 \multiply\@tempcnta64
+ \advance\@tempcnta`#4 \advance\@tempcnta-"3C82080
+ \bxjs@jachar@b
+ \fi\fi\fi}
+% \end{macrocode}
+% 符号値が |\@tempcnta| の和文文字を出力する処理。
+% \begin{macrocode}
+\ifjsWithupTeX
+ \def\bxjs@jachar@b{\kchar\@tempcnta}
+\else
+ \def\bxjs@jachar@b{%
+ \ifx\bxUInt\@undefined\else
+ \bxUInt{\@tempcnta}%
+ \fi}
+\fi
+% \end{macrocode}
+%
% \paragraph{和文フォント指定の扱い}
%
% {\pTeX}は既定で |kanji-config-updmap| の設定に従うため、
@@ -6532,6 +6783,12 @@
\let\CJKecglue\bxjs@CJKecglue}
% \end{macrocode}
%
+% |\jsJaChar| のサブマクロの実装。
+% \begin{macrocode}
+\def\bxjs@jachar#1{%
+ \CJKforced{#1}}
+% \end{macrocode}
+%
%^^A----------------
% \subsection{{\XeTeX}用設定: xeCJK + zxjatype}
%
@@ -6617,6 +6874,13 @@
\fi
% \end{macrocode}
%
+% |\jsJaChar| のサブマクロの実装。
+% \begin{macrocode}
+\def\bxjs@jachar#1{%
+ \xeCJKDeclareCharClass{CJK}{`#1}\relax
+ #1}
+% \end{macrocode}
+%
%^^A----------------
% \subsection{Lua{\TeX}用設定: Lua{\TeX}-ja}
%
@@ -6739,6 +7003,12 @@
\ltjsetparameter{xkanjiskip={\@tempskipa}}}
% \end{macrocode}
%
+% |\jsJaChar| のサブマクロの実装。
+% \begin{macrocode}
+\def\bxjs@jachar#1{%
+ \ltjjachar`#1\relax}
+% \end{macrocode}
+%
%^^A----------------
% \subsection{共通処理(2)}
%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
index af37716f58e..50b036892fe 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
@@ -37,7 +37,7 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsarticle}
- [2015/09/07 v1.0b BXJS document classes]
+ [2015/11/21 v1.0d BXJS document classes]
\RequirePackage{calc}
\RequirePackage{keyval}
\let\jsEngine=n
@@ -69,6 +69,10 @@
\ifx\pdfoutput\@undefined\else\ifnum\pdfoutput>\z@
\jsInPdfModetrue
\fi\fi
+\@gobbletwo\if\if \def\bxjs@cond#1\fi{%
+ #1\expandafter\@firstoftwo
+ \else\expandafter\@secondoftwo
+ \fi}
\let\jsArticle=a
\let\jsBook=b
\let\jsReport=r
@@ -363,6 +367,24 @@
\fi}
\ExecuteOptions{a4paper,oneside,onecolumn,notitlepage,final}
\ProcessOptions\relax
+\@onlypreamble\bxjs@purge@brace@elts
+\def\bxjs@purge@brace@elts{%
+ \def\bxjs@tmpa{\@gobble}%
+ \expandafter\bxjs@purge@be@a\@classoptionslist,\@nil,%
+ \let\@classoptionslist\bxjs@tmpa}
+\@onlypreamble\bxjs@purge@be@a
+\def\bxjs@purge@be@a#1,{%
+ \ifx\@nil#1\relax\else
+ \bxjs@purge@be@b#1{}\@nil
+ \if@tempswa \edef\bxjs@tmpa{\bxjs@tmpa,#1}\fi
+ \expandafter\bxjs@purge@be@a
+ \fi}
+\@onlypreamble\bxjs@purge@be@b
+\def\bxjs@purge@be@b#1#{\bxjs@purge@be@c}
+\@onlypreamble\bxjs@purge@be@c
+\def\bxjs@purge@be@c#1\@nil{%
+ \ifx\@nil#1\@nil \@tempswatrue \else \@tempswafalse \fi}
+\bxjs@purge@brace@elts
\@expandtwoargs\@removeelement
{papersize}\@classoptionslist\@classoptionslist
\@expandtwoargs\@removeelement
@@ -1135,15 +1157,16 @@
{\z@}%
{\normalfont\normalsize\headfont}}
\fi
+\newcommand\jsParagraphMark{\jsJaChar{■}}
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ
- {\normalfont\normalsize\headfont ■}}
+ {\normalfont\normalsize\headfont\jsParagraphMark}}
\else
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
{-1\jsZw}% 改行せず 1\jsZw のアキ
- {\normalfont\normalsize\headfont ■}}
+ {\normalfont\normalsize\headfont\jsParagraphMark}}
\fi
\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
{\z@}{-1\jsZw}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
index e524370fe84..47ce8753aba 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
@@ -37,7 +37,7 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsbook}
- [2015/09/07 v1.0b BXJS document classes]
+ [2015/11/21 v1.0d BXJS document classes]
\RequirePackage{calc}
\RequirePackage{keyval}
\let\jsEngine=n
@@ -69,6 +69,10 @@
\ifx\pdfoutput\@undefined\else\ifnum\pdfoutput>\z@
\jsInPdfModetrue
\fi\fi
+\@gobbletwo\if\if \def\bxjs@cond#1\fi{%
+ #1\expandafter\@firstoftwo
+ \else\expandafter\@secondoftwo
+ \fi}
\let\jsArticle=a
\let\jsBook=b
\let\jsReport=r
@@ -367,6 +371,24 @@
\fi}
\ExecuteOptions{a4paper,twoside,onecolumn,titlepage,openright,final}
\ProcessOptions\relax
+\@onlypreamble\bxjs@purge@brace@elts
+\def\bxjs@purge@brace@elts{%
+ \def\bxjs@tmpa{\@gobble}%
+ \expandafter\bxjs@purge@be@a\@classoptionslist,\@nil,%
+ \let\@classoptionslist\bxjs@tmpa}
+\@onlypreamble\bxjs@purge@be@a
+\def\bxjs@purge@be@a#1,{%
+ \ifx\@nil#1\relax\else
+ \bxjs@purge@be@b#1{}\@nil
+ \if@tempswa \edef\bxjs@tmpa{\bxjs@tmpa,#1}\fi
+ \expandafter\bxjs@purge@be@a
+ \fi}
+\@onlypreamble\bxjs@purge@be@b
+\def\bxjs@purge@be@b#1#{\bxjs@purge@be@c}
+\@onlypreamble\bxjs@purge@be@c
+\def\bxjs@purge@be@c#1\@nil{%
+ \ifx\@nil#1\@nil \@tempswatrue \else \@tempswafalse \fi}
+\bxjs@purge@brace@elts
\@expandtwoargs\@removeelement
{papersize}\@classoptionslist\@classoptionslist
\@expandtwoargs\@removeelement
@@ -1228,15 +1250,16 @@
{\z@}%
{\normalfont\normalsize\headfont}}
\fi
+\newcommand\jsParagraphMark{\jsJaChar{■}}
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ
- {\normalfont\normalsize\headfont ■}}
+ {\normalfont\normalsize\headfont\jsParagraphMark}}
\else
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
{-1\jsZw}% 改行せず 1\jsZw のアキ
- {\normalfont\normalsize\headfont ■}}
+ {\normalfont\normalsize\headfont\jsParagraphMark}}
\fi
\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
{\z@}{-1\jsZw}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
index 14b0afb0539..19b07e0a31c 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
@@ -36,7 +36,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\ProvidesFile{bxjsja-minimal.def}
- [2015/09/07 v1.0b BXJS document classes]
+ [2015/11/21 v1.0d BXJS document classes]
%% このファイルは日本語文字を含みます
\def\DeclareJaTextFontCommand#1#2{%
\DeclareRobustCommand#1[1]{%
@@ -51,7 +51,79 @@
\AtBeginDocument{%
\ifx\familydefault\bxjs@@CSsfdefault#1\fi}%
}
+\def\jsLetHeadChar#1#2{%
+ \begingroup
+ \escapechar=`\\ %
+ \let\bxjs@tmpa={% brace-match-hack
+ \bxjs@let@hchar@exp#2}%
+ \endgroup
+ \let#1\bxjs@g@tmpa}
+\def\bxjs@let@hchar@exp{%
+ \futurelet\@let@token\bxjs@let@hchar@exp@a}
+\def\bxjs@let@hchar@exp@a{%
+ \bxjs@cond\ifcat\noexpand\@let@token\bgroup\fi{% 波括弧
+ \bxjs@let@hchar@out\let\relax
+ }{\bxjs@cond\ifcat\noexpand\@let@token\@sptoken\fi{% 空白
+ \bxjs@let@hchar@out\let\space%
+ }{\bxjs@cond\if\noexpand\@let@token\@backslashchar\fi{% バックスラッシュ
+ \bxjs@let@hchar@out\let\@backslashchar
+ }{\bxjs@let@hchar@exp@b}}}}
+\def\bxjs@let@hchar@exp@b#1{%
+ \expandafter\bxjs@let@hchar@exp@c\string#1?\@nil#1}
+\def\bxjs@let@hchar@exp@c#1#2\@nil{%
+ \bxjs@cond\if#1\@backslashchar\fi{% 制御綴
+ \bxjs@cond\expandafter\ifx\noexpand\@let@token\@let@token\fi{%
+ \bxjs@let@hchar@out\let\relax
+ }{%else
+ \expandafter\bxjs@let@hchar@exp
+ }%
+ }{%else
+ \bxjs@let@hchar@chr#1%
+ }}
+\def\bxjs@let@hchar@chr#1{%
+ \bxjs@let@hchar@out\def{{#1}}}
+\def\bxjs@let@hchar@out#1#2{%
+ \global#1\bxjs@g@tmpa#2\relax
+ \toks@\bgroup}% skip to right brace
+\chardef\bxjs@let@hchar@csta=128
+\chardef\bxjs@let@hchar@cstb=192
+\chardef\bxjs@let@hchar@cstc=224
+\chardef\bxjs@let@hchar@cstd=240
+\chardef\bxjs@let@hchar@cste=248
+\let\bxjs@let@hchar@chr@ue@a\bxjs@let@hchar@chr
+\def\bxjs@let@hchar@chr@ue#1{%
+ \@tempcnta=`#1\relax
+ \bxjs@cond\ifnum\@tempcnta<\bxjs@let@hchar@csta\fi{%
+ \bxjs@let@hchar@chr@ue@a#1%
+ }{\bxjs@cond\ifnum\@tempcnta<\bxjs@let@hchar@cstb\fi{%
+ \bxjs@let@hchar@out\let\relax
+ }{\bxjs@cond\ifnum\@tempcnta<\bxjs@let@hchar@cstc\fi{%
+ \bxjs@let@hchar@chr@ue@b
+ }{\bxjs@cond\ifnum\@tempcnta<\bxjs@let@hchar@cstd\fi{%
+ \bxjs@let@hchar@chr@ue@c
+ }{\bxjs@cond\ifnum\@tempcnta<\bxjs@let@hchar@cste\fi{%
+ \bxjs@let@hchar@chr@ue@d
+ }{%else
+ \bxjs@let@hchar@out\let\relax
+ }}}}}}
+\def\bxjs@let@hchar@chr@ue@a#1{%
+ \bxjs@let@hchar@out\def{{#1}}}
+\def\bxjs@let@hchar@chr@ue@b#1#2{%
+ \bxjs@let@hchar@out\def{{#1#2}}}
+\def\bxjs@let@hchar@chr@ue@c#1#2#3{%
+ \bxjs@let@hchar@out\def{{#1#2#3}}}
+\def\bxjs@let@hchar@chr@ue@d#1#2#3#4{%
+ \bxjs@let@hchar@out\def{{#1#2#3#4}}}
\ifx j\jsEngine
+\def\bxjs@let@hchar@chr@pp#1{%
+ \expandafter\bxjs@let@hchar@chr@pp@a\meaning#1\relax#1}
+\def\bxjs@let@hchar@chr@pp@a#1#2\relax#3{%
+ \bxjs@cond\if#1t\fi{%
+ \bxjs@let@hchar@chr@ue#3%
+ }{%else
+ \bxjs@let@hchar@out\def{{#3}}%
+ }}
+\let\bxjs@let@hchar@chr\bxjs@let@hchar@chr@pp
\edef\jsc@JYn{\ifjsWithupTeX JY2\else JY1\fi}
\edef\jsc@JTn{\ifjsWithupTeX JT2\else JT1\fi}
\edef\jsc@pfx@{\ifjsWithupTeX u\fi}
@@ -133,6 +205,7 @@
\xspcode\@tempcnta=3\advance\@tempcnta\@ne}
\let\jsInhibitGlueAtParTop\@inhibitglue
\else\ifx p\jsEngine
+\let\bxjs@let@hchar@chr\bxjs@let@hchar@chr@ue
\@onlypreamble\bxjs@cjk@loaded
\def\bxjs@cjk@loaded{%
\def\@footnotemark{%
@@ -155,7 +228,16 @@
\bxjs@cjk@loaded
}{}%
}
-\fi\fi
+\else\ifx x\jsEngine
+\def\bxjs@let@hchar@chr#1{%
+ \@tempcnta`#1\relax \divide\@tempcnta"800\relax
+ \bxjs@cond\ifnum\@tempcnta=27 \fi{%
+ \bxjs@let@hchar@chr@xe
+ }{\bxjs@let@hchar@out\def{{#1}}}}
+\def\bxjs@let@hchar@chr@xe#1{%
+ \lccode`0=`#1\relax
+ \lowercase{\bxjs@let@hchar@out\def{{0}}}}
+\fi\fi\fi
\endinput
%%
%% End of file `bxjsja-minimal.def'.
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
index 5b7bc161f36..b54778b84ac 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
@@ -36,7 +36,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\ProvidesFile{bxjsja-standard.def}
- [2015/09/07 v1.0b BXJS document classes]
+ [2015/11/21 v1.0d BXJS document classes]
\input{bxjsja-minimal.def}
\ifjsWitheTeX
\@tempdima=0.25mm
@@ -153,6 +153,17 @@
\ifx$#1$\def\bxjs@tmpa{#2}%
\else \let\bxjs@tmpa\relax
\fi}
+\def\jsJaChar#1{%
+ \begingroup
+ \jsLetHeadChar\bxjs@tmpa{#1}%
+ \ifx\bxjs@tmpa\relax
+ \ClassWarningNoLine\bxjs@clsname
+ {Illegal argument given to \string\jsJaChar}%
+ \else
+ \expandafter\bxjs@jachar\expandafter{\bxjs@tmpa}%
+ \fi
+ \endgroup}
+\let\bxjs@jachar\@firstofone
\PassOptionsToPackage{setpagesize=false}{hyperref}
\@onlypreamble\bxjs@fix@hyperref@unicode
\def\bxjs@fix@hyperref@unicode#1{%
@@ -186,6 +197,34 @@
\kanjiskip\@tempskipa}
\def\bxjs@apply@xkanjiskip{%
\xkanjiskip\@tempskipa}
+\def\bxjs@jachar#1{%
+ \bxjs@jachar@a#1....\@nil}
+\def\bxjs@jachar@a#1#2#3#4#5\@nil{%
+ \ifx.#2#1%
+ \else\ifx.#3%
+ \@tempcnta`#1 \multiply\@tempcnta64
+ \advance\@tempcnta`#2 \advance\@tempcnta-"3080
+ \bxjs@jachar@b
+ \else\ifx.#4%
+ \@tempcnta`#1 \multiply\@tempcnta64
+ \advance\@tempcnta`#2 \multiply\@tempcnta64
+ \advance\@tempcnta`#3 \advance\@tempcnta-"E2080
+ \bxjs@jachar@b
+ \else
+ \@tempcnta`#1 \multiply\@tempcnta64
+ \advance\@tempcnta`#2 \multiply\@tempcnta64
+ \advance\@tempcnta`#3 \multiply\@tempcnta64
+ \advance\@tempcnta`#4 \advance\@tempcnta-"3C82080
+ \bxjs@jachar@b
+ \fi\fi\fi}
+\ifjsWithupTeX
+ \def\bxjs@jachar@b{\kchar\@tempcnta}
+\else
+ \def\bxjs@jachar@b{%
+ \ifx\bxUInt\@undefined\else
+ \bxUInt{\@tempcnta}%
+ \fi}
+\fi
\let\bxjs@tmpa\jsJaFont
\ifx\bxjs@tmpa\bxjs@@auto
\let\bxjs@tmpa\@empty
@@ -284,6 +323,8 @@
\def\bxjs@apply@xkanjiskip{%
\jsXKanjiSkip\@tempskipa
\let\CJKecglue\bxjs@CJKecglue}
+\def\bxjs@jachar#1{%
+ \CJKforced{#1}}
\else\if x\jsEngine
\RequirePackage{zxjatype}
\PassOptionsToPackage{no-math}{fontspec}%!
@@ -325,6 +366,9 @@
\protected\def\mcfamily{\CJKfamily{\CJKrmdefault}}
\protected\def\gtfamily{\CJKfamily{\CJKsfdefault}}
\fi
+\def\bxjs@jachar#1{%
+ \xeCJKDeclareCharClass{CJK}{`#1}\relax
+ #1}
\else\if l\jsEngine
\let\zw\@undefined
\RequirePackage{luatexja}
@@ -384,6 +428,8 @@
\ltjsetparameter{kanjiskip={\@tempskipa}}}
\def\bxjs@apply@xkanjiskip{%
\ltjsetparameter{xkanjiskip={\@tempskipa}}}
+\def\bxjs@jachar#1{%
+ \ltjjachar`#1\relax}
\fi\fi\fi\fi
\DeclareJaTextFontCommand{\textmc}{\mcfamily}
\DeclareJaTextFontCommand{\textgt}{\gtfamily}
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
index e7471f4f192..6234844f826 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
@@ -37,7 +37,7 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsreport}
- [2015/09/07 v1.0b BXJS document classes]
+ [2015/11/21 v1.0d BXJS document classes]
\RequirePackage{calc}
\RequirePackage{keyval}
\let\jsEngine=n
@@ -69,6 +69,10 @@
\ifx\pdfoutput\@undefined\else\ifnum\pdfoutput>\z@
\jsInPdfModetrue
\fi\fi
+\@gobbletwo\if\if \def\bxjs@cond#1\fi{%
+ #1\expandafter\@firstoftwo
+ \else\expandafter\@secondoftwo
+ \fi}
\let\jsArticle=a
\let\jsBook=b
\let\jsReport=r
@@ -367,6 +371,24 @@
\fi}
\ExecuteOptions{a4paper,oneside,onecolumn,titlepage,openany,final}
\ProcessOptions\relax
+\@onlypreamble\bxjs@purge@brace@elts
+\def\bxjs@purge@brace@elts{%
+ \def\bxjs@tmpa{\@gobble}%
+ \expandafter\bxjs@purge@be@a\@classoptionslist,\@nil,%
+ \let\@classoptionslist\bxjs@tmpa}
+\@onlypreamble\bxjs@purge@be@a
+\def\bxjs@purge@be@a#1,{%
+ \ifx\@nil#1\relax\else
+ \bxjs@purge@be@b#1{}\@nil
+ \if@tempswa \edef\bxjs@tmpa{\bxjs@tmpa,#1}\fi
+ \expandafter\bxjs@purge@be@a
+ \fi}
+\@onlypreamble\bxjs@purge@be@b
+\def\bxjs@purge@be@b#1#{\bxjs@purge@be@c}
+\@onlypreamble\bxjs@purge@be@c
+\def\bxjs@purge@be@c#1\@nil{%
+ \ifx\@nil#1\@nil \@tempswatrue \else \@tempswafalse \fi}
+\bxjs@purge@brace@elts
\@expandtwoargs\@removeelement
{papersize}\@classoptionslist\@classoptionslist
\@expandtwoargs\@removeelement
@@ -1224,15 +1246,16 @@
{\z@}%
{\normalfont\normalsize\headfont}}
\fi
+\newcommand\jsParagraphMark{\jsJaChar{■}}
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ
- {\normalfont\normalsize\headfont ■}}
+ {\normalfont\normalsize\headfont\jsParagraphMark}}
\else
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
{-1\jsZw}% 改行せず 1\jsZw のアキ
- {\normalfont\normalsize\headfont ■}}
+ {\normalfont\normalsize\headfont\jsParagraphMark}}
\fi
\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
{\z@}{-1\jsZw}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
index 60068d215c5..837f91222f8 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
@@ -37,7 +37,7 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsslide}
- [2015/09/07 v1.0b BXJS document classes]
+ [2015/11/21 v1.0d BXJS document classes]
\RequirePackage{calc}
\RequirePackage{keyval}
\let\jsEngine=n
@@ -69,6 +69,10 @@
\ifx\pdfoutput\@undefined\else\ifnum\pdfoutput>\z@
\jsInPdfModetrue
\fi\fi
+\@gobbletwo\if\if \def\bxjs@cond#1\fi{%
+ #1\expandafter\@firstoftwo
+ \else\expandafter\@secondoftwo
+ \fi}
\let\jsArticle=a
\let\jsBook=b
\let\jsReport=r
@@ -363,6 +367,24 @@
\fi}
\ExecuteOptions{36pt,a4paper,landscape,oneside,onecolumn,titlepage,final}
\ProcessOptions\relax
+\@onlypreamble\bxjs@purge@brace@elts
+\def\bxjs@purge@brace@elts{%
+ \def\bxjs@tmpa{\@gobble}%
+ \expandafter\bxjs@purge@be@a\@classoptionslist,\@nil,%
+ \let\@classoptionslist\bxjs@tmpa}
+\@onlypreamble\bxjs@purge@be@a
+\def\bxjs@purge@be@a#1,{%
+ \ifx\@nil#1\relax\else
+ \bxjs@purge@be@b#1{}\@nil
+ \if@tempswa \edef\bxjs@tmpa{\bxjs@tmpa,#1}\fi
+ \expandafter\bxjs@purge@be@a
+ \fi}
+\@onlypreamble\bxjs@purge@be@b
+\def\bxjs@purge@be@b#1#{\bxjs@purge@be@c}
+\@onlypreamble\bxjs@purge@be@c
+\def\bxjs@purge@be@c#1\@nil{%
+ \ifx\@nil#1\@nil \@tempswatrue \else \@tempswafalse \fi}
+\bxjs@purge@brace@elts
\@expandtwoargs\@removeelement
{papersize}\@classoptionslist\@classoptionslist
\@expandtwoargs\@removeelement
@@ -1133,15 +1155,16 @@
{\z@}%
{\normalfont\normalsize\headfont}}
\fi
+\newcommand\jsParagraphMark{\jsJaChar{■}}
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ
- {\normalfont\normalsize\headfont ■}}
+ {\normalfont\normalsize\headfont\jsParagraphMark}}
\else
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
{-1\jsZw}% 改行せず 1\jsZw のアキ
- {\normalfont\normalsize\headfont ■}}
+ {\normalfont\normalsize\headfont\jsParagraphMark}}
\fi
\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
{\z@}{-1\jsZw}%