summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-08-24 21:30:47 +0000
committerKarl Berry <karl@freefriends.org>2015-08-24 21:30:47 +0000
commit1a8e2128cdbe579f531b4b842afe17b2da07dc6c (patch)
tree573866c2cc58a1aa6b03c0429b2b0e51db0d9017 /Master
parent6232e625024c17161418cf1841e0f923425e234e (diff)
bxjscls (24aug15)
git-svn-id: svn://tug.org/texlive/trunk@38196 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README-ja.md5
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README.md1
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdfbin714908 -> 716369 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex32
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdfbin891277 -> 898329 bytes
-rw-r--r--Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx131
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls26
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls26
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def2
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def21
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls26
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls26
12 files changed, 248 insertions, 48 deletions
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
index 5f38198fbf2..ad4e4c864c7 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
@@ -93,6 +93,11 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使
更新履歴
--------
+ * Version 1.0a [2015/08/23]
+ - `base`/`jbase` での Q 単位の指定に対応。
+ - pdflatex 使用時に `\hypersetup` で和文文字を含む文書情報を
+ 指定可能にする。
+ - バグ修正。
* Version 1.0 [2015/08/05]
- bxjsreport と bxjsslide クラスを提供する。
- `jafont` オプションを追加。
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md
index 508ec55ca01..c60acdf6ad0 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README.md
@@ -83,6 +83,7 @@ This package is distributed under the BSD 2-Clause License.
Revision History
----------------
+ * Version 1.0a [2015/08/23]
* Version 1.0 [2015/08/05]
* Version 0.9 [2013/10/03]
* Version 0.4 [2013/08/03]
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
index 400946b6ecb..bb6d02a93b8 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 c118f9da86b..77d8ddb6093 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.0}
-\newcommand{\PkgDate}{2015/08/05}
+\newcommand{\PkgVersion}{1.0a}
+\newcommand{\PkgDate}{2015/08/23}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
@@ -239,12 +239,6 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが
日本語で~pdf{\LaTeX}~するテスト。
\end{document}
\end{verbatim}\end{quote}
-\item BXJSクラスでは(JSクラスと同様に)通常は和文に約92.5\%の
- スケールを施している。
- ところが、\Pkg{CJK}パッケージは「和文のスケール」をサポートしていない。
- このため、エンジンが |pdflatex| の場合は他の場合と比べて和文が大きめに
- 出力される。
-\footnote{同じ理由で、|pdflatex| では |scale| オプションも無効になる。}%
\item \Pkg{bxcjkjatype}パッケージにおけるフォントの既定設定は
「Type1形式のIPAexフォント」(\Pkg{ipaex-type1}パッケージ)である。
一方、|ipaex| プリセットを指定した場合は
@@ -363,6 +357,20 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが
\Pkg{pxjahyper}パッケージを読み込む必要がない。
ただし読み込んでも構わないし、必要な場合もある。}%
(ただし文書クラスが\Pkg{hyperref}を読み込むわけではない。)
+\item pdf{\LaTeX}上で\Pkg{hyperref}で |pdftitle| 等の文書情報に
+ 和文文字を含めたい場合は、|\hypersetup| 命令を通常通り
+ 使うことができる。
+ \footnote{ちなみに、普通に\Pkg{CJKutf8}パッケージを用いた場合は、
+ この方法では失敗してしまう。
+ 恐らく |\hypersetup| 命令全体を |CJK*| 環境で囲う必要が
+ あるのだと思われる。}%
+\begin{quote}\small\begin{verbatim}
+\documentclass[pdflatex,a4paper,ja=standard]{bxjsarticle}
+\usepackage[colorlinks]{hyperref}
+\hypersetup{pdftitle={日本語タイトル}}
+\end{verbatim}\end{quote}
+ \Pkg{hyperref}のパッケージオプションで和文文字を含む文書情報を
+ 指定することはできない。
\item |jafont| が無い場合の“既定のフォント設定”は多くのエンジンに
おいて「IPAexフォント使用」であるが、(u){\pLaTeX}だけは異なっていて
「何も指定しない状態」(JSクラスと同様)である。
@@ -467,18 +475,24 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション
|14pt| は 14.4\,pt が実際の設定値である。
\footnote{これは昔の{\LaTeX}の“magstep”の習慣に由来する。}%
これに対して |base=14pt| は文字通り14\,ptを設定する。
+ \Note \Meta{長さ}には\Pkg{calc}パッケージの式が使用できる。
+ この他に、特別に、(u){\pLaTeX}以外のエンジンでも |11Q| の
+ ようにQ単位で指定することができる
+ (この場合は“\Meta{実数}|Q|”の形に限られ式は使えない)。
+ \footnote{なお、(u){\pLaTeX}ではエンジンが単位 |Q| をサポート
+ するので、|11Q| も |10Q+1Q| も\Pkg{calc}の式として受け付けられる。}
\item |jbase=|\Meta{長さ}\Means
和文を基準にして基底フォントサイズを指定する。
すなわち和文フォントの |\normalsize| のサイズを指定の長さとする。
\footnote{この場合に決定されるmag値は和文スケール値にも依存する
ことに注意。}%
+ \Note \Meta{長さ}の書式は |base| オプションと同様。
\item |scale=|\Meta{実数}\Means
和文スケール値を設定する。
既定値は 0.924715(= 13\,Q/10\,pt)である。
\footnote{これはJSクラスの設計に基づく値である。
ただし実装の都合で、JSクラスの実際のスケール値はこれから
僅かだけずれている。}%
- \Note エンジンが |(pdf)latex| の時は和文スケールが無効になる。
\item |noscale|\Means
|scale=1| と同値。
\item |paper={|\Meta{横幅}|}{|\Meta{縦幅}|}|\Means
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
index 12fc2354069..242642b02f3 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 9ac556f805c..5b7c8d1435d 100644
--- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
+++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
@@ -23,7 +23,7 @@
%
% Copyright 1993 1994 1995 1996 1997 1998 1999
% The LaTeX3 Project and any individual authors listed elsewhere
-% in this file.
+% in this file.
%
% Copyright 1995-1999 ASCII Corporation.
%
@@ -58,7 +58,8 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2015/08/05 v1.0 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]
% [2013/10/03 v0.9pre BXJS document classes]
% based on jsclasses [2013/05/14]
@@ -395,7 +396,7 @@
% \pLaTeXe の \texttt{b5paper}
% は $257\,\mathrm{mm} \times 182\,\mathrm{mm}$ になっています。
% ここでは\pLaTeXe にならってJISに従いました。
-%
+%
% デフォルトは \texttt{a4paper} です。
%
% \texttt{b5var}(B5変形,182mm×230mm),
@@ -464,13 +465,60 @@
\newcommand{\@ptsize}{0}
\def\bxjs@param@basefontsize{10pt}
\def\jsUnusualPtSize{-20}
+% \end{macrocode}
+% \begin{ZRnote}
+% \begin{macro}{\bxjs@setbasefontsize}
+% 基底フォントサイズを実際に変更する。
+% \begin{macrocode}
\def\bxjs@setbasefontsize#1{%
- \setlength\@tempdima{#1}%
+ \bxjs@setbasefontlength\@tempdima{#1}%
\edef\bxjs@param@basefontsize{\the\@tempdima}%
\ifdim\@tempdima=10pt \long\def\@ptsize{0}%
\else\ifdim\@tempdima=10.95pt \long\def\@ptsize{1}%
\else\ifdim\@tempdima=12pt \long\def\@ptsize{2}%
\else \long\edef\@ptsize{\jsUnusualPtSize}\fi\fi\fi}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\bxjs@setbasefontlength}
+% |base|、|jbase| で指定される長さ(式)のための
+% 特別な |\setlength|。
+% 与えられた式が“\Meta{実数}|Q|”の形の場合、Q単位の長さを
+% 代入する(この場合“式”は使えない)。
+% \Note クラスオプションのトークン列の中に展開可能なトークンが
+% ある場合、{\LaTeX}はファイルの読込の前にそれを展開しようとする。
+% このため、この位置で |\jQ| をサポートすることは
+% 原理的に不可能である。
+% \begin{macrocode}
+\def\bxjs@setbasefontlength#1#2{%
+% \end{macrocode}
+% ここで |true| の長さが使われるのは不合理なので、
+% 式が“|true|”を含む場合には警告を出す。
+% \begin{macrocode}
+ \bxjs@setbasefontlength@a#2true\@nnil
+% \end{macrocode}
+% 式の末尾が“|Q|”である時は特別に扱い、
+% それ以外は |\setlength| に移譲する。
+% \begin{macrocode}
+ \ifx j\jsEngine \setlength#1{#2}%
+ \else
+ \bxjs@setbasefontlength@b#2\@nil Q\@nil\@nnil
+ \ifx\bxjs@tmpa\relax \setlength#1{#2}%
+ \else \@tempdimc0.25mm #1=\bxjs@tmpa\@tempdimc
+ \fi
+ \fi}
+\def\bxjs@setbasefontlength@b#1Q\@nil#2\@nnil{%
+ \ifx\@nnil#2\@nnil \let\bxjs@tmpa\relax
+ \else \def\bxjs@tmpa{#1}%
+ \fi}
+\def\bxjs@setbasefontlength@a#1true#2\@nnil{%
+ \ifx\@nnil#2\@nnil\else
+ \ClassWarningNoLine\bxjs@clsname
+ {You should not use 'true' lengths here}%
+ \fi}
+% \end{macrocode}
+% \end{macro}
+% \end{ZRnote}
+% \begin{macrocode}
\DeclareOption{8pt}{\bxjs@setbasefontsize{8pt}}
\DeclareOption{9pt}{\bxjs@setbasefontsize{9pt}}
\DeclareOption{10pt}{\bxjs@setbasefontsize{10pt}}
@@ -638,7 +686,7 @@
% これは |ifdraft| パッケージと衝突するので、代わりに |\ifjsDraft|
% の名前を用い、本文開始時に |\ifdraft| が未定義の場合に限り、
% |\ifjsDraft| を |\ifdraft| にコピーする処理にする。
-%
+%
% \end{ZRnote}
% \begin{macrocode}
\let\ifjsDraft\iffalse
@@ -697,17 +745,25 @@
% \mbox{}
% \begin{ZRnote}
% \begin{itemize}
+% \item エンジンオプション: |xelatex| 等。
+% \item ドライバオプション: |dvipdfmx| 等。
+% \item |nopapersize| : |papersize|(既定で有効)の否定。
+% \item |zw|/|nozw| : |\jsZw| と等価な命令として |\zw| を
+% 定義する/しない。
+% \item |js|/|nojs| : JSクラスを読込済として扱う/扱わない。
% \item |base=|\meta{dimen} : 基底フォントサイズを直接指定する。
% (|xxpt| オプションの代用なので、既定値は10\,ptである。)
+% \item |jbase=|\meta{dimen} : 基底フォントサイズを“和文規準で”
+% 直接指定する。
% \item |scale=|\meta{real} : 和文フォントのスケールを表すマクロ |\jsScale|
% の値を設定する。
% もちろんこの値を何らかの方法で和文処理モジュールに渡さないと意味を成さない。
% 既定値は 0.924715(= 13\,Q/10\,pt)。
+% \item |noscale| : |scale=1| と等価。
% \item |mag=|\meta{int} : |\mag| 値の直接設定。既定は |base| から算出する。
% \item |paper={|\meta{dimen:width}|}{|\meta{dimen:height}|}| : 用紙サイズ設定。
% 用紙サイズオプションの代用で、既定値は |a4paper| 相当。
-% \item |platex|, |uplatex| : (u){\pTeX}用の連携モジュールを有効化する。
-% \item |CJK| : CJKパッケージ用の連携モジュールを有効化する。
+% \item |magstyle=|\meta{name} : “版面拡大”の実現方法の選択。
% \end{itemize}
%
% \begin{macro}{\bxjs@invscale}
@@ -897,7 +953,7 @@
\define@key{bxjs}{jbase}{\bxjs@setjbasefontsize{#1}}
\def\bxjs@setjbasefontsize#1{%
\def\bxjs@do@opt@jbase{%
- \setlength\@tempdima{#1}%
+ \bxjs@setbasefontlength\@tempdima{#1}%
\bxjs@invscale\@tempdima\jsScale
\bxjs@setbasefontsize{\@tempdima}}}
% \end{macrocode}
@@ -1301,7 +1357,7 @@
\chardef\bxjs@qmcc=\catcode`\?\relax
% \end{macrocode}
% \end{ZRnote}
-%
+%
% \begin{ZRnote}
% ここで{p\TeX}のzwに相当する単位として用いる長さ変数 |\jsZw| を作成する。
% 約束により、これは |\jsScale| $\times$ (指定フォントサイズ) に等しい。
@@ -2028,7 +2084,7 @@
% \begin{ZRnote}
% エンジンが{\XeTeX}である場合の処理。
% \begin{itemize}
-% \item |geometry| 4.2版の場合:\
+% \item |geometry| 4.2版の場合:\
% {\TeX} Liveの一部の版に用意されている設定ファイル |geometry.cfg|
% では、|geometry| のドライバ自動検出の処理を乗っ取って、
% 強制的に |pdftex| を使用するようになっている。
@@ -2037,14 +2093,14 @@
% そこで、|geometry.cfg| の読込の箇所にフックをかけて、|geometry.cfg|
% での処理をさらに乗っ取ることにする。
% \begin{itemize}
-% \item {\XeTeX}が |\pdfpagewidth| をサポートする場合は、ダミーの\
+% \item {\XeTeX}が |\pdfpagewidth| をサポートする場合は、ダミーの\
% |\pdfhorigin|、|\pdfvorigin| を用意してドライバを |pdftex|
% に強制的に変更する。
% \item そうでない場合は、ドライバを |dvipdfm| に強制的に変更する。
% \end{itemize}
-% \item |geometry| 5.x版の場合:\
+% \item |geometry| 5.x版の場合:\
% この版の |geometry| は{\XeTeX}に正式に対応(ドライバ名 |xetex|)
-% していて、また{\XeTeX}で実行した場合にドライバ自動検出の結果は\
+% していて、また{\XeTeX}で実行した場合にドライバ自動検出の結果は\
% |xetex| となる。
% 従って、特に何もする必要がない。
% さらに、ドライバ自動検出処理のマクロ名を4.2版のもの
@@ -2339,7 +2395,7 @@
% ページスタイルとして,\LaTeXe (欧文版)の標準クラス
% では |empty|,|plain|,|headings|,|myheadings| があります。
% このうち |empty|,|plain| スタイルは\LaTeXe 本体
-% で定義されています。
+% で定義されています。
%
% アスキーのクラスファイルでは |headnombre|,|footnombre|,
% |bothstyle|,|jpl@in| が追加されていますが,
@@ -4547,7 +4603,7 @@
\settowidth\js@tocl@width{\headfont\prechaptername\postchaptername}%
\settowidth\@tempdima{\headfont\appendixname}%
\ifdim\js@tocl@width<\@tempdima \setlength\js@tocl@width{\@tempdima}\fi
- \ifdim\js@tocl@width<2zw \divide\js@tocl@width by 2 \advance\js@tocl@width 1zw\fi
+ \ifdim\js@tocl@width<2\jsZw \divide\js@tocl@width by 2 \advance\js@tocl@width 1\jsZw\fi
\if@twocolumn
\@restonecoltrue\onecolumn
\else
@@ -4560,7 +4616,7 @@
\settowidth\js@tocl@width{\headfont\presectionname\postsectionname}%
\settowidth\@tempdima{\headfont\appendixname}%
\ifdim\js@tocl@width<\@tempdima\relax\setlength\js@tocl@width{\@tempdima}\fi
- \ifdim\js@tocl@width<2zw \divide\js@tocl@width by 2 \advance\js@tocl@width 1zw\fi
+ \ifdim\js@tocl@width<2\jsZw \divide\js@tocl@width by 2 \advance\js@tocl@width 1\jsZw\fi
\section*{\contentsname}%
\@mkboth{\contentsname}{\contentsname}%
%</!book&!report>
@@ -4759,7 +4815,7 @@
\@lnumwidth #3\relax
\advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip
{#4}\nobreak
- \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
mu$}\hfill \nobreak\hb@xt@\@pnumwidth{%
\hfil\normalfont \normalcolor #5}\par}\fi}
% \end{macrocode}
@@ -5636,7 +5692,7 @@
% JSクラスでzw単位で設定されている長さパラメタはこの変数を単位と
% して設定されている。
% この変数の値は実際に用いられる「和文フォント」のメトリックに
-% 基づくのではなく、機械的に\
+% 基づくのではなく、機械的に\
% |\jsScale| $\times$(フォントサイズ)
% であると定められている
% (フォントサイズ変更の度に再設定される)。
@@ -5885,7 +5941,7 @@
\else\ifx p\jsEngine
% \end{macrocode}
%
-%
+%
% \begin{macrocode}
\@onlypreamble\bxjs@cjk@loaded
\def\bxjs@cjk@loaded{%
@@ -6350,6 +6406,7 @@
% |\jsJaFont| が指定されている場合は、その値を |bxcjkjatype| の
% オプション(プリセット指定)に渡す。
% (|auto| ならば |\bxjs@get@kanjiEmbed| を実行する。)
+% スケール値(|\jsScale|)の反映は bxcjkjatype の側で行われる。
% \begin{macrocode}
\bxjs@adjust@jafont{f}
\edef\bxjs@nxt{%
@@ -6364,11 +6421,43 @@
%
% |bxcjkjatype| 使用時は |unicode| にするべき。
% \Note 取りあえず固定はしない。
-%
% \begin{macrocode}
\PassOptionsToPackage{unicode}{hyperref}
% \end{macrocode}
%
+% |\hypersetup| 命令で(|CJK*| 環境に入れなくても)日本語文字を
+% 含む文書情報を設定できるようにするための細工。
+% \Note bxcjkjatype を |whole| 付きで使っていることが前提。
+% \Note パッケージオプションでの指定に対応するのは、
+% 「アクティブな高位バイトトークンがその場で展開されてしまう」
+% ため困難である。
+% \begin{macrocode}
+\begingroup
+ \CJK@input{UTF8.bdg}
+\endgroup
+\g@addto@macro\pdfstringdefPreHook{%
+ \@nameuse{CJK@UTF8Binding}%
+}
+% \end{macrocode}
+%
+% |~| が和欧文間空白である場合はPDF文字列中で空白文字で
+% なく空に展開させる。
+% \begin{macrocode}
+\g@addto@macro\pdfstringdefPreHook{%
+ \ifx~\bxjs@@CJKtilde
+ \let\bxjs@org@LetUnexpandableSpace\HyPsd@LetUnexpandableSpace
+ \let\HyPsd@LetUnexpandableSpace\bxjs@LetUnexpandableSpace
+ \let~\@empty
+ \fi
+}
+\def\bxjs@@CJKtilde{\CJKecglue\ignorespaces}
+\def\bxjs@@tildecmd{~}
+\def\bxjs@LetUnexpandableSpace#1{%
+ \def\bxjs@tmpa{#1}\ifx\bxjs@tmpa\bxjs@@tildecmd\else
+ \bxjs@org@LetUnexpandableSpace#1%
+ \fi}
+% \end{macrocode}
+%
% \paragraph{共通命令の実装}
%
% \begin{macrocode}
@@ -6390,7 +6479,7 @@
\jsXKanjiSkip\@tempskipa
\let\CJKecglue\bxjs@CJKecglue}
% \end{macrocode}
-%
+%
%^^A----------------
% \subsection{{\XeTeX}用設定: xeCJK + zxjatype}
%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
index acdd447e30a..001b6957c3b 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/08/05 v1.0 BXJS document classes]
+ [2015/08/23 v1.0a BXJS document classes]
\RequirePackage{calc}
\RequirePackage{keyval}
\let\jsEngine=n
@@ -117,12 +117,30 @@
\def\bxjs@param@basefontsize{10pt}
\def\jsUnusualPtSize{-20}
\def\bxjs@setbasefontsize#1{%
- \setlength\@tempdima{#1}%
+ \bxjs@setbasefontlength\@tempdima{#1}%
\edef\bxjs@param@basefontsize{\the\@tempdima}%
\ifdim\@tempdima=10pt \long\def\@ptsize{0}%
\else\ifdim\@tempdima=10.95pt \long\def\@ptsize{1}%
\else\ifdim\@tempdima=12pt \long\def\@ptsize{2}%
\else \long\edef\@ptsize{\jsUnusualPtSize}\fi\fi\fi}
+\def\bxjs@setbasefontlength#1#2{%
+ \bxjs@setbasefontlength@a#2true\@nnil
+ \ifx j\jsEngine \setlength#1{#2}%
+ \else
+ \bxjs@setbasefontlength@b#2\@nil Q\@nil\@nnil
+ \ifx\bxjs@tmpa\relax \setlength#1{#2}%
+ \else \@tempdimc0.25mm #1=\bxjs@tmpa\@tempdimc
+ \fi
+ \fi}
+\def\bxjs@setbasefontlength@b#1Q\@nil#2\@nnil{%
+ \ifx\@nnil#2\@nnil \let\bxjs@tmpa\relax
+ \else \def\bxjs@tmpa{#1}%
+ \fi}
+\def\bxjs@setbasefontlength@a#1true#2\@nnil{%
+ \ifx\@nnil#2\@nnil\else
+ \ClassWarningNoLine\bxjs@clsname
+ {You should not use 'true' lengths here}%
+ \fi}
\DeclareOption{8pt}{\bxjs@setbasefontsize{8pt}}
\DeclareOption{9pt}{\bxjs@setbasefontsize{9pt}}
\DeclareOption{10pt}{\bxjs@setbasefontsize{10pt}}
@@ -297,7 +315,7 @@
\define@key{bxjs}{jbase}{\bxjs@setjbasefontsize{#1}}
\def\bxjs@setjbasefontsize#1{%
\def\bxjs@do@opt@jbase{%
- \setlength\@tempdima{#1}%
+ \bxjs@setbasefontlength\@tempdima{#1}%
\bxjs@invscale\@tempdima\jsScale
\bxjs@setbasefontsize{\@tempdima}}}
\define@key{bxjs}{scale}{%
@@ -1347,7 +1365,7 @@
\settowidth\js@tocl@width{\headfont\presectionname\postsectionname}%
\settowidth\@tempdima{\headfont\appendixname}%
\ifdim\js@tocl@width<\@tempdima\relax\setlength\js@tocl@width{\@tempdima}\fi
- \ifdim\js@tocl@width<2zw \divide\js@tocl@width by 2 \advance\js@tocl@width 1zw\fi
+ \ifdim\js@tocl@width<2\jsZw \divide\js@tocl@width by 2 \advance\js@tocl@width 1\jsZw\fi
\section*{\contentsname}%
\@mkboth{\contentsname}{\contentsname}%
\@starttoc{toc}%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
index 05f1b5c886e..8b52df4ffdb 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/08/05 v1.0 BXJS document classes]
+ [2015/08/23 v1.0a BXJS document classes]
\RequirePackage{calc}
\RequirePackage{keyval}
\let\jsEngine=n
@@ -119,12 +119,30 @@
\def\bxjs@param@basefontsize{10pt}
\def\jsUnusualPtSize{-20}
\def\bxjs@setbasefontsize#1{%
- \setlength\@tempdima{#1}%
+ \bxjs@setbasefontlength\@tempdima{#1}%
\edef\bxjs@param@basefontsize{\the\@tempdima}%
\ifdim\@tempdima=10pt \long\def\@ptsize{0}%
\else\ifdim\@tempdima=10.95pt \long\def\@ptsize{1}%
\else\ifdim\@tempdima=12pt \long\def\@ptsize{2}%
\else \long\edef\@ptsize{\jsUnusualPtSize}\fi\fi\fi}
+\def\bxjs@setbasefontlength#1#2{%
+ \bxjs@setbasefontlength@a#2true\@nnil
+ \ifx j\jsEngine \setlength#1{#2}%
+ \else
+ \bxjs@setbasefontlength@b#2\@nil Q\@nil\@nnil
+ \ifx\bxjs@tmpa\relax \setlength#1{#2}%
+ \else \@tempdimc0.25mm #1=\bxjs@tmpa\@tempdimc
+ \fi
+ \fi}
+\def\bxjs@setbasefontlength@b#1Q\@nil#2\@nnil{%
+ \ifx\@nnil#2\@nnil \let\bxjs@tmpa\relax
+ \else \def\bxjs@tmpa{#1}%
+ \fi}
+\def\bxjs@setbasefontlength@a#1true#2\@nnil{%
+ \ifx\@nnil#2\@nnil\else
+ \ClassWarningNoLine\bxjs@clsname
+ {You should not use 'true' lengths here}%
+ \fi}
\DeclareOption{8pt}{\bxjs@setbasefontsize{8pt}}
\DeclareOption{9pt}{\bxjs@setbasefontsize{9pt}}
\DeclareOption{10pt}{\bxjs@setbasefontsize{10pt}}
@@ -301,7 +319,7 @@
\define@key{bxjs}{jbase}{\bxjs@setjbasefontsize{#1}}
\def\bxjs@setjbasefontsize#1{%
\def\bxjs@do@opt@jbase{%
- \setlength\@tempdima{#1}%
+ \bxjs@setbasefontlength\@tempdima{#1}%
\bxjs@invscale\@tempdima\jsScale
\bxjs@setbasefontsize{\@tempdima}}}
\define@key{bxjs}{scale}{%
@@ -1402,7 +1420,7 @@
\settowidth\js@tocl@width{\headfont\prechaptername\postchaptername}%
\settowidth\@tempdima{\headfont\appendixname}%
\ifdim\js@tocl@width<\@tempdima \setlength\js@tocl@width{\@tempdima}\fi
- \ifdim\js@tocl@width<2zw \divide\js@tocl@width by 2 \advance\js@tocl@width 1zw\fi
+ \ifdim\js@tocl@width<2\jsZw \divide\js@tocl@width by 2 \advance\js@tocl@width 1\jsZw\fi
\if@twocolumn
\@restonecoltrue\onecolumn
\else
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
index 49f11c96e0d..8fb926cbd26 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/08/05 v1.0 BXJS document classes]
+ [2015/08/23 v1.0a BXJS document classes]
%% このファイルは日本語文字を含みます
\def\DeclareJaTextFontCommand#1#2{%
\DeclareRobustCommand#1[1]{%
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
index 83a57af1304..b5feee63779 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/08/05 v1.0 BXJS document classes]
+ [2015/08/23 v1.0a BXJS document classes]
\input{bxjsja-minimal.def}
\ifjsWitheTeX
\@tempdima=0.25mm
@@ -248,6 +248,25 @@
\bxjs@nxt
\bxjs@cjk@loaded
\PassOptionsToPackage{unicode}{hyperref}
+\begingroup
+ \CJK@input{UTF8.bdg}
+\endgroup
+\g@addto@macro\pdfstringdefPreHook{%
+ \@nameuse{CJK@UTF8Binding}%
+}
+\g@addto@macro\pdfstringdefPreHook{%
+ \ifx~\bxjs@@CJKtilde
+ \let\bxjs@org@LetUnexpandableSpace\HyPsd@LetUnexpandableSpace
+ \let\HyPsd@LetUnexpandableSpace\bxjs@LetUnexpandableSpace
+ \let~\@empty
+ \fi
+}
+\def\bxjs@@CJKtilde{\CJKecglue\ignorespaces}
+\def\bxjs@@tildecmd{~}
+\def\bxjs@LetUnexpandableSpace#1{%
+ \def\bxjs@tmpa{#1}\ifx\bxjs@tmpa\bxjs@@tildecmd\else
+ \bxjs@org@LetUnexpandableSpace#1%
+ \fi}
\newskip\jsKanjiSkip
\newskip\jsXKanjiSkip
\ifx\CJKecglue\@undefined
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
index 7effdcf18cd..3872521f02d 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/08/05 v1.0 BXJS document classes]
+ [2015/08/23 v1.0a BXJS document classes]
\RequirePackage{calc}
\RequirePackage{keyval}
\let\jsEngine=n
@@ -119,12 +119,30 @@
\def\bxjs@param@basefontsize{10pt}
\def\jsUnusualPtSize{-20}
\def\bxjs@setbasefontsize#1{%
- \setlength\@tempdima{#1}%
+ \bxjs@setbasefontlength\@tempdima{#1}%
\edef\bxjs@param@basefontsize{\the\@tempdima}%
\ifdim\@tempdima=10pt \long\def\@ptsize{0}%
\else\ifdim\@tempdima=10.95pt \long\def\@ptsize{1}%
\else\ifdim\@tempdima=12pt \long\def\@ptsize{2}%
\else \long\edef\@ptsize{\jsUnusualPtSize}\fi\fi\fi}
+\def\bxjs@setbasefontlength#1#2{%
+ \bxjs@setbasefontlength@a#2true\@nnil
+ \ifx j\jsEngine \setlength#1{#2}%
+ \else
+ \bxjs@setbasefontlength@b#2\@nil Q\@nil\@nnil
+ \ifx\bxjs@tmpa\relax \setlength#1{#2}%
+ \else \@tempdimc0.25mm #1=\bxjs@tmpa\@tempdimc
+ \fi
+ \fi}
+\def\bxjs@setbasefontlength@b#1Q\@nil#2\@nnil{%
+ \ifx\@nnil#2\@nnil \let\bxjs@tmpa\relax
+ \else \def\bxjs@tmpa{#1}%
+ \fi}
+\def\bxjs@setbasefontlength@a#1true#2\@nnil{%
+ \ifx\@nnil#2\@nnil\else
+ \ClassWarningNoLine\bxjs@clsname
+ {You should not use 'true' lengths here}%
+ \fi}
\DeclareOption{8pt}{\bxjs@setbasefontsize{8pt}}
\DeclareOption{9pt}{\bxjs@setbasefontsize{9pt}}
\DeclareOption{10pt}{\bxjs@setbasefontsize{10pt}}
@@ -301,7 +319,7 @@
\define@key{bxjs}{jbase}{\bxjs@setjbasefontsize{#1}}
\def\bxjs@setjbasefontsize#1{%
\def\bxjs@do@opt@jbase{%
- \setlength\@tempdima{#1}%
+ \bxjs@setbasefontlength\@tempdima{#1}%
\bxjs@invscale\@tempdima\jsScale
\bxjs@setbasefontsize{\@tempdima}}}
\define@key{bxjs}{scale}{%
@@ -1398,7 +1416,7 @@
\settowidth\js@tocl@width{\headfont\prechaptername\postchaptername}%
\settowidth\@tempdima{\headfont\appendixname}%
\ifdim\js@tocl@width<\@tempdima \setlength\js@tocl@width{\@tempdima}\fi
- \ifdim\js@tocl@width<2zw \divide\js@tocl@width by 2 \advance\js@tocl@width 1zw\fi
+ \ifdim\js@tocl@width<2\jsZw \divide\js@tocl@width by 2 \advance\js@tocl@width 1\jsZw\fi
\if@twocolumn
\@restonecoltrue\onecolumn
\else
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
index 7af7de0735d..36fe243321c 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/08/05 v1.0 BXJS document classes]
+ [2015/08/23 v1.0a BXJS document classes]
\RequirePackage{calc}
\RequirePackage{keyval}
\let\jsEngine=n
@@ -117,12 +117,30 @@
\def\bxjs@param@basefontsize{10pt}
\def\jsUnusualPtSize{-20}
\def\bxjs@setbasefontsize#1{%
- \setlength\@tempdima{#1}%
+ \bxjs@setbasefontlength\@tempdima{#1}%
\edef\bxjs@param@basefontsize{\the\@tempdima}%
\ifdim\@tempdima=10pt \long\def\@ptsize{0}%
\else\ifdim\@tempdima=10.95pt \long\def\@ptsize{1}%
\else\ifdim\@tempdima=12pt \long\def\@ptsize{2}%
\else \long\edef\@ptsize{\jsUnusualPtSize}\fi\fi\fi}
+\def\bxjs@setbasefontlength#1#2{%
+ \bxjs@setbasefontlength@a#2true\@nnil
+ \ifx j\jsEngine \setlength#1{#2}%
+ \else
+ \bxjs@setbasefontlength@b#2\@nil Q\@nil\@nnil
+ \ifx\bxjs@tmpa\relax \setlength#1{#2}%
+ \else \@tempdimc0.25mm #1=\bxjs@tmpa\@tempdimc
+ \fi
+ \fi}
+\def\bxjs@setbasefontlength@b#1Q\@nil#2\@nnil{%
+ \ifx\@nnil#2\@nnil \let\bxjs@tmpa\relax
+ \else \def\bxjs@tmpa{#1}%
+ \fi}
+\def\bxjs@setbasefontlength@a#1true#2\@nnil{%
+ \ifx\@nnil#2\@nnil\else
+ \ClassWarningNoLine\bxjs@clsname
+ {You should not use 'true' lengths here}%
+ \fi}
\DeclareOption{8pt}{\bxjs@setbasefontsize{8pt}}
\DeclareOption{9pt}{\bxjs@setbasefontsize{9pt}}
\DeclareOption{10pt}{\bxjs@setbasefontsize{10pt}}
@@ -297,7 +315,7 @@
\define@key{bxjs}{jbase}{\bxjs@setjbasefontsize{#1}}
\def\bxjs@setjbasefontsize#1{%
\def\bxjs@do@opt@jbase{%
- \setlength\@tempdima{#1}%
+ \bxjs@setbasefontlength\@tempdima{#1}%
\bxjs@invscale\@tempdima\jsScale
\bxjs@setbasefontsize{\@tempdima}}}
\define@key{bxjs}{scale}{%
@@ -1345,7 +1363,7 @@
\settowidth\js@tocl@width{\headfont\presectionname\postsectionname}%
\settowidth\@tempdima{\headfont\appendixname}%
\ifdim\js@tocl@width<\@tempdima\relax\setlength\js@tocl@width{\@tempdima}\fi
- \ifdim\js@tocl@width<2zw \divide\js@tocl@width by 2 \advance\js@tocl@width 1zw\fi
+ \ifdim\js@tocl@width<2\jsZw \divide\js@tocl@width by 2 \advance\js@tocl@width 1\jsZw\fi
\section*{\contentsname}%
\@mkboth{\contentsname}{\contentsname}%
\@starttoc{toc}%