From c71ccc0e7d728e6bc090b846fc58559651e3f549 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 14 Jun 2017 21:15:05 +0000 Subject: bxjscls (14jun17) git-svn-id: svn://tug.org/texlive/trunk@44594 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bxjscls/README-ja.md | 7 + Master/texmf-dist/doc/latex/bxjscls/README.md | 1 + .../doc/latex/bxjscls/bxjscls-manual.pdf | Bin 601077 -> 607118 bytes .../doc/latex/bxjscls/bxjscls-manual.tex | 56 ++++- Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf | Bin 945874 -> 955232 bytes Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx | 240 ++++++++++++++++++--- .../texmf-dist/tex/latex/bxjscls/bxjsarticle.cls | 18 +- Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls | 18 +- Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty | 2 +- Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty | 2 +- .../tex/latex/bxjscls/bxjsja-minimal.def | 4 +- .../texmf-dist/tex/latex/bxjscls/bxjsja-modern.def | 2 +- .../texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def | 2 +- .../tex/latex/bxjscls/bxjsja-standard.def | 113 ++++++++-- Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls | 18 +- Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls | 18 +- 16 files changed, 414 insertions(+), 87 deletions(-) diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md index 6e2639953ed..b9c8dc7ba13 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md +++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md @@ -97,6 +97,13 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使 更新履歴 -------- + * Version 1.5c 〈2017/06/10〉 + - `\jafontsize` 命令を追加。 + - 和文パラメタ `jis2004` を新設。 + - 和文パラメタ `font` を新設。 + - `jafont=auto` 設定で updmap.cfg を読む際に `kanjiEmbed` に加えて + `jaEmbed` も読み取る。 + - バグ修正。 * Version 1.5b 〈2017/04/01〉 - 全エンジンについて、`\>` で和欧文間空白を挿入するようにした。 - `xkanjiskip-cmd` オプションを新設。 diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md index 9158bcd9a3d..d1cbadf0bb7 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/README.md +++ b/Master/texmf-dist/doc/latex/bxjscls/README.md @@ -87,6 +87,7 @@ This package is distributed under the BSD 2-Clause License. Revision History ---------------- + * Version 1.5c 〈2017/06/10〉 * Version 1.5b 〈2017/04/01〉 * Version 1.5a 〈2017/03/14〉 * Version 1.5 〈2017/03/11〉 diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf index f4b8b5eed0f..16e7982d7ee 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 17541fd1692..33c71a91b7c 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.5b} -\newcommand{\PkgDate}{2017/04/01} +\newcommand{\PkgVersion}{1.5c} +\newcommand{\PkgDate}{2017/06/10} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} @@ -604,14 +604,14 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション 「|ja=|\Meta{名前}」の(0.9版以前で使われていた)別名。 \item |jafont=|\Meta{名前}\Means “和文フォントプリセット指定”の名雨を設定する。 -\item |japaram=|\Meta{値}\Means + \Note \ref{sec:Basic}節で解説した通り、standard和文ドライバでは |jafont| + の値が利用される。 +\item |japaram={|\Meta{キー}|=|\Meta{値}|,...}|\Means “和文ドライバパラメタ”の値を設定する。 + 詳しくは\ref{sec:Ja-Driver-Param}節を参照。 \Note |jafont| と |japaram| の値がどのように解釈されるかは 和文ドライバの仕様次第である。 minimal和文ドライバではこの2つの値は全く参照されない。 - \ref{sec:Basic}節で解説した通り、standard和文ドライバでは |jafont| - の値が利用される。 - 現状では |japaram| は参照されない。 \item |base=|\Meta{長さ}\Means 基底フォントサイズ(|\normalsize| のフォントのサイズ)を指定する。 JSクラスの |10pt|、|11pt| 等と同じ役割で、任意の値を指定できる。 @@ -1023,6 +1023,8 @@ BXJSクラスでは様々なエンジンについて、そのエンジンおよ standardドライバの機能を継承するが、 「Pandocの既定のlatexテンプレート」が使われることを前提として、 それとBXJSの設定を整合させるための措置を加えている。 +\Note 本マニュアルで「standard和文ドライバの場合」という場合、 +特に明示がない限りはpandoc和文ドライバも含まれる。 \end{itemize} 和文ドライバは自分で作製することも可能である。 @@ -1049,6 +1051,42 @@ minimalに配置している。}% |standard| が既定値になっている。 +%=========================================================== +\section{和文ドライバパラメタ} +\label{sec:Ja-Driver-Param} + +和文ドライバパラメタ(|japaram| オプション)は +和文ドライバに依存する設定を指定するために用意されている。 +|japaram| オプションの値はそれ自身がキー値ペアのリストであり、 +一般的に次のような形式で指定される。 +\begin{quote}\small\begin{verbatim} +\usepackage[...,japaram={key=value,...},...]{bxjsarticle} +\end{verbatim}\end{quote} + +minimal和文ドライバには有効な和文ドライバパラメタは存在しない。 + +%------------------- +\subsection{standard和文ドライバの場合} + +以下の和文ドライバパラメタが存在する。 + +\begin{itemize} +\item |jis2004=|\Meta{真偽値}\Means + 漢字の字形について「2004JIS字形を優先させる」処理を行うか。 + 真の場合、以下の処理が行われる。既定値は偽。 + \begin{itemize} + \item グローバルオプションに |jis2004| を追加する。% + \footnote{\Pkg{japanese-otf}や\Pkg{luatexja-preset}などの + パッケージが |jis2004| オプションを利用する。} + \item エンジンが{(u)\pLaTeX}の場合、|pxchfon| と |pxbabel| + パッケージに予め |prefer2004jis| オプションが渡される。 + \end{itemize} +\item |font={|\Meta{文字列}|}|\Means + standard和文ドライバが利用する和文フォントパッケージについて + 追加のオプションを指定する。 +\end{itemize} + + %=========================================================== \section{ユーザ用命令} \label{sec:Commands} @@ -1241,6 +1279,12 @@ standard和文ドライバ(およびそれを継承するドライバ)では それ自体が同様の機能の |\>| を提供することにも注意を要する。} \item |\jachar{|\Meta{文字1つ}|]|\Means 指定の文字を和文文字として(現在の和文フォントで)出力する。 +\item |\jafontsize{|\Meta{フォントサイズ}|}{|\Meta{行送り}|}|\Means + “和文規準”でフォントサイズを指定する。 + すなわち、和文の1\,zwが\Meta{フォントサイズ}と等しくなるように + フォントサイズを設定する。 + \Note 命令の引数の長さ指定ではエンジンの種類に関わらず |Q|/|H| + の単位が使用できる。 \item 和文数式フォント命令\Means JSクラスと同様に、 |\mathmc| で「明朝」、|\mathgt| で「ゴシック」の diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf index 53f476810dc..e8bb0cf250f 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 4498ec730aa..a0abe6479db 100644 --- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx +++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx @@ -67,7 +67,8 @@ %<*driver> \ProvidesFile{bxjscls.dtx} % - [2017/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c BXJS document classes] +% [2017/04/01 v1.5b BXJS document classes] % [2017/03/14 v1.5a BXJS document classes] % [2017/03/11 v1.5 BXJS document classes] % based on jsclasses [2017/03/05] @@ -407,6 +408,33 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\bxjs@cslet} +% |\bxjs@cslet{|\Meta{名前1}|}\制御綴|\Means +% \begin{macrocode} +\def\bxjs@cslet#1{% + \expandafter\let\csname#1\endcsname} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\bxjs@csletcs} +% |\bxjs@csletcs{|\Meta{名前1}|}{|\Meta{名前2}|}|\Means +% \begin{macrocode} +\def\bxjs@csletcs#1#2{% + \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\bxjs@catopt} +% |\bxjs@catopt{|\Meta{文字列1}|}{|\Meta{文字列2}|}|\Means +% 2つの文字列を |,| で繋いだ文字列。 +% ただし片方が空の場合は |,| を入れない。 +% 完全展開可能。 +% \begin{macrocode} +\def\bxjs@catopt#1#2{% + #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\jsAtEndOfClass} % このクラスの読込終了時に対するフック。 % (補助パッケージ中で用いられる。) @@ -899,12 +927,12 @@ % \end{macrocode} % \end{macro} % -% |fancyhdr| オプションの処理。 +% |enablejfam| オプションの処理。 % \begin{macrocode} \def\bxjs@kv@enablejfam@true{\let\bxjs@enablejfam=t} \def\bxjs@kv@enablejfam@false{\let\bxjs@enablejfam=f} \def\bxjs@kv@enablejfam@default{\let\bxjs@enablejfam\@undefined} -\define@key{bxjs}{enablejfam}{% +\define@key{bxjs}{enablejfam}[true]{% \bxjs@set@keyval{enablejfam}{#1}{}} % \end{macrocode} % @@ -1588,7 +1616,7 @@ % \begin{macrocode} \let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue \let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse -\define@key{bxjs}{fancyhdr}{% +\define@key{bxjs}{fancyhdr}[true]{% \bxjs@set@keyval{fancyhdr}{#1}{}} % \end{macrocode} % @@ -1687,7 +1715,7 @@ \newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue \let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue \let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse -\define@key{bxjs}{whole-zw-lines}{\bxjs@set@keyval{wholezwlines}{#1}{}} +\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}} % \end{macrocode} % \end{macro} % @@ -1697,7 +1725,7 @@ \newif\ifbxjs@xkanjiskip@cmd \bxjs@xkanjiskip@cmdtrue \let\bxjs@kv@xkanjiskipcmd@true\bxjs@xkanjiskip@cmdtrue \let\bxjs@kv@xkanjiskipcmd@false\bxjs@xkanjiskip@cmdfalse -\define@key{bxjs}{xkanjiskip-cmd}{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}} +\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}} % \end{macrocode} % \end{macro} % @@ -1707,7 +1735,7 @@ \newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue \let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue \let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse -\define@key{bxjs}{hyperref-enc}{\bxjs@set@keyval{hyperrefenc}{#1}{}} +\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}} % \end{macrocode} % \end{macro} % @@ -7180,6 +7208,16 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\jsInverseScale} +% |\jsScale| の逆数。 +% \Note |\CS=\jsInverseScale\CS| は |\bxjs@invscale\CS\jsScale| +% よりも精度が劣るが処理が軽い。 +% \begin{macrocode} +\@tempdima\p@ \bxjs@invscale\@tempdima\jsScale +\edef\jsInverseScale{\strip@pt\@tempdima} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\jsLetHeadChar} % |\jsLetHeadChar\CS{|\Meta{トークン列}|}|\Means % トークン列の先頭の文字を抽出し、|\CS| をその文字トークン @@ -7747,6 +7785,59 @@ \bxjs@simplejasetupfalse % \end{macrocode} % +% \paragraph{japaramオプションの処理} +% +% |japaram| の値をkey-valueリストとして解釈する。 +% keyvalのファミリは |bxjsStd| とする。 +% +% \begin{macro}{\bxjs@jp@jismmiv} +% 2004JIS字形を優先させるか。 +% \begin{macrocode} +\newif\ifbxjs@jp@jismmiv +% \end{macrocode} +% \end{macro} +% +% |jis2004| オプションの処理。 +% \begin{macrocode} +\bxjs@cslet{bxjs@kv@jis2004@true}\bxjs@jp@jismmivtrue +\bxjs@cslet{bxjs@kv@jis2004@false}\bxjs@jp@jismmivfalse +\define@key{bxjsStd}{jis2004}[true]{% + \bxjs@set@keyval{jis2004}{#1}{}} +% \end{macrocode} +% +% \begin{macro}{\bxjs@jp@font} +% フォントパッケージの追加オプション。 +% \begin{macrocode} +\let\bxjs@jp@font\@empty +% \end{macrocode} +% \end{macro} +% +% |jis2004| オプションの処理。 +% \begin{macrocode} +\define@key{bxjsStd}{font}{% + \edef\bxjs@jp@font{#1}} +% \end{macrocode} +% +% 実際の |japaram| の値を適用する。 +% \begin{macrocode} +\def\bxjs@next#1{\bxjs@safe@setkeys{bxjsStd}{#1}} +\expandafter\bxjs@next\expandafter{\jsJaParam} +% \end{macrocode} +% +% \paragraph{jis2004パラメタ} +% +% |jis2004| パラメタが有効の場合は、グローバルオプションに |jis2004| +% を追加する。 +% \Note |otf| や |luatexja-preset| 等のパッケージがこのオプションを +% 利用する。 +% \begin{macrocode} +\ifbxjs@jp@jismmiv + \g@addto@macro\@classoptionslist{,jis2004} +% \@ifpackagewith 判定への対策 + \PassOptionsToPackage{jis2004}{otf} +\fi +% \end{macrocode} +% % \paragraph{共通命令の実装} % % |\jQ| 等の「単位」系の共通命令を実装する。 @@ -7805,6 +7896,75 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\jsSetQHLength} +% |\jsSetQHLength\CS{|\Meta{長さ式}|}|\Means +% |\setlength| の変種で、通常の |calc| の長さ式の代わりに、 +% \Meta{実数}|Q|・\Meta{実数}|H|・\Meta{実数}|trueQ|・\Meta{実数}|trueH| +% が記述できる。 +% \begin{macrocode} +\def\jsSetQHLength#1#2{% + \begingroup + \bxjs@parse@qh{#2}% + \ifx\bxjs@tmpb\relax \setlength\@tempdima{#2}% + \else \@tempdima\bxjs@tmpb\relax + \fi + \xdef\bxjs@g@tmpa{\the\@tempdima}% + \endgroup + #1=\bxjs@g@tmpa\relax} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\bxjs@parse@qh} +% |jsSetQHLength| の下請け。 +% |#1| が |Q|/|H|/|trueQ|/|trueH| で終わる場合、 +% |\bxjs@tmpb| にそれに等しい寸法の表現を返す。 +% それ以外では、|\bxjs@tmpb| は |\relax| になる。 +% \begin{macrocode} +\if j\jsEngine +% \end{macrocode} +% {(u)\pLaTeX}ではこの処理は不要なので無効化する。 +% \begin{macrocode} +\def\bxjs@parse@qh#1{% + \let\bxjs@tmpb\relax} +\else +\def\bxjs@parse@qh#1{% + \def\bxjs@tmpa{#1}\let\bxjs@tmpb\relax + \bxjs@parse@qh@a{trueQ}\trueQ + \bxjs@parse@qh@a{trueH}\trueH + \bxjs@parse@qh@a{Q}\jQ + \bxjs@parse@qh@a{H}\jH} +\def\bxjs@parse@qh@a#1#2{% + \ifx\bxjs@tmpb\relax + \def\bxjs@next##1#1\@nil##2\@nnil{\bxjs@parse@qh@b{##1}{##2}}% + \expandafter\bxjs@next\bxjs@tmpa\@nil#1\@nil\@nnil{#2}% + \fi} +\def\bxjs@parse@qh@b#1#2#3{% + \ifx\@nnil#2\@nnil\else \def\bxjs@tmpb{#1#3}\fi} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\jafontsize} +% |\jafontsize{|\Meta{フォントサイズ}|}{|\Meta{行送り}|}|\Means +% 和文フォント規準で、すなわち、1\,zwが\Meta{フォントサイズ}に +% 等しくなるようにフォントサイズを指定する。 +% この命令の引数では、|Q|/|H| の単位が使用できる。 +% \begin{macrocode} +\def\jafontsize#1#2{% + \begingroup + \bxjs@jafontsize@a{#1}% + \@tempdimb\jsInverseScale\@tempdima + \bxjs@jafontsize@a{#2}% + \xdef\bxjs@g@tmpa{% + \noexpand\fontsize{\the\@tempdimb}{\the\@tempdima}}% + \endgroup\bxjs@g@tmpa} +\def\bxjs@jafontsize@a#1{% + \bxjs@parse@qh{#1}% + \ifx\bxjs@tmpb\relax \def\bxjs@tmpb{#1}\fi + \@defaultunits\@tempdima\bxjs@tmpb pt\relax\@nnil} +% \end{macrocode} +% \end{macro} +% % 続いて、和文間空白・和欧文間空白関連の命令を実装する。 % (エンジン依存のコード。) % @@ -7976,8 +8136,13 @@ \loop\if@tempswa \read\@inputcheck to\bxjs@tmpa \expandafter\bxjs@get@ke@a\bxjs@tmpa\@nil kanjiEmbed \@nil\@nnil - \ifx\bxjs@tmpa\relax\else - \global\let\bxjs@g@tmpa\bxjs@tmpa + \ifx\bxjs@tmpb\relax\else + \global\let\bxjs@g@tmpa\bxjs@tmpb + \@tempswafalse + \fi + \expandafter\bxjs@get@ke@b\bxjs@tmpa\@nil jaEmbed \@nil\@nnil + \ifx\bxjs@tmpb\relax\else + \global\let\bxjs@g@tmpa\bxjs@tmpb \@tempswafalse \fi \ifeof\@inputcheck \@tempswafalse \fi @@ -7988,8 +8153,13 @@ } \@onlypreamble\bxjs@get@ke@a \def\bxjs@get@ke@a#1kanjiEmbed #2\@nil#3\@nnil{% - \ifx$#1$\def\bxjs@tmpa{#2}% - \else \let\bxjs@tmpa\relax + \ifx$#1$\def\bxjs@tmpb{#2}% + \else \let\bxjs@tmpb\relax + \fi} +\@onlypreamble\bxjs@get@ke@b +\def\bxjs@get@ke@b#1jaEmbed #2\@nil#3\@nnil{% + \ifx$#1$\def\bxjs@tmpb{#2}% + \else \let\bxjs@tmpb\relax \fi} % \end{macrocode} % \end{macro} @@ -8142,6 +8312,16 @@ \fi % \end{macrocode} % +% \paragraph{jis2004パラメタ} +% +% |pxchfon| と |pxbabel| では2004JISを指定するオプションの +% 名が |prefer2004jis| である。 +% \begin{macrocode} +\ifbxjs@jp@jismmiv + \PassOptionsToPackage{prefer2004jis}{pxchfon} + \PassOptionsToPackage{prefer2004jis}{pxbabel} +\fi +% \end{macrocode} % % \paragraph{和文フォント指定の扱い} % @@ -8149,6 +8329,8 @@ % |\jsJaFont| が |auto| の場合は何もする必要がない。 % 無指定でも |auto| でもない場合は、|\jsJaFont| をオプションに % して |pxchfon| パッケージを読み込む。 +% ここで、和文ドライバパラメタ |font| が指定されいる場合は、 +% その値を |pxchfon| のオプションに追加する。 % \begin{macrocode} \let\bxjs@tmpa\jsJaFont \ifx\bxjs@tmpa\bxjs@@auto @@ -8156,11 +8338,11 @@ \else\ifx\bxjs@tmpa\bxjs@@noEmbed \def\bxjs@tmpa{noembed} \fi\fi -\ifx\jsJaFont\@empty\else - \edef\bxjs@nxt{% - \noexpand\RequirePackage[\jsJaFont] - {pxchfon}[2010/05/12]}% v0.5 - \bxjs@nxt +\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} +\ifx\bxjs@tmpa\@empty\else + \edef\bxjs@next{% + \noexpand\RequirePackage[\bxjs@tmpa]{pxchfon}[2010/05/12]% v0.5 + }\bxjs@next \fi % \end{macrocode} % @@ -8274,11 +8456,11 @@ % スケール値(|\jsScale|)の反映は bxcjkjatype の側で行われる。 % \begin{macrocode} \bxjs@adjust@jafont{f} -\edef\bxjs@nxt{% - \noexpand\RequirePackage[% - \ifx\bxjs@tmpa\@empty\else \bxjs@tmpa,\fi - whole,autotilde]{bxcjkjatype}[2013/10/15]}% v0.2c -\bxjs@nxt +\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} +\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole,autotilde}} +\edef\bxjs@next{% + \noexpand\RequirePackage[\bxjs@tmpa]{bxcjkjatype}[2013/10/15]% v0.2c +}\bxjs@next \bxjs@cjk@loaded % \end{macrocode} % @@ -8405,14 +8587,14 @@ % 非指定の場合はIPAexフォントを使用する。 % \begin{macrocode} \bxjs@adjust@jafont{f} +\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty \setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho} \setCJKsansfont[BoldFont=IPAexGothic]{IPAexGothic} \else - \edef\bxjs@nxt{% - \noexpand\RequirePackage[\bxjs@tmpa]% - {zxjafont}[2013/01/28]}% v0.2a - \bxjs@nxt + \edef\bxjs@next{% + \noexpand\RequirePackage[\bxjs@tmpa]{zxjafont}[2013/01/28]}% v0.2a + }\bxjs@next \fi % \end{macrocode} % @@ -8566,15 +8748,15 @@ \ifx\bxjs@tmpa\bxjs@@noEmbed \def\bxjs@tmpa{noembed} \fi +\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty \defaultjfontfeatures{ Kerning=Off } \setmainjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexMincho} \setsansjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexGothic} \else - \edef\bxjs@nxt{% - \noexpand\RequirePackage[\bxjs@tmpa] - {luatexja-preset}}% - \bxjs@nxt + \edef\bxjs@next{% + \noexpand\RequirePackage[\bxjs@tmpa]{luatexja-preset}% + }\bxjs@next \fi % \end{macrocode} % diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls index a7624dd6bca..5d7db80e857 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/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c BXJS document classes] %% このファイルは日本語文字を含みます. \RequirePackage{calc} \RequirePackage{keyval} @@ -86,6 +86,12 @@ #1\expandafter\@firstoftwo \else\expandafter\@secondoftwo \fi} +\def\bxjs@cslet#1{% + \expandafter\let\csname#1\endcsname} +\def\bxjs@csletcs#1#2{% + \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname} +\def\bxjs@catopt#1#2{% + #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2} \def\jsAtEndOfClass{% \expandafter\g@addto@macro\csname\bxjs@clsname.cls-h@@k\endcsname} \@onlypreamble\bxjs@restore@jltrcc @@ -240,7 +246,7 @@ \def\bxjs@kv@enablejfam@true{\let\bxjs@enablejfam=t} \def\bxjs@kv@enablejfam@false{\let\bxjs@enablejfam=f} \def\bxjs@kv@enablejfam@default{\let\bxjs@enablejfam\@undefined} -\define@key{bxjs}{enablejfam}{% +\define@key{bxjs}{enablejfam}[true]{% \bxjs@set@keyval{enablejfam}{#1}{}} \DeclareOption{disablejfam}{\let\bxjs@enablejfam=f} \let\ifjsDraft\iffalse @@ -475,7 +481,7 @@ \newif\ifbxjs@fancyhdr \bxjs@fancyhdrtrue \let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue \let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse -\define@key{bxjs}{fancyhdr}{% +\define@key{bxjs}{fancyhdr}[true]{% \bxjs@set@keyval{fancyhdr}{#1}{}} \newif\ifbxjs@dvi@opt \let\bxjs@dvidriver@@dvipdfmx=\bxjs@driver@@dvipdfmx @@ -509,15 +515,15 @@ \newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue \let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue \let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse -\define@key{bxjs}{whole-zw-lines}{\bxjs@set@keyval{wholezwlines}{#1}{}} +\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}} \newif\ifbxjs@xkanjiskip@cmd \bxjs@xkanjiskip@cmdtrue \let\bxjs@kv@xkanjiskipcmd@true\bxjs@xkanjiskip@cmdtrue \let\bxjs@kv@xkanjiskipcmd@false\bxjs@xkanjiskip@cmdfalse -\define@key{bxjs}{xkanjiskip-cmd}{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}} +\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}} \newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue \let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue \let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse -\define@key{bxjs}{hyperref-enc}{\bxjs@set@keyval{hyperrefenc}{#1}{}} +\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}} \let\bxjs@ltx@removeelement\@removeelement \def\@removeelement#1#2#3{% \def\reserved@a{#2}% diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls index 6f2b0756d4a..a6b880e9317 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/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c BXJS document classes] %% このファイルは日本語文字を含みます. \RequirePackage{calc} \RequirePackage{keyval} @@ -86,6 +86,12 @@ #1\expandafter\@firstoftwo \else\expandafter\@secondoftwo \fi} +\def\bxjs@cslet#1{% + \expandafter\let\csname#1\endcsname} +\def\bxjs@csletcs#1#2{% + \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname} +\def\bxjs@catopt#1#2{% + #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2} \def\jsAtEndOfClass{% \expandafter\g@addto@macro\csname\bxjs@clsname.cls-h@@k\endcsname} \@onlypreamble\bxjs@restore@jltrcc @@ -246,7 +252,7 @@ \def\bxjs@kv@enablejfam@true{\let\bxjs@enablejfam=t} \def\bxjs@kv@enablejfam@false{\let\bxjs@enablejfam=f} \def\bxjs@kv@enablejfam@default{\let\bxjs@enablejfam\@undefined} -\define@key{bxjs}{enablejfam}{% +\define@key{bxjs}{enablejfam}[true]{% \bxjs@set@keyval{enablejfam}{#1}{}} \DeclareOption{disablejfam}{\let\bxjs@enablejfam=f} \let\ifjsDraft\iffalse @@ -481,7 +487,7 @@ \newif\ifbxjs@fancyhdr \bxjs@fancyhdrtrue \let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue \let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse -\define@key{bxjs}{fancyhdr}{% +\define@key{bxjs}{fancyhdr}[true]{% \bxjs@set@keyval{fancyhdr}{#1}{}} \newif\ifbxjs@dvi@opt \let\bxjs@dvidriver@@dvipdfmx=\bxjs@driver@@dvipdfmx @@ -518,15 +524,15 @@ \newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue \let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue \let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse -\define@key{bxjs}{whole-zw-lines}{\bxjs@set@keyval{wholezwlines}{#1}{}} +\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}} \newif\ifbxjs@xkanjiskip@cmd \bxjs@xkanjiskip@cmdtrue \let\bxjs@kv@xkanjiskipcmd@true\bxjs@xkanjiskip@cmdtrue \let\bxjs@kv@xkanjiskipcmd@false\bxjs@xkanjiskip@cmdfalse -\define@key{bxjs}{xkanjiskip-cmd}{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}} +\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}} \newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue \let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue \let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse -\define@key{bxjs}{hyperref-enc}{\bxjs@set@keyval{hyperrefenc}{#1}{}} +\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}} \let\bxjs@ltx@removeelement\@removeelement \def\@removeelement#1#2#3{% \def\reserved@a{#2}% diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty index a0e060d4854..a1d5ede2ce9 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/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c 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 1e939d70e67..5e0ca3eccc8 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/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c 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 f54aaf76148..a7e9360acb1 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/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c BXJS document classes] %% このファイルは日本語文字を含みます \def\DeclareJaTextFontCommand#1#2{% \DeclareRobustCommand#1[1]{% @@ -45,6 +45,8 @@ \AtBeginDocument{% \ifx\familydefault\bxjs@@CSsfdefault#1\fi}% } +\@tempdima\p@ \bxjs@invscale\@tempdima\jsScale +\edef\jsInverseScale{\strip@pt\@tempdima} \def\jsLetHeadChar#1#2{% \begingroup \escapechar=`\\ % diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def index 1021409e2d9..527a660cbf5 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/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c 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 fead351d685..ef247e5e273 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/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c BXJS document classes] \input{bxjsja-standard.def} \@onlypreamble\bxjs@set@dupload@proc \def\bxjs@set@dupload@proc#1{% diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def index 44ec5bc312d..95f40207fcf 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def @@ -21,10 +21,24 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \ProvidesFile{bxjsja-standard.def} - [2017/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c BXJS document classes] %% このファイルは日本語文字を含みます \input{bxjsja-minimal.def} \bxjs@simplejasetupfalse +\newif\ifbxjs@jp@jismmiv +\bxjs@cslet{bxjs@kv@jis2004@true}\bxjs@jp@jismmivtrue +\bxjs@cslet{bxjs@kv@jis2004@false}\bxjs@jp@jismmivfalse +\define@key{bxjsStd}{jis2004}[true]{% + \bxjs@set@keyval{jis2004}{#1}{}} +\let\bxjs@jp@font\@empty +\define@key{bxjsStd}{font}{% + \edef\bxjs@jp@font{#1}} +\def\bxjs@next#1{\bxjs@safe@setkeys{bxjsStd}{#1}} +\expandafter\bxjs@next\expandafter{\jsJaParam} +\ifbxjs@jp@jismmiv + \g@addto@macro\@classoptionslist{,jis2004} + \PassOptionsToPackage{jis2004}{otf} +\fi \ifjsWitheTeX \@tempdima=0.25mm \protected\edef\jQ{\dimexpr\the\@tempdima\relax} @@ -46,6 +60,45 @@ \@tempdima\bxjs@truept \bxjs@invscale\@tempdima\jsScale \protected\edef\ascpt{\dimexpr\the\@tempdima\relax} \fi +\def\jsSetQHLength#1#2{% + \begingroup + \bxjs@parse@qh{#2}% + \ifx\bxjs@tmpb\relax \setlength\@tempdima{#2}% + \else \@tempdima\bxjs@tmpb\relax + \fi + \xdef\bxjs@g@tmpa{\the\@tempdima}% + \endgroup + #1=\bxjs@g@tmpa\relax} +\if j\jsEngine +\def\bxjs@parse@qh#1{% + \let\bxjs@tmpb\relax} +\else +\def\bxjs@parse@qh#1{% + \def\bxjs@tmpa{#1}\let\bxjs@tmpb\relax + \bxjs@parse@qh@a{trueQ}\trueQ + \bxjs@parse@qh@a{trueH}\trueH + \bxjs@parse@qh@a{Q}\jQ + \bxjs@parse@qh@a{H}\jH} +\def\bxjs@parse@qh@a#1#2{% + \ifx\bxjs@tmpb\relax + \def\bxjs@next##1#1\@nil##2\@nnil{\bxjs@parse@qh@b{##1}{##2}}% + \expandafter\bxjs@next\bxjs@tmpa\@nil#1\@nil\@nnil{#2}% + \fi} +\def\bxjs@parse@qh@b#1#2#3{% + \ifx\@nnil#2\@nnil\else \def\bxjs@tmpb{#1#3}\fi} +\fi +\def\jafontsize#1#2{% + \begingroup + \bxjs@jafontsize@a{#1}% + \@tempdimb\jsInverseScale\@tempdima + \bxjs@jafontsize@a{#2}% + \xdef\bxjs@g@tmpa{% + \noexpand\fontsize{\the\@tempdimb}{\the\@tempdima}}% + \endgroup\bxjs@g@tmpa} +\def\bxjs@jafontsize@a#1{% + \bxjs@parse@qh{#1}% + \ifx\bxjs@tmpb\relax \def\bxjs@tmpb{#1}\fi + \@defaultunits\@tempdima\bxjs@tmpb pt\relax\@nnil} \def\bxjs@kanjiskip{0pt} \newcommand*\setkanjiskip[1]{% \edef\bxjs@kanjiskip{#1}% @@ -130,8 +183,13 @@ \loop\if@tempswa \read\@inputcheck to\bxjs@tmpa \expandafter\bxjs@get@ke@a\bxjs@tmpa\@nil kanjiEmbed \@nil\@nnil - \ifx\bxjs@tmpa\relax\else - \global\let\bxjs@g@tmpa\bxjs@tmpa + \ifx\bxjs@tmpb\relax\else + \global\let\bxjs@g@tmpa\bxjs@tmpb + \@tempswafalse + \fi + \expandafter\bxjs@get@ke@b\bxjs@tmpa\@nil jaEmbed \@nil\@nnil + \ifx\bxjs@tmpb\relax\else + \global\let\bxjs@g@tmpa\bxjs@tmpb \@tempswafalse \fi \ifeof\@inputcheck \@tempswafalse \fi @@ -142,8 +200,13 @@ } \@onlypreamble\bxjs@get@ke@a \def\bxjs@get@ke@a#1kanjiEmbed #2\@nil#3\@nnil{% - \ifx$#1$\def\bxjs@tmpa{#2}% - \else \let\bxjs@tmpa\relax + \ifx$#1$\def\bxjs@tmpb{#2}% + \else \let\bxjs@tmpb\relax + \fi} +\@onlypreamble\bxjs@get@ke@b +\def\bxjs@get@ke@b#1jaEmbed #2\@nil#3\@nnil{% + \ifx$#1$\def\bxjs@tmpb{#2}% + \else \let\bxjs@tmpb\relax \fi} \newcommand*\jachar[1]{% \begingroup @@ -227,17 +290,21 @@ \else \def\>{\protect\bxjs@put@xkanjiskip} \fi \fi +\ifbxjs@jp@jismmiv + \PassOptionsToPackage{prefer2004jis}{pxchfon} + \PassOptionsToPackage{prefer2004jis}{pxbabel} +\fi \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 -\ifx\jsJaFont\@empty\else - \edef\bxjs@nxt{% - \noexpand\RequirePackage[\jsJaFont] - {pxchfon}[2010/05/12]}% v0.5 - \bxjs@nxt +\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} +\ifx\bxjs@tmpa\@empty\else + \edef\bxjs@next{% + \noexpand\RequirePackage[\bxjs@tmpa]{pxchfon}[2010/05/12]% v0.5 + }\bxjs@next \fi \begingroup \global\let\@gtempa\relax @@ -304,11 +371,11 @@ \fi \else\if p\jsEngine \bxjs@adjust@jafont{f} -\edef\bxjs@nxt{% - \noexpand\RequirePackage[% - \ifx\bxjs@tmpa\@empty\else \bxjs@tmpa,\fi - whole,autotilde]{bxcjkjatype}[2013/10/15]}% v0.2c -\bxjs@nxt +\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} +\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa{whole,autotilde}} +\edef\bxjs@next{% + \noexpand\RequirePackage[\bxjs@tmpa]{bxcjkjatype}[2013/10/15]% v0.2c +}\bxjs@next \bxjs@cjk@loaded \ifbxjs@hyperref@enc \PassOptionsToPackage{unicode}{hyperref} @@ -374,14 +441,14 @@ {xeCJK or zxjatype is too old}\@ehc \fi \bxjs@adjust@jafont{f} +\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty \setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho} \setCJKsansfont[BoldFont=IPAexGothic]{IPAexGothic} \else - \edef\bxjs@nxt{% - \noexpand\RequirePackage[\bxjs@tmpa]% - {zxjafont}[2013/01/28]}% v0.2a - \bxjs@nxt + \edef\bxjs@next{% + \noexpand\RequirePackage[\bxjs@tmpa]{zxjafont}[2013/01/28]}% v0.2a + }\bxjs@next \fi \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99992}>\m@ne \ifbxjs@hyperref@enc @@ -434,15 +501,15 @@ \ifx\bxjs@tmpa\bxjs@@noEmbed \def\bxjs@tmpa{noembed} \fi +\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty \defaultjfontfeatures{ Kerning=Off } \setmainjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexMincho} \setsansjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexGothic} \else - \edef\bxjs@nxt{% - \noexpand\RequirePackage[\bxjs@tmpa] - {luatexja-preset}}% - \bxjs@nxt + \edef\bxjs@next{% + \noexpand\RequirePackage[\bxjs@tmpa]{luatexja-preset}% + }\bxjs@next \fi \DeclareRobustCommand\rmfamily {\not@math@alphabet\rmfamily\mathrm diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls index edaf2987ca6..ce95871c02b 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/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c BXJS document classes] %% このファイルは日本語文字を含みます. \RequirePackage{calc} \RequirePackage{keyval} @@ -86,6 +86,12 @@ #1\expandafter\@firstoftwo \else\expandafter\@secondoftwo \fi} +\def\bxjs@cslet#1{% + \expandafter\let\csname#1\endcsname} +\def\bxjs@csletcs#1#2{% + \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname} +\def\bxjs@catopt#1#2{% + #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2} \def\jsAtEndOfClass{% \expandafter\g@addto@macro\csname\bxjs@clsname.cls-h@@k\endcsname} \@onlypreamble\bxjs@restore@jltrcc @@ -246,7 +252,7 @@ \def\bxjs@kv@enablejfam@true{\let\bxjs@enablejfam=t} \def\bxjs@kv@enablejfam@false{\let\bxjs@enablejfam=f} \def\bxjs@kv@enablejfam@default{\let\bxjs@enablejfam\@undefined} -\define@key{bxjs}{enablejfam}{% +\define@key{bxjs}{enablejfam}[true]{% \bxjs@set@keyval{enablejfam}{#1}{}} \DeclareOption{disablejfam}{\let\bxjs@enablejfam=f} \let\ifjsDraft\iffalse @@ -481,7 +487,7 @@ \newif\ifbxjs@fancyhdr \bxjs@fancyhdrtrue \let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue \let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse -\define@key{bxjs}{fancyhdr}{% +\define@key{bxjs}{fancyhdr}[true]{% \bxjs@set@keyval{fancyhdr}{#1}{}} \newif\ifbxjs@dvi@opt \let\bxjs@dvidriver@@dvipdfmx=\bxjs@driver@@dvipdfmx @@ -518,15 +524,15 @@ \newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue \let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue \let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse -\define@key{bxjs}{whole-zw-lines}{\bxjs@set@keyval{wholezwlines}{#1}{}} +\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}} \newif\ifbxjs@xkanjiskip@cmd \bxjs@xkanjiskip@cmdtrue \let\bxjs@kv@xkanjiskipcmd@true\bxjs@xkanjiskip@cmdtrue \let\bxjs@kv@xkanjiskipcmd@false\bxjs@xkanjiskip@cmdfalse -\define@key{bxjs}{xkanjiskip-cmd}{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}} +\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}} \newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue \let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue \let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse -\define@key{bxjs}{hyperref-enc}{\bxjs@set@keyval{hyperrefenc}{#1}{}} +\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}} \let\bxjs@ltx@removeelement\@removeelement \def\@removeelement#1#2#3{% \def\reserved@a{#2}% diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls index 384f9fe2dde..e5e6541ac2f 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/04/01 v1.5b BXJS document classes] + [2017/06/10 v1.5c BXJS document classes] %% このファイルは日本語文字を含みます. \RequirePackage{calc} \RequirePackage{keyval} @@ -86,6 +86,12 @@ #1\expandafter\@firstoftwo \else\expandafter\@secondoftwo \fi} +\def\bxjs@cslet#1{% + \expandafter\let\csname#1\endcsname} +\def\bxjs@csletcs#1#2{% + \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname} +\def\bxjs@catopt#1#2{% + #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2} \def\jsAtEndOfClass{% \expandafter\g@addto@macro\csname\bxjs@clsname.cls-h@@k\endcsname} \@onlypreamble\bxjs@restore@jltrcc @@ -240,7 +246,7 @@ \def\bxjs@kv@enablejfam@true{\let\bxjs@enablejfam=t} \def\bxjs@kv@enablejfam@false{\let\bxjs@enablejfam=f} \def\bxjs@kv@enablejfam@default{\let\bxjs@enablejfam\@undefined} -\define@key{bxjs}{enablejfam}{% +\define@key{bxjs}{enablejfam}[true]{% \bxjs@set@keyval{enablejfam}{#1}{}} \DeclareOption{disablejfam}{\let\bxjs@enablejfam=f} \let\ifjsDraft\iffalse @@ -475,7 +481,7 @@ \newif\ifbxjs@fancyhdr \bxjs@fancyhdrtrue \let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue \let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse -\define@key{bxjs}{fancyhdr}{% +\define@key{bxjs}{fancyhdr}[true]{% \bxjs@set@keyval{fancyhdr}{#1}{}} \newif\ifbxjs@dvi@opt \let\bxjs@dvidriver@@dvipdfmx=\bxjs@driver@@dvipdfmx @@ -509,15 +515,15 @@ \newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue \let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue \let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse -\define@key{bxjs}{whole-zw-lines}{\bxjs@set@keyval{wholezwlines}{#1}{}} +\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}} \newif\ifbxjs@xkanjiskip@cmd \bxjs@xkanjiskip@cmdtrue \let\bxjs@kv@xkanjiskipcmd@true\bxjs@xkanjiskip@cmdtrue \let\bxjs@kv@xkanjiskipcmd@false\bxjs@xkanjiskip@cmdfalse -\define@key{bxjs}{xkanjiskip-cmd}{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}} +\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{xkanjiskipcmd}{#1}{}} \newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue \let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue \let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse -\define@key{bxjs}{hyperref-enc}{\bxjs@set@keyval{hyperrefenc}{#1}{}} +\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}} \let\bxjs@ltx@removeelement\@removeelement \def\@removeelement#1#2#3{% \def\reserved@a{#2}% -- cgit v1.2.3