From 4f3140ae411ed163ddb5a960b9827e4f1b53ebec Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 30 Jan 2018 00:02:50 +0000 Subject: bxjscls (29jan18) git-svn-id: svn://tug.org/texlive/trunk@46475 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bxjscls/LICENSE | 41 ++++----- Master/texmf-dist/doc/latex/bxjscls/README-ja.md | 5 +- Master/texmf-dist/doc/latex/bxjscls/README.md | 1 + .../doc/latex/bxjscls/bxjscls-manual.pdf | Bin 612951 -> 615230 bytes .../doc/latex/bxjscls/bxjscls-manual.tex | 72 ++++++++-------- Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf | Bin 1012641 -> 1015405 bytes Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx | 93 ++++++++++++++++++--- .../texmf-dist/tex/latex/bxjscls/bxjsarticle.cls | 9 +- Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls | 9 +- Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty | 2 +- Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty | 2 +- .../tex/latex/bxjscls/bxjsja-minimal.def | 2 +- .../texmf-dist/tex/latex/bxjscls/bxjsja-modern.def | 2 +- .../texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def | 2 +- .../tex/latex/bxjscls/bxjsja-standard.def | 51 +++++++++-- Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty | 2 +- Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls | 9 +- Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls | 9 +- 18 files changed, 224 insertions(+), 87 deletions(-) diff --git a/Master/texmf-dist/doc/latex/bxjscls/LICENSE b/Master/texmf-dist/doc/latex/bxjscls/LICENSE index 69cdc98e0f5..fbe40a0146b 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/LICENSE +++ b/Master/texmf-dist/doc/latex/bxjscls/LICENSE @@ -1,28 +1,21 @@ -The BSD 2-Clause License +The MIT License -Copyright 1995-1999 ASCII Corporation. -Copyright 1999-2016 Haruhiko Okumura -Copyright 2016-2017 Japanese TeX Development Community -Copyright 2013-2017 Takayuki YATO (aka. "ZR") -All rights reserved. +Copyright (c) 2018 Takayuki YATO (aka. "ZR") -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -1. Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md index add7e65f5ab..acf436cd77f 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md +++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md @@ -98,9 +98,12 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使 更新履歴 -------- + * Version 1.7b 〈2018/01/28〉 + - 和文パラメタ `units` を新設。 + - バグ修正。 * Version 1.7a 〈2017/12/09〉 - 〈試験的〉新元号対応の準備。`\jayear` 命令を追加。 - - `\@` の定義を修正。`fix-ja-cmd` オプションを追加。 + - `\@` の定義を修正。`fix-at-cmd` オプションを追加。 * Version 1.7 〈2017/10/21〉 - 和文空白命令(`\jaenspace` 等)を追加。 - `everyparhook` オプションを新設。 diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md index 1ba95da1a32..cabed00d4ea 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/README.md +++ b/Master/texmf-dist/doc/latex/bxjscls/README.md @@ -88,6 +88,7 @@ This package is distributed under the BSD 2-Clause License. Revision History ---------------- + * Version 1.7b 〈2018/01/28〉 * Version 1.7a 〈2017/12/09〉 * Version 1.7 〈2017/10/21〉 * Version 1.6b 〈2017/09/28〉 diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf index de4d2c9f882..f277ef06b9f 100644 Binary files a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf and b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf differ diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex index 91d93909a01..f0d4a993891 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex +++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex @@ -12,8 +12,8 @@ \renewcommand*{\XeLaTeX}{XeLaTeX}} \usepackage{shortvrb} \MakeShortVerb{\|} -\newcommand{\PkgVersion}{1.7a} -\newcommand{\PkgDate}{2017/12/09} +\newcommand{\PkgVersion}{v1.7b} +\newcommand{\PkgDate}{2018/01/28} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} @@ -92,8 +92,8 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが \begin{itemize} \item \Meta{エンジン}の指定は必須で、実際に使っている 「{\LaTeX}のコマンド名」を書く。 - |latex|、|platex|、|uplatex|、 - |pdflatex|、|xelatex|、|lualatex|が指定できる。 + |platex|、|uplatex|、 + |pdflatex|、|xelatex|、|lualatex|等が指定できる。 \item DVI出力のエンジンを使う場合は、\Meta{ドライバ}の指定が必須で、 これは実際に使っている「DVIウェアの名前」を書く。 |dvips|、|dvipdfmx|、|dviout|、|xdvi|が指定できる。 @@ -388,8 +388,9 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが \usepackage[colorlinks]{hyperref} \hypersetup{pdftitle={日本語タイトル}} \end{verbatim}\end{quote} - \Pkg{hyperref}のパッケージオプションで和文文字を含む文書情報を + \Note \Pkg{hyperref}のパッケージオプションで和文文字を含む文書情報を 指定することはできない。 + (\Pkg{hyperref}の制限仕様。) \item |jafont| が無い場合の“既定のフォント設定”は多くのエンジンに おいて「IPAexフォント使用」であるが、(u){\pLaTeX}だけは異なっていて 「何も指定しない状態」(JSクラスと同様)である。 @@ -454,20 +455,15 @@ Pandoc\footnote{\url{http://pandoc.org/}}% コマンド行は次のようになる \footnote{もちろん、実際には改行を含めず1行で書く。 - なお、Pandoc 1.16版以降では、用紙サイズオプションについては、 - 変数 |papersize| の値に“|paper|”を付加したもの - (|-V papersize=a4| ならば |a4paper|)が使われる。 - ここで |a4var| や |b5var| を使えるようにするため、 - BXJSクラスでは |a4varpaper| 等を別名として用意している。}: + なお、以下の記述はPandoc 2.x版に従う。} \begin{quote} |pandoc| \Meta{入力ファイル名}\ |-o| \Meta{出力ファイル名}|.pdf| - |-t latex|\\\quad - |--latex-engine=xelatex| - |--no-tex-ligatures|\\\quad + |-t latex-smart|\\\quad + |--pdf-engine=xelatex| |-V papersize=a4| - |-V documentclass=bxjsarticle| - |-V classoption=pandoc|\\\quad + |-V documentclass=bxjsarticle|\\\quad + |-V classoption=pandoc| |-V classoption=jafont=ipaex| \end{quote} @@ -492,10 +488,9 @@ Pandoc\footnote{\url{http://pandoc.org/}}% |pandoc| \Meta{入力ファイル名}\ |-o| \Meta{出力ファイル名}|.pdf| |-N| - |-t latex|\\\quad + |-t latex-smart|\\\quad |--top-level-division=chapter| - |--latex-engine=xelatex| - |--no-tex-ligatures|\\\quad + |--pdf-engine=xelatex|\\\quad |-V papersize=b5| |-V documentclass=bxjsbook| |-V classoption=pandoc|\\\quad @@ -509,14 +504,11 @@ Pandoc\footnote{\url{http://pandoc.org/}}% \begin{itemize} \item \Pkg{bxjsbook}クラスは「章(|\chapter|)」をもつクラスなので、 Pandocで |--top-level-division=|\linebreak[0]|chapter| の指定 - \footnote{|--top-level-division| はPandocの1.18版で新設された - オプションで、それより前は代わりに |--chapters| オプションを - 指定していた。}% が必要。 \end{itemize} -\item Pandocで({\LaTeX}経由で)PDFを出力する場合、 - エンジン指定(|--latex-engine|)は +\item Pandocで{\LaTeX}経由でPDFを出力する場合、 + エンジン指定(|--pdf-engine|)は |pdflatex|、|xelatex|、|lualatex|のみがサポートされる。 しかし、Pandocの出力を「単体の{\LaTeX}文書」とすることで、 {\LaTeX}エンジンに(u){\pLaTeX}を使用することができる。 @@ -1109,6 +1101,15 @@ minimal和文ドライバには有効な和文ドライバパラメタは存在 \item エンジンが{(u)\pLaTeX}の場合、|pxchfon| と |pxbabel| パッケージに予め |prefer2004jis| オプションが渡される。 \end{itemize} +\item |units=|\Meta{真偽値}\Means + これを真にすると、 + {\LaTeX}における長さ指定において、{\pTeX}の和文用の単位 + (|zw|、|zh|、|(true)Q|、|(true)H|) + を全てのエンジンで使用できるようにする。 + 既定値は偽。 + \Note \Pkg{bxcalc}パッケージを読み込む。 + \Note 厳密にいうと、「\Pkg{calc}の長さ数式が使える箇所」 + において和文用の単位が使用できるようになる。 \item |font={|\Meta{文字列}|}|\Means standard和文ドライバが利用する和文フォントパッケージについて 追加のオプションを指定する。 @@ -1208,17 +1209,22 @@ vscale=0.944, vmarginratio=1:1 と等価な環境で、 “各章の初めにちょっとしたことを書く”用途を想定したもの。 (ただし使用可能な場所に特に制限はない。) -\end{itemize} -なお、|abstract| 環境の機能については継承元のJSクラスと同一に -なるため以下のようになる。 -\begin{itemize} -\item \Pkg{bxjsarticle}および|layout=v2|指定の\Pkg{bxjsreport}\Means - \Pkg{jsarticle}/\Pkg{jsreport}クラスと同じ、 - つまり「文書要旨」のための環境。 -\item \Pkg{bxjsbook}および|layout=v1|指定の\Pkg{bxjsreport}\Means - \Pkg{jsbook}クラスと同じ、 - つまり |chapterabstract| 環境と等価。 + なお、|abstract| 環境の機能については継承元のJSクラスと同一に + なるため以下のようになる。 + \begin{itemize} + \item \Pkg{bxjsarticle}および|layout=v2|指定の\Pkg{bxjsreport}\Means + \Pkg{jsarticle}/\Pkg{jsreport}クラスと同じ、 + つまり「文書要旨」のための環境。 + \item \Pkg{bxjsbook}および|layout=v1|指定の\Pkg{bxjsreport}\Means + \Pkg{jsbook}クラスと同じ、 + つまり |chapterabstract| 環境と等価。 + \end{itemize} + +\item |\jayear|\Means + 和暦表示(|\和暦| が有効)の時の |\today| における年号 + (「年」より前の部分、例えば「平成28」) + のテキストを表すマクロ。 \end{itemize} %------------------- diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf index 5bea1199eb8..095a777e392 100644 Binary files a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf and b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf differ diff --git a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx index 3c39b42b9c5..18662da1b67 100644 --- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx +++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx @@ -68,7 +68,8 @@ %<*driver> \ProvidesFile{bxjscls.dtx} % - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] +% [2017/12/09 v1.7a 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] @@ -2594,6 +2595,14 @@ \else \def\jsc@setfontsize#1#2#3{% \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}} +% microtype対策 + \ifjsWitheTeX\if j\jsEngine\else + \def\jsc@setfontsize#1#2#3{% + \edef\bxjs@sfs@next{% + \unexpanded{\@setfontsize#1}% + {\the\dimexpr#2\jsc@mpt\relax}{\the\dimexpr#3\jsc@mpt\relax}% + }\bxjs@sfs@next} + \fi\fi \fi % \end{macrocode} % \end{macro} @@ -8562,7 +8571,7 @@ % |japaram| の値をkey-valueリストとして解釈する。 % keyvalのファミリは |bxjsStd| とする。 % -% \begin{macro}{\bxjs@jp@jismmiv} +% \begin{macro}{\ifbxjs@jp@jismmiv} % 2004JIS字形を優先させるか。 % \begin{macrocode} \newif\ifbxjs@jp@jismmiv @@ -8577,6 +8586,22 @@ \bxjs@set@keyval{jis2004}{#1}{}} % \end{macrocode} % +% \begin{macro}{\ifbxjs@jp@units} +% 和文用単位(|zw|、|zh|、|(true)Q|、|(true)H|)を +% 使えるようにするか。 +% \begin{macrocode} +\newif\ifbxjs@jp@units +% \end{macrocode} +% \end{macro} +% +% |units| オプションの処理。 +% \begin{macrocode} +\let\bxjs@kv@units@true\bxjs@jp@unitstrue +\let\bxjs@kv@units@false\bxjs@jp@unitsfalse +\define@key{bxjsStd}{units}[true]{% + \bxjs@set@keyval{units}{#1}{}} +% \end{macrocode} +% % \begin{macro}{\bxjs@jp@font} % フォントパッケージの追加オプション。 % \begin{macrocode} @@ -8584,7 +8609,7 @@ % \end{macrocode} % \end{macro} % -% |jis2004| オプションの処理。 +% |font| オプションの処理。 % \begin{macrocode} \define@key{bxjsStd}{font}{% \edef\bxjs@jp@font{#1}} @@ -8610,6 +8635,28 @@ \fi % \end{macrocode} % +% \paragraph{和文用単位のサポート} +% +% |units| パラメタが有効の場合は、|bxcalc| パッケージを読みこんで、 +% |\usepTeXunits| 命令を実行する。 +% \begin{macrocode} +\ifbxjs@jp@units\if j\jsEngine\else + \IfFileExists{bxcalc.sty}{% + \RequirePackage{bxcalc}[2018/01/28]%v1.0a + \ifx\usepTeXunits\@undefined + \PackageWarningNoLine\bxjs@clsname + {Cannot support pTeX units (zw etc.), since\MessageBreak + the package 'bxcalc' is too old}% + \else \usepTeXunits + \fi + }{%else + \PackageWarningNoLine\bxjs@clsname + {Cannot support pTeX units (zw etc.), since\MessageBreak + the package 'bxcalc' is unavailable}% + } +\fi\fi +% \end{macrocode} +% % \paragraph{共通命令の実装} % % |\jQ| 等の「単位」系の共通命令を実装する。 @@ -8696,6 +8743,9 @@ % \end{macrocode} % {(u)\pLaTeX}ではこの処理は不要なので無効化する。 % \begin{macrocode} +\def\bxjs@parse@qh#1{% + \let\bxjs@tmpb\relax} +\else\ifbxjs@jp@units \def\bxjs@parse@qh#1{% \let\bxjs@tmpb\relax} \else @@ -8712,7 +8762,7 @@ \fi} \def\bxjs@parse@qh@b#1#2#3{% \ifx\@nnil#2\@nnil\else \def\bxjs@tmpb{#1#3}\fi} -\fi +\fi\fi % \end{macrocode} % \end{macro} % @@ -9045,6 +9095,21 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\bxjs@resolve@jafont@paren} +% |jafont|パラメタ値内の|()|を解決する。 +% \begin{macrocode} +\def\bxjs@resolve@jafont@paren#1{% + \def\bxjs@tmpb{\let#1}% + \expandafter\bxjs@resolve@jafont@paren@a#1\@nil()\@nil\relax} +\def\bxjs@resolve@jafont@paren@a#1(#2)#3\@nil#4\relax{% + \ifx\relax#4\relax \bxjs@tmpb\jsJaFont + \else + \edef\bxjs@tmpa{#1\bxjs@jafont@paren{#2}#3}% + \bxjs@tmpb\bxjs@tmpa + \fi} +% \end{macrocode} +% \end{macro} +% %^^A---------------- % \subsection{{\pTeX}用設定} % @@ -9131,12 +9196,14 @@ % ここで、和文ドライバパラメタ |font| が指定されいる場合は、 % その値を |pxchfon| のオプションに追加する。 % \begin{macrocode} +\let\bxjs@jafont@paren\@firstofone \let\bxjs@tmpa\jsJaFont \ifx\bxjs@tmpa\bxjs@@auto \let\bxjs@tmpa\@empty \else\ifx\bxjs@tmpa\bxjs@@noEmbed \def\bxjs@tmpa{noembed} \fi\fi +\bxjs@resolve@jafont@paren\bxjs@tmpa \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty\else \edef\bxjs@next{% @@ -9256,6 +9323,8 @@ % \Note Pandocモードでは |autotilde| を指定しない。 % \begin{macrocode} \bxjs@adjust@jafont{f} +\let\bxjs@jafont@paren\@firstofone +\bxjs@resolve@jafont@paren\bxjs@tmpa \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole}} \def\bxjs@tmpb{pandoc}\ifx\bxjs@tmpb\bxjs@jadriver\else @@ -9389,6 +9458,8 @@ % 非指定の場合はIPAexフォントを使用する。 % \begin{macrocode} \bxjs@adjust@jafont{f} +\let\bxjs@jafont@paren\@gobble +\bxjs@resolve@jafont@paren\bxjs@tmpa \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty \setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho} @@ -9536,19 +9607,13 @@ % \begin{macrocode} \let\zw\@undefined \RequirePackage{luatexja} -\RequirePackage{luatexja-fontspec} +\edef\bxjs@next{% + \noexpand\RequirePackage[scale=\jsScale]{luatexja-fontspec}[2015/08/26]% +}\bxjs@next % \end{macrocode} % % \paragraph{和文フォント定義} % -% |luatexja-fontspec| で使用する和文スケール値を |\jsScale| と合致 -% させたいのだが……もっと良い方法はないのか? -% \begin{macrocode} -\ExplSyntaxOn -\fp_gset:Nn \g_ltj_fontspec_scale_fp { \jsScale } -\ExplSyntaxOff -% \end{macrocode} -% % |\jsJaFont| が指定された場合は、その値をオプションと % して |luatexja-preset| を読み込む。 % 非指定の場合は、|luatexja-preset| パッケージの |ipaex| @@ -9559,6 +9624,8 @@ \ifx\bxjs@tmpa\bxjs@@noEmbed \def\bxjs@tmpa{noembed} \fi +\let\bxjs@jafont@paren\@gobble +\bxjs@resolve@jafont@paren\bxjs@tmpa \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty \defaultjfontfeatures{ Kerning=Off } diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls index 727695aac20..710ebf42235 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls @@ -22,7 +22,7 @@ %% in the same archive or directory.) \NeedsTeXFormat{LaTeX2e} \ProvidesClass{bxjsarticle} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] %% このファイルは日本語文字を含みます. \def\bxjs@clsname{bxjsarticle} \newif\ifjsc@needsp@tch @@ -858,6 +858,13 @@ \else \def\jsc@setfontsize#1#2#3{% \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}} + \ifjsWitheTeX\if j\jsEngine\else + \def\jsc@setfontsize#1#2#3{% + \edef\bxjs@sfs@next{% + \unexpanded{\@setfontsize#1}% + {\the\dimexpr#2\jsc@mpt\relax}{\the\dimexpr#3\jsc@mpt\relax}% + }\bxjs@sfs@next} + \fi\fi \fi \emergencystretch 3\jsZw \newif\ifnarrowbaselines diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls index 16b7789adb3..2c810c8d032 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls @@ -22,7 +22,7 @@ %% in the same archive or directory.) \NeedsTeXFormat{LaTeX2e} \ProvidesClass{bxjsbook} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] %% このファイルは日本語文字を含みます. \def\bxjs@clsname{bxjsbook} \newif\ifjsc@needsp@tch @@ -867,6 +867,13 @@ \else \def\jsc@setfontsize#1#2#3{% \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}} + \ifjsWitheTeX\if j\jsEngine\else + \def\jsc@setfontsize#1#2#3{% + \edef\bxjs@sfs@next{% + \unexpanded{\@setfontsize#1}% + {\the\dimexpr#2\jsc@mpt\relax}{\the\dimexpr#3\jsc@mpt\relax}% + }\bxjs@sfs@next} + \fi\fi \fi \emergencystretch 3\jsZw \newif\ifnarrowbaselines diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty index c1a11c569a9..2e167e1a0ef 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \ProvidesPackage{bxjscjkcat} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] \def\bxjx@pkgname{bxjscjkcat} \newcount\bxjx@cnta \let\bxjx@engine=n diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty index f89db878fb4..d314fb6f334 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \ProvidesPackage{bxjscompat} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] \def\bxac@pkgname{bxjscompat} \let\bxac@engine=n \def\bxac@do#1#2{% diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def index 7e63ee04f04..a6ea021beac 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \ProvidesFile{bxjsja-minimal.def} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] %% このファイルは日本語文字を含みます \def\DeclareJaTextFontCommand#1#2{% \DeclareRobustCommand#1[1]{% diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def index dfeb783f38a..88fd3452075 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \ProvidesFile{bxjsja-modern.def} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] \input{bxjsja-standard.def} \ifnum0\if x\jsEngine1\fi\if l\jsEngine1\fi=\z@ \def\encodingdefault{T1}% diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def index 46222f227e8..1ceba42b7e7 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \ProvidesFile{bxjsja-pandoc.def} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] \input{bxjsja-standard.def} \RequirePackage{bxjspandoc} \@onlypreamble\bxjs@set@dupload@proc diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def index 0e2707059e0..ef8c0b5989b 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \ProvidesFile{bxjsja-standard.def} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] %% このファイルは日本語文字を含みます \input{bxjsja-minimal.def} \bxjs@simplejasetupfalse @@ -30,6 +30,11 @@ \bxjs@cslet{bxjs@kv@jis2004@false}\bxjs@jp@jismmivfalse \define@key{bxjsStd}{jis2004}[true]{% \bxjs@set@keyval{jis2004}{#1}{}} +\newif\ifbxjs@jp@units +\let\bxjs@kv@units@true\bxjs@jp@unitstrue +\let\bxjs@kv@units@false\bxjs@jp@unitsfalse +\define@key{bxjsStd}{units}[true]{% + \bxjs@set@keyval{units}{#1}{}} \let\bxjs@jp@font\@empty \define@key{bxjsStd}{font}{% \edef\bxjs@jp@font{#1}} @@ -39,6 +44,21 @@ \g@addto@macro\@classoptionslist{,jis2004} \PassOptionsToPackage{jis2004}{otf} \fi +\ifbxjs@jp@units\if j\jsEngine\else + \IfFileExists{bxcalc.sty}{% + \RequirePackage{bxcalc}[2018/01/28]%v1.0a + \ifx\usepTeXunits\@undefined + \PackageWarningNoLine\bxjs@clsname + {Cannot support pTeX units (zw etc.), since\MessageBreak + the package 'bxcalc' is too old}% + \else \usepTeXunits + \fi + }{%else + \PackageWarningNoLine\bxjs@clsname + {Cannot support pTeX units (zw etc.), since\MessageBreak + the package 'bxcalc' is unavailable}% + } +\fi\fi \ifjsWitheTeX \@tempdima=0.25mm \protected\edef\jQ{\dimexpr\the\@tempdima\relax} @@ -70,6 +90,9 @@ \endgroup #1=\bxjs@g@tmpa\relax} \if j\jsEngine +\def\bxjs@parse@qh#1{% + \let\bxjs@tmpb\relax} +\else\ifbxjs@jp@units \def\bxjs@parse@qh#1{% \let\bxjs@tmpb\relax} \else @@ -86,7 +109,7 @@ \fi} \def\bxjs@parse@qh@b#1#2#3{% \ifx\@nnil#2\@nnil\else \def\bxjs@tmpb{#1#3}\fi} -\fi +\fi\fi \def\jafontsize#1#2{% \begingroup \bxjs@jafontsize@a{#1}% @@ -268,6 +291,15 @@ }{}% }% } +\def\bxjs@resolve@jafont@paren#1{% + \def\bxjs@tmpb{\let#1}% + \expandafter\bxjs@resolve@jafont@paren@a#1\@nil()\@nil\relax} +\def\bxjs@resolve@jafont@paren@a#1(#2)#3\@nil#4\relax{% + \ifx\relax#4\relax \bxjs@tmpb\jsJaFont + \else + \edef\bxjs@tmpa{#1\bxjs@jafont@paren{#2}#3}% + \bxjs@tmpb\bxjs@tmpa + \fi} \if j\jsEngine \def\bxjs@apply@kanjiskip{% \kanjiskip\@tempskipa} @@ -308,12 +340,14 @@ \PassOptionsToPackage{prefer2004jis}{pxchfon} \PassOptionsToPackage{prefer2004jis}{pxbabel} \fi +\let\bxjs@jafont@paren\@firstofone \let\bxjs@tmpa\jsJaFont \ifx\bxjs@tmpa\bxjs@@auto \let\bxjs@tmpa\@empty \else\ifx\bxjs@tmpa\bxjs@@noEmbed \def\bxjs@tmpa{noembed} \fi\fi +\bxjs@resolve@jafont@paren\bxjs@tmpa \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty\else \edef\bxjs@next{% @@ -385,6 +419,8 @@ \fi \else\if p\jsEngine \bxjs@adjust@jafont{f} +\let\bxjs@jafont@paren\@firstofone +\bxjs@resolve@jafont@paren\bxjs@tmpa \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole}} \def\bxjs@tmpb{pandoc}\ifx\bxjs@tmpb\bxjs@jadriver\else @@ -457,6 +493,8 @@ {xeCJK or zxjatype is too old}\@ehc \fi \bxjs@adjust@jafont{f} +\let\bxjs@jafont@paren\@gobble +\bxjs@resolve@jafont@paren\bxjs@tmpa \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty \setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho} @@ -516,14 +554,15 @@ \else\if l\jsEngine \let\zw\@undefined \RequirePackage{luatexja} -\RequirePackage{luatexja-fontspec} -\ExplSyntaxOn -\fp_gset:Nn \g_ltj_fontspec_scale_fp { \jsScale } -\ExplSyntaxOff +\edef\bxjs@next{% + \noexpand\RequirePackage[scale=\jsScale]{luatexja-fontspec}[2015/08/26]% +}\bxjs@next \bxjs@adjust@jafont{t} \ifx\bxjs@tmpa\bxjs@@noEmbed \def\bxjs@tmpa{noembed} \fi +\let\bxjs@jafont@paren\@gobble +\bxjs@resolve@jafont@paren\bxjs@tmpa \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty \defaultjfontfeatures{ Kerning=Off } diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty index 937c86968c8..da67cf9921c 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \ProvidesPackage{bxjspandoc} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] %% このファイルは日本語文字を含みます. \def\bxjsp@pkgname{bxjscjkcat} \let\bxjsp@engine=n diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls index dc07cb1c934..a559b5dab58 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls @@ -22,7 +22,7 @@ %% in the same archive or directory.) \NeedsTeXFormat{LaTeX2e} \ProvidesClass{bxjsreport} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] %% このファイルは日本語文字を含みます. \def\bxjs@clsname{bxjsreport} \newif\ifjsc@needsp@tch @@ -866,6 +866,13 @@ \else \def\jsc@setfontsize#1#2#3{% \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}} + \ifjsWitheTeX\if j\jsEngine\else + \def\jsc@setfontsize#1#2#3{% + \edef\bxjs@sfs@next{% + \unexpanded{\@setfontsize#1}% + {\the\dimexpr#2\jsc@mpt\relax}{\the\dimexpr#3\jsc@mpt\relax}% + }\bxjs@sfs@next} + \fi\fi \fi \emergencystretch 3\jsZw \newif\ifnarrowbaselines diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls index 090ff05019f..da673d9f45b 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls @@ -22,7 +22,7 @@ %% in the same archive or directory.) \NeedsTeXFormat{LaTeX2e} \ProvidesClass{bxjsslide} - [2017/12/09 v1.7a BXJS document classes] + [2018/01/28 v1.7b BXJS document classes] %% このファイルは日本語文字を含みます. \def\bxjs@clsname{bxjsslide} \newif\ifjsc@needsp@tch @@ -857,6 +857,13 @@ \else \def\jsc@setfontsize#1#2#3{% \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}} + \ifjsWitheTeX\if j\jsEngine\else + \def\jsc@setfontsize#1#2#3{% + \edef\bxjs@sfs@next{% + \unexpanded{\@setfontsize#1}% + {\the\dimexpr#2\jsc@mpt\relax}{\the\dimexpr#3\jsc@mpt\relax}% + }\bxjs@sfs@next} + \fi\fi \fi \emergencystretch 3\jsZw \newif\ifnarrowbaselines -- cgit v1.2.3