From 6d66e4ba7e6645fec3ab1716bc319294f0290ce2 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 2 Feb 2017 22:31:58 +0000 Subject: bxjscls (2feb17) git-svn-id: svn://tug.org/texlive/trunk@43123 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bxjscls/README-ja.md | 4 + Master/texmf-dist/doc/latex/bxjscls/README.md | 1 + .../doc/latex/bxjscls/bxjscls-manual.pdf | Bin 582919 -> 591209 bytes .../doc/latex/bxjscls/bxjscls-manual.tex | 83 ++++++++- Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf | Bin 921820 -> 929680 bytes Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx | 189 +++++++++++++++++++-- .../texmf-dist/tex/latex/bxjscls/bxjsarticle.cls | 21 ++- Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls | 21 ++- Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty | 2 +- Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty | 2 +- .../tex/latex/bxjscls/bxjsja-minimal.def | 11 +- .../texmf-dist/tex/latex/bxjscls/bxjsja-modern.def | 2 +- .../texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def | 2 +- .../tex/latex/bxjscls/bxjsja-standard.def | 43 ++++- Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls | 21 ++- Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls | 21 ++- 16 files changed, 370 insertions(+), 53 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md index 1179243696e..98747a5df35 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md +++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md @@ -97,6 +97,10 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使 更新履歴 -------- + * Version 1.4 〈2017/02/03〉 + - `\zwapace` 命令を追加。 + - 数式中の和文出力をサポートした。 + - バグ修正。 * Version 1.3a 〈2017/01/28〉 - jsclasses の 2017/01/13 と同期。 * Version 1.3 〈2016/11/01〉 diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md index 07c4d3efee3..e7c1799ce13 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.4 〈2017/02/03〉 * Version 1.3a 〈2017/01/28〉 - Sync with jsclasses 2017/01/13. * Version 1.3 〈2016/11/01〉 diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf index 880268910e1..6efa12122db 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 9e10d4dd8fd..d6429c4345e 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.3a} -\newcommand{\PkgDate}{2017/01/28} +\newcommand{\PkgVersion}{1.4} +\newcommand{\PkgDate}{2017/02/03} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} @@ -639,6 +639,17 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション |a4paper| 等と同じ役割で、任意の値を指定できる。 用紙サイズの既定値はA4縦 ($\mbox{210\,mm}\times\mbox{294\,mm}$)である。 +\item |enablejfam=|\Meta{値}\Means + 数式中の和文出力をサポートするか否か。 + 値は |true|(有効)/|false|(無効)/|default|(既定値に従う) + の何れかである。 + エンジンや和文ドライバの種類により、 + 既定値が有効・無効の何れになるかは異なるし、また、 + そもそも有効・無効の一方しか選択できない場合もある。 + 詳細については\ref{sec:Ja-math-fonts}節を参照されたい。 +\item |disablejfam|\Means + |enablejfam=false| と同値。 + \Note JSクラスとの互換のため存在する。 \end{itemize} 以下に挙げるのは上級者向けのオプションである。 @@ -838,11 +849,6 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション \item 和文フォントメトリック指定\Means |jis|、|winjis|、|mingoth|。 \Note 異なるエンジンで汎用的に扱うのが難しい。 -\item 和文数式フォントの登録の制御\Means - |disablejfam|。 - \Note 前項と同じ理由。 - \footnote{ただし、こちらは一部のエンジンだけでも対応したほうが - よいかも知れない。}% \end{itemize} %------------------- @@ -1096,6 +1102,8 @@ vscale=0.944, vmarginratio=1:1 なお、|\jsZw| は「規約上の全角幅」であり、「実際の全角幅」と本来は 一致するはずだが、実際には計算誤差のせいで僅かに値が異なる。}% ただし |nozw| 指定時は定義されない。 +\item |\zwspace|\Means + 全角(|\jsZw|)幅の水平空き。 \end{itemize} \subsubsection{standard和文ドライバの場合} @@ -1155,6 +1163,15 @@ standard和文ドライバでは和文に関連する {\pLaTeX}の同名の命令と同等。 \item |\jachar{|\Meta{文字1つ}|]|\Means 指定の文字を和文文字として(現在の和文フォントで)出力する。 +\item 和文数式フォント命令\Means + JSクラスと同様に、 + |\mathmc| で「明朝」、|\mathgt| で「ゴシック」の + 和文数式フォントを指定する。 +\item 欧文数式フォント命令での和文の連動\Means + |\mathrm| で和文が「明朝」、 + |\mathsf| および |\mathtt| で和文が「ゴシック」に指定される。 + \Note JSクラスとは異なり、“連動の組合せ”は + テキストと同一であることに注意。 \end{itemize} 例えば、{\pLaTeX}において、次のように「和文間空白」を @@ -1176,6 +1193,58 @@ standard和文ドライバでは和文に関連する \makebox[#1\zw][s]{#2}}} \end{verbatim}\end{quote} +%=========================================================== +\section{数式中の和文出力について} +\label{sec:Ja-math-fonts} + +minimal和文ドライバは数式中の和文出力の機能を何も提供しない。 +従って、そのような機能を提供する他のパッケージを併用するので +ない限り、数式中に和文を書いたときの挙動は未定義である。 + +standard和文ドライバ(およびそれを継承する和文ドライバ)に +おける数式中の和文出力の扱いは、エンジンと |enablejfam| オプション +の値の組合せにより異なり、表\ref{tbl:ja-math}に示すようになる。 +以下でこの表に関する補足説明を行う。 +\begin{itemize} +\item この表にある以外のエンジンと |enablejfam| 値の組合せは + 許容されない。 + この場合、警告が出て、|enablejfam| が可能な値に自動的に変更される。 +\item 「直書き」が「可」の場合、数式フォント命令(|\mathXX{}|)の外に + 書いた和文文字は明朝体で出力される。 + 「不可」の場合、そのような和文文字の扱いは未定義である。 +\item 「|\mathmc|/|gt|」が「サポート有り」の場合、これらの命令は + “本物”の数式フォント命令として働く。 + 「フォールバック」の場合は、これらの命令は内部で一旦テキストモードに + 切り替えて非数式として出力される。 + このフォールバック機能を実用したい場合は、 + \Pkg{amstext}(または\Pkg{amsmath})パッケージの併用が望ましい。% + \footnote{\Pkg{amstext}を読み込まない場合、 + 添字中で |\mathmc|/|gt| を用いたときに + 文字サイズが非添字のものに戻ってしまうという不具合が出る。} +\end{itemize} + +\DeleteShortVerb{\|} +\MakeShortVerb{\+} +\begin{table}[t] + \caption{standard和文ドライバにおける数式中の和文出力のサポート} + \label{tbl:ja-math} + \small\centering + \begin{tabular}{ll|ccc} + \hline + エンジン & +enablejfam+ & 直書き & +\mathmc+/+gt+ & 和欧文連動 \\ + \hline + +(u)platex+ & +true+(既定) & 可 & サポート有り & 有り \\ + & +false+ & 不可 & フォールバック & --- \\ + +lualatex+ & +true+ & 可 & サポート有り & 有り \\ + +xelatex+ & +true+ & 可 & フォールバック & 無し \\ + & +false+(既定)& 不可 & フォールバック & --- \\ + +pdflatex+ & +false+ & 不可 & フォールバック & --- \\ + \hline + \end{tabular} +\end{table} +\DeleteShortVerb{\+} +\MakeShortVerb{\|} + %=========================================================== \section{“二文字フォント命令”に対する警告} \label{sec:Old-font-commands} diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf index 8f43acaf318..81499ed32cb 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 2475f70141e..955535e1bad 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 BXJS document classes] +% [2017/01/28 v1.3a BXJS document classes] % based on jsclasses [2017/01/13] % [2016/11/01 v1.3 BXJS document classes] % based on jsclasses [2016/10/08] @@ -502,8 +503,11 @@ % % 和文フォントを数式フォントとして登録するかどうかを示すスイッチです。 % +% \begin{ZRnote} +% JSクラスと異なり、初期値は偽とする。 +% \end{ZRnote} % \begin{macrocode} -\newif\if@enablejfam \@enablejfamtrue +\newif\if@enablejfam \@enablejfamfalse % \end{macrocode} % \end{macro} % @@ -846,9 +850,47 @@ % \end{macrocode} % % \paragraph{数式フォントとして和文フォントを登録しないオプション} -% \mbox{} +% +% 数式中では16通りのフォントしか使えません。 +% AMSFontsや \texttt{mathptmx} パッケージを使って数式フォントを +% たくさん使うと ``Too many math alphabets \ldots'' というエラーが +% 起こってしまいます。\texttt{disablejfam} オプションを付ければ, +% 明朝・ゴシックを数式用フォントとして登録するのをやめますので, +% 数式用フォントが二つ節約できます。 +% いずれにしても |\textmc| や |\mbox| や \texttt{amsmath} +% パッケージの |\text| を使えば数式中で和文フォントが使えますので, +% この新ドキュメントクラスでは標準で和文フォントを数式用に登録 +% しないことにしていたのですが,従来のドキュメントクラスの仕様に +% 合わせることにしました。 +% % \begin{ZRnote} -% ここは和文ドライバの管轄。 +% \begin{macro}{\bxjs@enablejfam} +% 〔暗黙文字トークン〕 +% |enablejfam| オプションの状態: +% \begin{macrocode} +%\let\bxjs@enablejfam\@undefined +% \end{macrocode} +% \end{macro} +% +% |fancyhdr| オプションの処理。 +% \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}{% + \bxjs@set@keyval{enablejfam}{#1}{}} +% \end{macrocode} +% +% JSクラスとの互換のため |disablejfam| オプションを定義する。 +% \begin{macrocode} +\DeclareOption{disablejfam}{\let\bxjs@enablejfam=f} +% \end{macrocode} +% +% \Note 実際に何らかの設定を行うのは和文ドライバである。 +% 和文ドライバとエンジンの組合せにより、|enablejfam| が |default| である +% 場合に「数式和文ファミリ」が有効と無効の選択は異なるし、またそもそも +% 有効と無効の一方しか選択できない場合もある。 +% % \end{ZRnote} % % \paragraph{ドラフト} @@ -2045,6 +2087,13 @@ \fi % \end{macrocode} % +% \begin{macro}{\zwspace} +% 全角幅の水平空き。 +% \begin{macrocode} +\def\zwspace{\hskip\jsZw\relax} +% \end{macrocode} +% \end{macro} +% % そして、magstyle が |nomag*| の場合は、NFSSにパッチを当てる。 % \begin{macrocode} \ifjsc@mag@xreal @@ -5344,9 +5393,9 @@ \advance\leftskip .0628\linewidth \advance\rightskip .0628\linewidth \vskip\abovecaptionskip - \sbox\@tempboxa{#1\hskip1\jsZw\relax #2}% + \sbox\@tempboxa{#1\zwspace#2}% \ifdim \wd\@tempboxa <\hsize \centering \fi - #1\hskip1\jsZw\relax #2\par + #1\zwspace#2\par \vskip\belowcaptionskip}} % %<*jspf> @@ -5448,7 +5497,8 @@ \fi \fi} \def\bxjs@warnoldfontcmd@final{% - \par +% \par + \global\let\bxjs@warnoldfontcmd@final\@empty \let\@tempa\@empty \def\do##1{% \expandafter\ifx\csname bxjs@ofc/\string##1\endcsname\relax\else @@ -5469,7 +5519,16 @@ only for compatibility% \@gobble}% \fi} -\AtEndDocument{\bxjs@warnoldfontcmd@final} +% \end{macrocode} +% 単純に |\AtEndDocument| のフックの中で |\bxjs@warnoldfontcmd@final| を +% 実行した場合、最終ページのヘッダ・フッタの中にある二文字フォント命令は +% それより後に実行されるため捕捉できない。 +% これに対処するため、|\end{document}| 中に実行される |\clearpage| の処理の +% 直後に |\bxjs....final| が呼ばれるようにする。 +% \begin{macrocode} +\def\bxjs@warnoldfontcmd@kick@final{% + \g@addto@macro\clearpage{\bxjs@warnoldfontcmd@final}} +\AtEndDocument{\bxjs@warnoldfontcmd@kick@final} % \end{macrocode} % % \end{ZRnote} @@ -6878,6 +6937,21 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\DeclareJaMathFontCommand} +% 和文数式フォントが無効な場合に、それをエミュレートするもの。 +% \begin{macrocode} +\def\DeclareJaMathFontCommand#1#2{% + \DeclareRobustCommand#1[1]{% + \relax + \ifmmode\else \non@alpherr{#1\space}\fi + \nfss@text{\fontfamily\familydefault + \fontseries{m}\fontshape{n}\selectfont\relax + #2##1}% + }% +} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\bxjs@if@sf@default} % |\familydefault| の定義が“|\sfdefault|”である場合に % 引数のコードを実行する。 @@ -7629,7 +7703,10 @@ % \paragraph{和文フォント指定の扱い} % % \begin{macro}{\bxjs@adjust@jafont} -% ムニャムニャ…。 +% |\jsJaFont| に入っている和文フォント設定の値を“調整”して、 +% その結果を |\bxjs@tmpa| に返す。 +% |#1| が |f| の場合は“非埋込(|noEmbed|)”の設定が禁止される。 +% この禁止の場合も含め、何か異常がある場合は |\bxjs@tmpa| は空になる。 % \begin{macrocode} \@onlypreamble\bxjs@adjust@jafont \def\bxjs@adjust@jafont#1{% @@ -7657,7 +7734,7 @@ % % \begin{macro}{\bxjs@kanjiEmbed} % 現在の |updmap| の |kanjiEmbed| パラメタの値。 -% |\bxjs@get@kanjiEmbed| により設定される。 +% |\bxjs@get@kanjiEmbed| により実際の設定値が取得されてここに設定される。 % \begin{macrocode} \let\bxjs@kanjiEmbed\relax % \end{macrocode} @@ -7932,6 +8009,33 @@ \newcommand*\UseMicrotypeSet[2][]{} % \end{macrocode} % +% \paragraph{和文数式ファミリ} +% +% 和文数式ファミリは既定で有効とする。 +% すなわち |enablejfam=false| 以外の場合は |@enablejfam| を真にする。 +% \begin{macrocode} +\ifx f\bxjs@enablejfam\else + \@enablejfamtrue +\fi +% \end{macrocode} +% +% 実際に和文用の数式ファミリの設定を行う。 +% \begin{macrocode} +\if@enablejfam + \DeclareSymbolFont{mincho}{\jsc@JYn}{mc}{m}{n} + \DeclareSymbolFontAlphabet{\mathmc}{mincho} + \SetSymbolFont{mincho}{bold}{\jsc@JYn}{gt}{m}{n} + \jfam\symmincho + \DeclareMathAlphabet{\mathgt}{\jsc@JYn}{gt}{m}{n} + \AtBeginDocument{% + \ifx\reDeclareMathAlphabet\@undefined\else + \reDeclareMathAlphabet{\mathrm}{\@mathrm}{\@mathmc}% + \reDeclareMathAlphabet{\mathbf}{\@mathbf}{\@mathgt}% + \reDeclareMathAlphabet{\mathsf}{\@mathsf}{\@mathgt}% + \fi} +\fi +% \end{macrocode} +% %^^A---------------- % \subsection{pdf{\TeX}用設定: CJK + bxcjkjatype} % @@ -8028,6 +8132,18 @@ \CJKforced{#1}} % \end{macrocode} % +% \paragraph{和文数式ファミリ} +% +% CJKパッケージは(恐らく)数式文字としてCJK文字をサポートしていない。 +% 従って |@enablejfam| は常に偽になる。 +% \begin{macrocode} +\ifx t\bxjs@enablejfam + \ClassWarningNoLine\bxjs@clsname + {You cannot use 'enablejfam=true', since the\MessageBreak + CJK package does not support Japanese math} +\fi +% \end{macrocode} +% %^^A---------------- % \subsection{{\XeTeX}用設定: xeCJK + zxjatype} % @@ -8142,6 +8258,24 @@ #1} % \end{macrocode} % +% \paragraph{和文数式ファミリ} +% +% 和文数式ファミリは既定で無効とする。 +% すなわち |enablejfam=true| の場合にのみ |@enablejfam| を真にする。 +% \begin{macrocode} +\ifx t\bxjs@enablejfam + \@enablejfamtrue +\fi +% \end{macrocode} +% +% 実際に和文用の数式ファミリの設定を行う。 +% \Note FIXME: 要検討。 +% \begin{macrocode} +\if@enablejfam + \xeCJKsetup{CJKmath=true} +\fi +% \end{macrocode} +% %^^A---------------- % \subsection{Lua{\TeX}用設定: Lua{\TeX}-ja} % @@ -8158,12 +8292,14 @@ % なお、レイアウト定義の「全角幅」は「規定」に基づく |\jsZw| で % あることに注意が必要。 % +% \Note 1.0b版から +% 「graphicsパッケージに |pdftex| オプションを渡す」 +% 処理を行っていたが、1.4版で廃止された。 +% % \begin{macrocode} \let\zw\@undefined \RequirePackage{luatexja} \RequirePackage{luatexja-fontspec} -\PassOptionsToPackage{pdftex}{graphicx}%! -\PassOptionsToPackage{pdftex}{graphics}%! % \end{macrocode} % % \paragraph{和文フォント定義} @@ -8212,7 +8348,8 @@ \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont} \AtBeginDocument{% \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc} - \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}}% + \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}% + \reDeclareMathAlphabet{\mathsf}{\mathsf}{\mathgt}}% \bxjs@if@sf@default{% \renewcommand\kanjifamilydefault{\gtdefault}} % \end{macrocode} @@ -8270,6 +8407,19 @@ \ltjjachar`#1\relax} % \end{macrocode} % +% \paragraph{和文数式ファミリ} +% +% Lua{\TeX}-jaでは和文数式ファミリは常に有効で、既にこの時点で必要な +% 設定は済んでいる。 +% 従って |@enablejfam| は常に真になる。 +% \begin{macrocode} +\ifx f\bxjs@enablejfam + \ClassWarningNoLine\bxjs@clsname + {You cannot use 'enablejfam=false', since the\MessageBreak + LuaTeX-ja always provides Japanese math families} +\fi +% \end{macrocode} +% %^^A---------------- % \subsection{共通処理(2)} % @@ -8289,6 +8439,19 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\mathmc} +% \begin{macro}{\mathgt} +% この時点で未定義である場合に限り、 +% |\DeclareJaMathFontCommand| を利用したフォールバックの定義を行う。 +% \begin{macrocode} +\ifx\mathmc\@undefined + \DeclareJaMathFontCommand{\mathmc}{\mcfamily} + \DeclareJaMathFontCommand{\mathgt}{\gtfamily} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \paragraph{和文・和欧文間空白の初期値} % % \begin{macrocode} diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls index 48a71504da8..19de99c4701 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 BXJS document classes] %% このファイルは日本語文字を含みます. \RequirePackage{calc} \RequirePackage{keyval} @@ -113,7 +113,7 @@ \fi{\typeout{Farewell!}\endinput\@@end} \newif\if@restonecol \newif\if@titlepage -\newif\if@enablejfam \@enablejfamtrue +\newif\if@enablejfam \@enablejfamfalse \def\bxjs@setpaper#1{\def\bxjs@param@paper{#1}} \DeclareOption{a3paper}{\bxjs@setpaper{a3paper}} \DeclareOption{a4paper}{\bxjs@setpaper{a4paper}} @@ -237,6 +237,12 @@ &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip\cr }} +\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}{% + \bxjs@set@keyval{enablejfam}{#1}{}} +\DeclareOption{disablejfam}{\let\bxjs@enablejfam=f} \let\ifjsDraft\iffalse \@onlypreamble\bxjs@draft \def\bxjs@draft#1{% @@ -702,6 +708,7 @@ \ifbxjs@usezw \providecommand*\zw{\jsZw} \fi +\def\zwspace{\hskip\jsZw\relax} \ifjsc@mag@xreal \RequirePackage{type1cm} \let\jsc@invscale\bxjs@invscale @@ -1637,9 +1644,9 @@ \advance\leftskip .0628\linewidth \advance\rightskip .0628\linewidth \vskip\abovecaptionskip - \sbox\@tempboxa{#1\hskip1\jsZw\relax #2}% + \sbox\@tempboxa{#1\zwspace#2}% \ifdim \wd\@tempboxa <\hsize \centering \fi - #1\hskip1\jsZw\relax #2\par + #1\zwspace#2\par \vskip\belowcaptionskip}} \newif\if@jsc@warnoldfontcmd \@jsc@warnoldfontcmdtrue @@ -1674,7 +1681,7 @@ \fi \fi} \def\bxjs@warnoldfontcmd@final{% - \par + \global\let\bxjs@warnoldfontcmd@final\@empty \let\@tempa\@empty \def\do##1{% \expandafter\ifx\csname bxjs@ofc/\string##1\endcsname\relax\else @@ -1695,7 +1702,9 @@ only for compatibility% \@gobble}% \fi} -\AtEndDocument{\bxjs@warnoldfontcmd@final} +\def\bxjs@warnoldfontcmd@kick@final{% + \g@addto@macro\clearpage{\bxjs@warnoldfontcmd@final}} +\AtEndDocument{\bxjs@warnoldfontcmd@kick@final} \jsc@DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc} \jsc@DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt} \jsc@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls index b498b749ee7..81e6e73e652 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 BXJS document classes] %% このファイルは日本語文字を含みます. \RequirePackage{calc} \RequirePackage{keyval} @@ -115,7 +115,7 @@ \newif\if@titlepage \newif\if@openright \newif\if@mainmatter \@mainmattertrue -\newif\if@enablejfam \@enablejfamtrue +\newif\if@enablejfam \@enablejfamfalse \def\bxjs@setpaper#1{\def\bxjs@param@paper{#1}} \DeclareOption{a3paper}{\bxjs@setpaper{a3paper}} \DeclareOption{a4paper}{\bxjs@setpaper{a4paper}} @@ -241,6 +241,12 @@ &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip\cr }} +\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}{% + \bxjs@set@keyval{enablejfam}{#1}{}} +\DeclareOption{disablejfam}{\let\bxjs@enablejfam=f} \let\ifjsDraft\iffalse \@onlypreamble\bxjs@draft \def\bxjs@draft#1{% @@ -706,6 +712,7 @@ \ifbxjs@usezw \providecommand*\zw{\jsZw} \fi +\def\zwspace{\hskip\jsZw\relax} \ifjsc@mag@xreal \RequirePackage{type1cm} \let\jsc@invscale\bxjs@invscale @@ -1707,9 +1714,9 @@ \advance\leftskip .0628\linewidth \advance\rightskip .0628\linewidth \vskip\abovecaptionskip - \sbox\@tempboxa{#1\hskip1\jsZw\relax #2}% + \sbox\@tempboxa{#1\zwspace#2}% \ifdim \wd\@tempboxa <\hsize \centering \fi - #1\hskip1\jsZw\relax #2\par + #1\zwspace#2\par \vskip\belowcaptionskip}} \newif\if@jsc@warnoldfontcmd \@jsc@warnoldfontcmdtrue @@ -1744,7 +1751,7 @@ \fi \fi} \def\bxjs@warnoldfontcmd@final{% - \par + \global\let\bxjs@warnoldfontcmd@final\@empty \let\@tempa\@empty \def\do##1{% \expandafter\ifx\csname bxjs@ofc/\string##1\endcsname\relax\else @@ -1765,7 +1772,9 @@ only for compatibility% \@gobble}% \fi} -\AtEndDocument{\bxjs@warnoldfontcmd@final} +\def\bxjs@warnoldfontcmd@kick@final{% + \g@addto@macro\clearpage{\bxjs@warnoldfontcmd@final}} +\AtEndDocument{\bxjs@warnoldfontcmd@kick@final} \jsc@DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc} \jsc@DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt} \jsc@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty index b0905b61ad3..cb9c99c5aae 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 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 90048f3a464..da4ca8c62c5 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 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 7b663ff252a..b2e5e903fe0 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 BXJS document classes] %% このファイルは日本語文字を含みます \def\DeclareJaTextFontCommand#1#2{% \DeclareRobustCommand#1[1]{% @@ -29,6 +29,15 @@ \ifmmode \expandafter\nfss@text \fi {#2##1}}% } +\def\DeclareJaMathFontCommand#1#2{% + \DeclareRobustCommand#1[1]{% + \relax + \ifmmode\else \non@alpherr{#1\space}\fi + \nfss@text{\fontfamily\familydefault + \fontseries{m}\fontshape{n}\selectfont\relax + #2##1}% + }% +} \long\def\bxjs@@CSsfdefault{\sfdefault}% \@onlypreamble\bxjs@if@sf@default \def\bxjs@if@sf@default#1{% diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def b/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def index 8c450d99ac6..3cce4077a9f 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 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 b2087657ddb..7ae3589d52b 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 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 e06a0bedec3..83b66207e0c 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 BXJS document classes] %% このファイルは日本語文字を含みます \input{bxjsja-minimal.def} \bxjs@simplejasetupfalse @@ -277,6 +277,22 @@ \fi \@namedef{ver@microtype.sty}{2000/01/01} \newcommand*\UseMicrotypeSet[2][]{} +\ifx f\bxjs@enablejfam\else + \@enablejfamtrue +\fi +\if@enablejfam + \DeclareSymbolFont{mincho}{\jsc@JYn}{mc}{m}{n} + \DeclareSymbolFontAlphabet{\mathmc}{mincho} + \SetSymbolFont{mincho}{bold}{\jsc@JYn}{gt}{m}{n} + \jfam\symmincho + \DeclareMathAlphabet{\mathgt}{\jsc@JYn}{gt}{m}{n} + \AtBeginDocument{% + \ifx\reDeclareMathAlphabet\@undefined\else + \reDeclareMathAlphabet{\mathrm}{\@mathrm}{\@mathmc}% + \reDeclareMathAlphabet{\mathbf}{\@mathbf}{\@mathgt}% + \reDeclareMathAlphabet{\mathsf}{\@mathsf}{\@mathgt}% + \fi} +\fi \else\if p\jsEngine \bxjs@adjust@jafont{f} \edef\bxjs@nxt{% @@ -328,6 +344,11 @@ \let\CJKecglue\bxjs@CJKecglue} \def\bxjs@jachar#1{% \CJKforced{#1}} +\ifx t\bxjs@enablejfam + \ClassWarningNoLine\bxjs@clsname + {You cannot use 'enablejfam=true', since the\MessageBreak + CJK package does not support Japanese math} +\fi \else\if x\jsEngine \RequirePackage{zxjatype} \PassOptionsToPackage{no-math}{fontspec}%! @@ -375,12 +396,16 @@ \def\bxjs@jachar#1{% \xeCJKDeclareCharClass{CJK}{`#1}\relax #1} +\ifx t\bxjs@enablejfam + \@enablejfamtrue +\fi +\if@enablejfam + \xeCJKsetup{CJKmath=true} +\fi \else\if l\jsEngine \let\zw\@undefined \RequirePackage{luatexja} \RequirePackage{luatexja-fontspec} -\PassOptionsToPackage{pdftex}{graphicx}%! -\PassOptionsToPackage{pdftex}{graphics}%! \ExplSyntaxOn \fp_gset:Nn \g_ltj_fontspec_scale_fp { \jsScale } \ExplSyntaxOff @@ -409,7 +434,8 @@ \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont} \AtBeginDocument{% \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc} - \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}}% + \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}% + \reDeclareMathAlphabet{\mathsf}{\mathsf}{\mathgt}}% \bxjs@if@sf@default{% \renewcommand\kanjifamilydefault{\gtdefault}} \ltjsetparameter{jaxspmode={`!,1}} @@ -436,9 +462,18 @@ \ltjsetparameter{xkanjiskip={\@tempskipa}}} \def\bxjs@jachar#1{% \ltjjachar`#1\relax} +\ifx f\bxjs@enablejfam + \ClassWarningNoLine\bxjs@clsname + {You cannot use 'enablejfam=false', since the\MessageBreak + LuaTeX-ja always provides Japanese math families} +\fi \fi\fi\fi\fi \DeclareJaTextFontCommand{\textmc}{\mcfamily} \DeclareJaTextFontCommand{\textgt}{\gtfamily} +\ifx\mathmc\@undefined + \DeclareJaMathFontCommand{\mathmc}{\mcfamily} + \DeclareJaMathFontCommand{\mathgt}{\gtfamily} +\fi \setkanjiskip{0pt plus.1\jsZw minus.01\jsZw} \ifx\jsDocClass\jsSlide \setxkanjiskip{0.1em} \else \setxkanjiskip{0.25em plus 0.15em minus 0.06em} diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls index 4f28c621902..aa90968f3bf 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 BXJS document classes] %% このファイルは日本語文字を含みます. \RequirePackage{calc} \RequirePackage{keyval} @@ -115,7 +115,7 @@ \newif\if@titlepage \newif\if@openright \newif\if@mainmatter \@mainmattertrue -\newif\if@enablejfam \@enablejfamtrue +\newif\if@enablejfam \@enablejfamfalse \def\bxjs@setpaper#1{\def\bxjs@param@paper{#1}} \DeclareOption{a3paper}{\bxjs@setpaper{a3paper}} \DeclareOption{a4paper}{\bxjs@setpaper{a4paper}} @@ -241,6 +241,12 @@ &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip\cr }} +\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}{% + \bxjs@set@keyval{enablejfam}{#1}{}} +\DeclareOption{disablejfam}{\let\bxjs@enablejfam=f} \let\ifjsDraft\iffalse \@onlypreamble\bxjs@draft \def\bxjs@draft#1{% @@ -706,6 +712,7 @@ \ifbxjs@usezw \providecommand*\zw{\jsZw} \fi +\def\zwspace{\hskip\jsZw\relax} \ifjsc@mag@xreal \RequirePackage{type1cm} \let\jsc@invscale\bxjs@invscale @@ -1690,9 +1697,9 @@ \advance\leftskip .0628\linewidth \advance\rightskip .0628\linewidth \vskip\abovecaptionskip - \sbox\@tempboxa{#1\hskip1\jsZw\relax #2}% + \sbox\@tempboxa{#1\zwspace#2}% \ifdim \wd\@tempboxa <\hsize \centering \fi - #1\hskip1\jsZw\relax #2\par + #1\zwspace#2\par \vskip\belowcaptionskip}} \newif\if@jsc@warnoldfontcmd \@jsc@warnoldfontcmdtrue @@ -1727,7 +1734,7 @@ \fi \fi} \def\bxjs@warnoldfontcmd@final{% - \par + \global\let\bxjs@warnoldfontcmd@final\@empty \let\@tempa\@empty \def\do##1{% \expandafter\ifx\csname bxjs@ofc/\string##1\endcsname\relax\else @@ -1748,7 +1755,9 @@ only for compatibility% \@gobble}% \fi} -\AtEndDocument{\bxjs@warnoldfontcmd@final} +\def\bxjs@warnoldfontcmd@kick@final{% + \g@addto@macro\clearpage{\bxjs@warnoldfontcmd@final}} +\AtEndDocument{\bxjs@warnoldfontcmd@kick@final} \jsc@DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc} \jsc@DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt} \jsc@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls index fa5f6671767..79921c50550 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/01/28 v1.3a BXJS document classes] + [2017/02/03 v1.4 BXJS document classes] %% このファイルは日本語文字を含みます. \RequirePackage{calc} \RequirePackage{keyval} @@ -113,7 +113,7 @@ \fi{\typeout{Farewell!}\endinput\@@end} \newif\if@restonecol \newif\if@titlepage -\newif\if@enablejfam \@enablejfamtrue +\newif\if@enablejfam \@enablejfamfalse \def\bxjs@setpaper#1{\def\bxjs@param@paper{#1}} \DeclareOption{a3paper}{\bxjs@setpaper{a3paper}} \DeclareOption{a4paper}{\bxjs@setpaper{a4paper}} @@ -237,6 +237,12 @@ &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip\cr }} +\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}{% + \bxjs@set@keyval{enablejfam}{#1}{}} +\DeclareOption{disablejfam}{\let\bxjs@enablejfam=f} \let\ifjsDraft\iffalse \@onlypreamble\bxjs@draft \def\bxjs@draft#1{% @@ -701,6 +707,7 @@ \ifbxjs@usezw \providecommand*\zw{\jsZw} \fi +\def\zwspace{\hskip\jsZw\relax} \ifjsc@mag@xreal \RequirePackage{type1cm} \let\jsc@invscale\bxjs@invscale @@ -1635,9 +1642,9 @@ \advance\leftskip .0628\linewidth \advance\rightskip .0628\linewidth \vskip\abovecaptionskip - \sbox\@tempboxa{#1\hskip1\jsZw\relax #2}% + \sbox\@tempboxa{#1\zwspace#2}% \ifdim \wd\@tempboxa <\hsize \centering \fi - #1\hskip1\jsZw\relax #2\par + #1\zwspace#2\par \vskip\belowcaptionskip}} \newif\if@jsc@warnoldfontcmd \@jsc@warnoldfontcmdtrue @@ -1672,7 +1679,7 @@ \fi \fi} \def\bxjs@warnoldfontcmd@final{% - \par + \global\let\bxjs@warnoldfontcmd@final\@empty \let\@tempa\@empty \def\do##1{% \expandafter\ifx\csname bxjs@ofc/\string##1\endcsname\relax\else @@ -1693,7 +1700,9 @@ only for compatibility% \@gobble}% \fi} -\AtEndDocument{\bxjs@warnoldfontcmd@final} +\def\bxjs@warnoldfontcmd@kick@final{% + \g@addto@macro\clearpage{\bxjs@warnoldfontcmd@final}} +\AtEndDocument{\bxjs@warnoldfontcmd@kick@final} \jsc@DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc} \jsc@DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt} \jsc@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -- cgit v1.2.3