From b5dbda049c2bf74cc5506b25d92d7c03fb8cdc6a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 12 Feb 2018 22:55:46 +0000 Subject: bxjscls (12feb18) git-svn-id: svn://tug.org/texlive/trunk@46612 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bxjscls/README-ja.md | 2 + Master/texmf-dist/doc/latex/bxjscls/README.md | 1 + .../doc/latex/bxjscls/bxjscls-manual.pdf | Bin 615230 -> 617140 bytes .../doc/latex/bxjscls/bxjscls-manual.tex | 22 +++- Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf | Bin 1015405 -> 1018337 bytes Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx | 116 ++++++++++++++++++--- .../texmf-dist/tex/latex/bxjscls/bxjsarticle.cls | 47 +++++++-- Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls | 29 +++++- 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 | 20 +++- Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty | 2 +- Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls | 29 +++++- Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls | 47 +++++++-- 17 files changed, 273 insertions(+), 52 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md index acf436cd77f..7c3f5fa3b6f 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md +++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md @@ -98,6 +98,8 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使 更新履歴 -------- + * Version 1.7c 〈2018/02/04〉 + - オプション `label-section` を新設。 * Version 1.7b 〈2018/01/28〉 - 和文パラメタ `units` を新設。 - バグ修正。 diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md index cabed00d4ea..9a0cdf9a464 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.7c 〈2018/02/04〉 * Version 1.7b 〈2018/01/28〉 * Version 1.7a 〈2017/12/09〉 * Version 1.7 〈2017/10/21〉 diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf index f277ef06b9f..19cbaa6afc3 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 f0d4a993891..b70c9cc2bb4 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}{v1.7b} -\newcommand{\PkgDate}{2018/01/28} +\newcommand{\PkgVersion}{v1.7c} +\newcommand{\PkgDate}{2018/02/04} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} @@ -792,6 +792,24 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション \end{quote} \item |fix-at-cmd=|\Meta{真偽値}\Means |\@| 命令に対してJSクラスと同様の拡張を施すか否か。 +\item |label-section=|\Meta{値}\Means + 節番号の書式出力、特に + 「|\pre|/|postsectionname|」 + 「\Pkg{bxjsarticle}での付録部における |\appendixname|」 + の語句の付加の方法を選択する。 + \begin{itemize} + \item |compat|(既定)\Means + JSクラスと同じ実装を用いる。 + この場合、節のカウンタの書式(|\thesection|)そのものに語句が + 付加されるため、|\thesection| を参照する他のカウンタ書式が + 奇妙になる可能性がある。 + \item |modern|\Means + 節のカウンタの書式(|\thesection|)には語句の付加を行わず、 + 実際にそれが節番号として出力される際に語句を付加する。 + \item |none|\Means + 節番号に対する語句の付加を抑止する。 + 欧文・和文の標準文書クラスと同等になる。 + \end{itemize} \item |layout=|\Meta{値}\Means レイアウトの変種を選択する。 現状では、過去の版との互換性を維持するために用いられている。 diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf index 095a777e392..a11b409f78b 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 18662da1b67..b95badcba4a 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} % - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c 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] @@ -1841,6 +1842,20 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\bxjs@label@section} +% |label-section| の指定値。 +% \begin{macrocode} +\chardef\bxjs@label@section@none=0 +\chardef\bxjs@label@section@compat=1 +\chardef\bxjs@label@section@modern=2 +\let\bxjs@label@section\bxjs@label@section@compat +\def\bxjs@kv@labelsection@none{\let\bxjs@label@section\bxjs@label@section@none} +\def\bxjs@kv@labelsection@compat{\let\bxjs@label@section\bxjs@label@section@compat} +\def\bxjs@kv@labelsection@modern{\let\bxjs@label@section\bxjs@label@section@modern} +\define@key{bxjs}{label-section}{\bxjs@set@keyval{labelsection}{#1}{}} +% \end{macrocode} +% \end{macro} +% % \end{ZRnote} % % \paragraph{オプションの実行} @@ -4143,10 +4158,10 @@ \hbox to \fullwidth{{\rightmark}\hfil\textbf{\thepage}}}\hss}% \let\@mkboth\markboth \def\sectionmark##1{\markboth{% - \ifnum \c@secnumdepth >\z@ \thesection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\z@ \bxjs@label@sect{section}\hskip1\jsZw\fi ##1}{}}% \def\subsectionmark##1{\markright{% - \ifnum \c@secnumdepth >\@ne \thesubsection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\@ne \bxjs@label@sect{subsection}\hskip1\jsZw\fi ##1}}% } \else % if not twoside @@ -4157,7 +4172,7 @@ \hbox to \fullwidth{{\rightmark}\hfil\textbf{\thepage}}}\hss}% \let\@mkboth\markboth \def\sectionmark##1{\markright{% - \ifnum \c@secnumdepth >\z@ \thesection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\z@ \bxjs@label@sect{section}\hskip1\jsZw\fi ##1}}} \fi % @@ -4199,7 +4214,7 @@ \fi ##1}{}}% \def\sectionmark##1{\markright{% - \ifnum \c@secnumdepth >\z@ \thesection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\z@ \bxjs@label@sect{section}\hskip1\jsZw\fi ##1}}}% % % \end{macrocode} @@ -4553,6 +4568,44 @@ % % \subsection{章・節} % +% \begin{ZRnote} +% ムニャムニャ……。 +% \begin{macro}{\bxjs@label@sect} +% 節付 |#1| の番号を出力する。 +% 節付 |XXX| に対して、|\labelXXX| が定義済ならそれが出力書式を表す。 +% 未定義ならばカウンタの出力書式 |\theXXX| が使われる。 +% \begin{macrocode} +\def\bxjs@label@sect#1{% + \expandafter\ifx\csname label#1\endcsname\relax + \csname the#1\endcsname + \else \csname label#1\endcsname + \fi} +\def\@seccntformat#1{\bxjs@label@sect{#1}\quad} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@secapp} +% 節番号の接頭辞。 +% \begin{macro}{\@secpos} +% 節番号の接尾辞。 +% \begin{macrocode} +\ifnum\bxjs@label@section=\bxjs@label@section@compat\else +\def\@secapp{\presectionname} +\def\@secpos{\postsectionname} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\labelsection} +% 節番号の出力書式。 +% \begin{macrocode} +\ifnum\bxjs@label@section=\bxjs@label@section@modern +\def\labelsection{\@secapp\thesection\@secpos} +\fi +% \end{macrocode} +% \end{macro} +% +% \end{ZRnote} +% % \paragraph{構成要素} % % |\@startsection| マクロは6個の必須引数と,オプションとして |*| と @@ -4661,7 +4714,7 @@ \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% + \protect\numberline{\bxjs@label@sect{#1}}% \fi #7}}% 目次にフルネームを載せるなら #8 \else @@ -4675,7 +4728,7 @@ \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% + \protect\numberline{\bxjs@label@sect{#1}}% \fi #7}% 目次にフルネームを載せるならここは #8 \fi @@ -4829,9 +4882,15 @@ % % \begin{macrocode} \renewcommand{\thepart}{\@Roman\c@part} -%% \renewcommand{\thesection}{\@arabic\c@section} -%\renewcommand{\thesection}{\presectionname\@arabic\c@section\postsectionname} -%\renewcommand{\thesubsection}{\@arabic\c@section.\@arabic\c@subsection} +%<*!book&!report> +\ifnum\bxjs@label@section=\bxjs@label@section@compat +\renewcommand{\thesection}{\presectionname\@arabic\c@section\postsectionname} +\renewcommand{\thesubsection}{\@arabic\c@section.\@arabic\c@subsection} +\else +\renewcommand{\thesection}{\@arabic\c@section} +\renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection} +\fi +% %<*book|report> \renewcommand{\thechapter}{\@arabic\c@chapter} \renewcommand{\thesection}{\thechapter.\@arabic\c@section} @@ -5900,11 +5959,17 @@ \newcommand{\appendix}{\par \setcounter{section}{0}% \setcounter{subsection}{0}% + \ifnum\bxjs@label@section=\bxjs@label@section@compat \gdef\presectionname{\appendixname}% \gdef\postsectionname{}% % \gdef\thesection{\@Alph\c@section}% [2003-03-02] \gdef\thesection{\presectionname\@Alph\c@section\postsectionname}% - \gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}} + \gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}% + \else + \gdef\@secapp{\appendixname}% + \gdef\@secpos{}% + \gdef\thesection{\@Alph\c@section}% + \fi} % %<*book|report> \newcommand{\appendix}{\par @@ -8637,10 +8702,17 @@ % % \paragraph{和文用単位のサポート} % +% エンジンが{(u)\pTeX}の場合は |units| を無効にする。 +% \begin{macrocode} +\if j\jsEngine + \bxjs@jp@unitsfalse +\fi +% \end{macrocode} +% % |units| パラメタが有効の場合は、|bxcalc| パッケージを読みこんで、 % |\usepTeXunits| 命令を実行する。 % \begin{macrocode} -\ifbxjs@jp@units\if j\jsEngine\else +\ifbxjs@jp@units \IfFileExists{bxcalc.sty}{% \RequirePackage{bxcalc}[2018/01/28]%v1.0a \ifx\usepTeXunits\@undefined @@ -8654,8 +8726,22 @@ {Cannot support pTeX units (zw etc.), since\MessageBreak the package 'bxcalc' is unavailable}% } -\fi\fi +\fi +% \end{macrocode} +% +% \begin{macro}{\bxjs@let@lenexpr} +% |\bxjs@let@lenexpr\CS{|\Meta{長さ式}|}|\Means +% 長さ式に |bxcalc| の展開を適用した結果のトークン列を |\CS| に代入する。 +% \begin{macrocode} +\ifbxjs@jp@units + \def\bxjs@let@lenexpr#1#2{% + \edef#1{#2}% + \expandafter\CUXParseExpr\expandafter#1\expandafter{#1}} +\else + \def\bxjs@let@lenexpr{\edef} +\fi % \end{macrocode} +% \end{macro} % % \paragraph{共通命令の実装} % @@ -8801,7 +8887,7 @@ % 和文間空白の量を設定する。 % \begin{macrocode} \newcommand*\setkanjiskip[1]{% - \edef\bxjs@kanjiskip{#1}% + \bxjs@let@lenexpr\bxjs@kanjiskip{#1}% \bxjs@reset@kanjiskip} % \end{macrocode} % \end{macro} @@ -8860,7 +8946,7 @@ % \begin{macrocode} \def\bxjs@xkanjiskip{0pt} \newcommand*\setxkanjiskip[1]{% - \edef\bxjs@xkanjiskip{#1}% + \bxjs@let@lenexpr\bxjs@xkanjiskip{#1}% \bxjs@reset@xkanjiskip} \newcommand*\getxkanjiskip{% \bxjs@xkanjiskip} diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls index 710ebf42235..99867ff3506 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c BXJS document classes] %% このファイルは日本語文字を含みます. \def\bxjs@clsname{bxjsarticle} \newif\ifjsc@needsp@tch @@ -566,6 +566,14 @@ \def\bxjs@kv@everyparhook@compat{\let\bxjs@everyparhook\bxjs@everyparhook@compat} \def\bxjs@kv@everyparhook@modern{\let\bxjs@everyparhook\bxjs@everyparhook@modern} \define@key{bxjs}{everyparhook}{\bxjs@set@keyval{everyparhook}{#1}{}} +\chardef\bxjs@label@section@none=0 +\chardef\bxjs@label@section@compat=1 +\chardef\bxjs@label@section@modern=2 +\let\bxjs@label@section\bxjs@label@section@compat +\def\bxjs@kv@labelsection@none{\let\bxjs@label@section\bxjs@label@section@none} +\def\bxjs@kv@labelsection@compat{\let\bxjs@label@section\bxjs@label@section@compat} +\def\bxjs@kv@labelsection@modern{\let\bxjs@label@section\bxjs@label@section@modern} +\define@key{bxjs}{label-section}{\bxjs@set@keyval{labelsection}{#1}{}} \let\bxjs@ltx@removeelement\@removeelement \def\@removeelement#1#2#3{% \def\reserved@a{#2}% @@ -1163,10 +1171,10 @@ \hbox to \fullwidth{{\rightmark}\hfil\textbf{\thepage}}}\hss}% \let\@mkboth\markboth \def\sectionmark##1{\markboth{% - \ifnum \c@secnumdepth >\z@ \thesection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\z@ \bxjs@label@sect{section}\hskip1\jsZw\fi ##1}{}}% \def\subsectionmark##1{\markright{% - \ifnum \c@secnumdepth >\@ne \thesubsection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\@ne \bxjs@label@sect{subsection}\hskip1\jsZw\fi ##1}}% } \else % if not twoside @@ -1177,7 +1185,7 @@ \hbox to \fullwidth{{\rightmark}\hfil\textbf{\thepage}}}\hss}% \let\@mkboth\markboth \def\sectionmark##1{\markright{% - \ifnum \c@secnumdepth >\z@ \thesection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\z@ \bxjs@label@sect{section}\hskip1\jsZw\fi ##1}}} \fi \def\ps@myheadings{% @@ -1328,6 +1336,19 @@ \ifvoid\@abstractbox\else\centerline{\box\@abstractbox}\vskip1.5em\fi } \fi +\def\bxjs@label@sect#1{% + \expandafter\ifx\csname label#1\endcsname\relax + \csname the#1\endcsname + \else \csname label#1\endcsname + \fi} +\def\@seccntformat#1{\bxjs@label@sect{#1}\quad} +\ifnum\bxjs@label@section=\bxjs@label@section@compat\else +\def\@secapp{\presectionname} +\def\@secpos{\postsectionname} +\fi +\ifnum\bxjs@label@section=\bxjs@label@section@modern +\def\labelsection{\@secapp\thesection\@secpos} +\fi \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par @@ -1371,7 +1392,7 @@ \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% + \protect\numberline{\bxjs@label@sect{#1}}% \fi #7}}% 目次にフルネームを載せるなら #8 \else @@ -1384,7 +1405,7 @@ \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% + \protect\numberline{\bxjs@label@sect{#1}}% \fi #7}% 目次にフルネームを載せるならここは #8 \fi @@ -1440,9 +1461,13 @@ \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph] \renewcommand{\thepart}{\@Roman\c@part} -% \renewcommand{\thesection}{\@arabic\c@section} +\ifnum\bxjs@label@section=\bxjs@label@section@compat \renewcommand{\thesection}{\presectionname\@arabic\c@section\postsectionname} \renewcommand{\thesubsection}{\@arabic\c@section.\@arabic\c@subsection} +\else +\renewcommand{\thesection}{\@arabic\c@section} +\renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection} +\fi \renewcommand{\thesubsubsection}{% \thesubsection.\@arabic\c@subsubsection} \renewcommand{\theparagraph}{% @@ -1710,10 +1735,16 @@ \newcommand{\appendix}{\par \setcounter{section}{0}% \setcounter{subsection}{0}% + \ifnum\bxjs@label@section=\bxjs@label@section@compat \gdef\presectionname{\appendixname}% \gdef\postsectionname{}% \gdef\thesection{\presectionname\@Alph\c@section\postsectionname}% - \gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}} + \gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}% + \else + \gdef\@secapp{\appendixname}% + \gdef\@secpos{}% + \gdef\thesection{\@Alph\c@section}% + \fi} \setlength\arraycolsep{5\p@?} \setlength\tabcolsep{6\p@?} \setlength\arrayrulewidth{.4\p@} diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls index 2c810c8d032..c1b656e1aaf 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c BXJS document classes] %% このファイルは日本語文字を含みます. \def\bxjs@clsname{bxjsbook} \newif\ifjsc@needsp@tch @@ -575,6 +575,14 @@ \def\bxjs@kv@everyparhook@compat{\let\bxjs@everyparhook\bxjs@everyparhook@compat} \def\bxjs@kv@everyparhook@modern{\let\bxjs@everyparhook\bxjs@everyparhook@modern} \define@key{bxjs}{everyparhook}{\bxjs@set@keyval{everyparhook}{#1}{}} +\chardef\bxjs@label@section@none=0 +\chardef\bxjs@label@section@compat=1 +\chardef\bxjs@label@section@modern=2 +\let\bxjs@label@section\bxjs@label@section@compat +\def\bxjs@kv@labelsection@none{\let\bxjs@label@section\bxjs@label@section@none} +\def\bxjs@kv@labelsection@compat{\let\bxjs@label@section\bxjs@label@section@compat} +\def\bxjs@kv@labelsection@modern{\let\bxjs@label@section\bxjs@label@section@modern} +\define@key{bxjs}{label-section}{\bxjs@set@keyval{labelsection}{#1}{}} \let\bxjs@ltx@removeelement\@removeelement \def\@removeelement#1#2#3{% \def\reserved@a{#2}% @@ -1206,7 +1214,7 @@ \fi ##1}{}}% \def\sectionmark##1{\markright{% - \ifnum \c@secnumdepth >\z@ \thesection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\z@ \bxjs@label@sect{section}\hskip1\jsZw\fi ##1}}}% \def\ps@myheadings{% \let\@oddfoot\@empty\let\@evenfoot\@empty @@ -1355,6 +1363,19 @@ \par\vskip 1.5em } \fi +\def\bxjs@label@sect#1{% + \expandafter\ifx\csname label#1\endcsname\relax + \csname the#1\endcsname + \else \csname label#1\endcsname + \fi} +\def\@seccntformat#1{\bxjs@label@sect{#1}\quad} +\ifnum\bxjs@label@section=\bxjs@label@section@compat\else +\def\@secapp{\presectionname} +\def\@secpos{\postsectionname} +\fi +\ifnum\bxjs@label@section=\bxjs@label@section@modern +\def\labelsection{\@secapp\thesection\@secpos} +\fi \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par @@ -1398,7 +1419,7 @@ \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% + \protect\numberline{\bxjs@label@sect{#1}}% \fi #7}}% 目次にフルネームを載せるなら #8 \else @@ -1411,7 +1432,7 @@ \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% + \protect\numberline{\bxjs@label@sect{#1}}% \fi #7}% 目次にフルネームを載せるならここは #8 \fi diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty index 2e167e1a0ef..24395431610 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c 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 d314fb6f334..619c62af509 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c 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 a6ea021beac..f9d90b5ce1a 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c 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 88fd3452075..721d7b14da7 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c 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 1ceba42b7e7..48778b0b716 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c 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 ef8c0b5989b..2485dcf0910 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c BXJS document classes] %% このファイルは日本語文字を含みます \input{bxjsja-minimal.def} \bxjs@simplejasetupfalse @@ -44,7 +44,10 @@ \g@addto@macro\@classoptionslist{,jis2004} \PassOptionsToPackage{jis2004}{otf} \fi -\ifbxjs@jp@units\if j\jsEngine\else +\if j\jsEngine + \bxjs@jp@unitsfalse +\fi +\ifbxjs@jp@units \IfFileExists{bxcalc.sty}{% \RequirePackage{bxcalc}[2018/01/28]%v1.0a \ifx\usepTeXunits\@undefined @@ -58,7 +61,14 @@ {Cannot support pTeX units (zw etc.), since\MessageBreak the package 'bxcalc' is unavailable}% } -\fi\fi +\fi +\ifbxjs@jp@units + \def\bxjs@let@lenexpr#1#2{% + \edef#1{#2}% + \expandafter\CUXParseExpr\expandafter#1\expandafter{#1}} +\else + \def\bxjs@let@lenexpr{\edef} +\fi \ifjsWitheTeX \@tempdima=0.25mm \protected\edef\jQ{\dimexpr\the\@tempdima\relax} @@ -124,7 +134,7 @@ \@defaultunits\@tempdima\bxjs@tmpb pt\relax\@nnil} \def\bxjs@kanjiskip{0pt} \newcommand*\setkanjiskip[1]{% - \edef\bxjs@kanjiskip{#1}% + \bxjs@let@lenexpr\bxjs@kanjiskip{#1}% \bxjs@reset@kanjiskip} \newcommand*\getkanjiskip{% \bxjs@kanjiskip} @@ -143,7 +153,7 @@ \bxjs@apply@kanjiskip} \def\bxjs@xkanjiskip{0pt} \newcommand*\setxkanjiskip[1]{% - \edef\bxjs@xkanjiskip{#1}% + \bxjs@let@lenexpr\bxjs@xkanjiskip{#1}% \bxjs@reset@xkanjiskip} \newcommand*\getxkanjiskip{% \bxjs@xkanjiskip} diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty b/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty index da67cf9921c..ad454c36832 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c 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 a559b5dab58..3d794a67c70 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c BXJS document classes] %% このファイルは日本語文字を含みます. \def\bxjs@clsname{bxjsreport} \newif\ifjsc@needsp@tch @@ -574,6 +574,14 @@ \def\bxjs@kv@everyparhook@compat{\let\bxjs@everyparhook\bxjs@everyparhook@compat} \def\bxjs@kv@everyparhook@modern{\let\bxjs@everyparhook\bxjs@everyparhook@modern} \define@key{bxjs}{everyparhook}{\bxjs@set@keyval{everyparhook}{#1}{}} +\chardef\bxjs@label@section@none=0 +\chardef\bxjs@label@section@compat=1 +\chardef\bxjs@label@section@modern=2 +\let\bxjs@label@section\bxjs@label@section@compat +\def\bxjs@kv@labelsection@none{\let\bxjs@label@section\bxjs@label@section@none} +\def\bxjs@kv@labelsection@compat{\let\bxjs@label@section\bxjs@label@section@compat} +\def\bxjs@kv@labelsection@modern{\let\bxjs@label@section\bxjs@label@section@modern} +\define@key{bxjs}{label-section}{\bxjs@set@keyval{labelsection}{#1}{}} \let\bxjs@ltx@removeelement\@removeelement \def\@removeelement#1#2#3{% \def\reserved@a{#2}% @@ -1188,7 +1196,7 @@ \fi ##1}{}}% \def\sectionmark##1{\markright{% - \ifnum \c@secnumdepth >\z@ \thesection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\z@ \bxjs@label@sect{section}\hskip1\jsZw\fi ##1}}}% \def\ps@myheadings{% \let\@oddfoot\@empty\let\@evenfoot\@empty @@ -1337,6 +1345,19 @@ \par\vskip 1.5em } \fi +\def\bxjs@label@sect#1{% + \expandafter\ifx\csname label#1\endcsname\relax + \csname the#1\endcsname + \else \csname label#1\endcsname + \fi} +\def\@seccntformat#1{\bxjs@label@sect{#1}\quad} +\ifnum\bxjs@label@section=\bxjs@label@section@compat\else +\def\@secapp{\presectionname} +\def\@secpos{\postsectionname} +\fi +\ifnum\bxjs@label@section=\bxjs@label@section@modern +\def\labelsection{\@secapp\thesection\@secpos} +\fi \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par @@ -1380,7 +1401,7 @@ \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% + \protect\numberline{\bxjs@label@sect{#1}}% \fi #7}}% 目次にフルネームを載せるなら #8 \else @@ -1393,7 +1414,7 @@ \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% + \protect\numberline{\bxjs@label@sect{#1}}% \fi #7}% 目次にフルネームを載せるならここは #8 \fi diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls index da673d9f45b..211b0c71777 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} - [2018/01/28 v1.7b BXJS document classes] + [2018/02/04 v1.7c BXJS document classes] %% このファイルは日本語文字を含みます. \def\bxjs@clsname{bxjsslide} \newif\ifjsc@needsp@tch @@ -566,6 +566,14 @@ \def\bxjs@kv@everyparhook@compat{\let\bxjs@everyparhook\bxjs@everyparhook@compat} \def\bxjs@kv@everyparhook@modern{\let\bxjs@everyparhook\bxjs@everyparhook@modern} \define@key{bxjs}{everyparhook}{\bxjs@set@keyval{everyparhook}{#1}{}} +\chardef\bxjs@label@section@none=0 +\chardef\bxjs@label@section@compat=1 +\chardef\bxjs@label@section@modern=2 +\let\bxjs@label@section\bxjs@label@section@compat +\def\bxjs@kv@labelsection@none{\let\bxjs@label@section\bxjs@label@section@none} +\def\bxjs@kv@labelsection@compat{\let\bxjs@label@section\bxjs@label@section@compat} +\def\bxjs@kv@labelsection@modern{\let\bxjs@label@section\bxjs@label@section@modern} +\define@key{bxjs}{label-section}{\bxjs@set@keyval{labelsection}{#1}{}} \let\bxjs@ltx@removeelement\@removeelement \def\@removeelement#1#2#3{% \def\reserved@a{#2}% @@ -1161,10 +1169,10 @@ \hbox to \fullwidth{{\rightmark}\hfil\textbf{\thepage}}}\hss}% \let\@mkboth\markboth \def\sectionmark##1{\markboth{% - \ifnum \c@secnumdepth >\z@ \thesection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\z@ \bxjs@label@sect{section}\hskip1\jsZw\fi ##1}{}}% \def\subsectionmark##1{\markright{% - \ifnum \c@secnumdepth >\@ne \thesubsection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\@ne \bxjs@label@sect{subsection}\hskip1\jsZw\fi ##1}}% } \else % if not twoside @@ -1175,7 +1183,7 @@ \hbox to \fullwidth{{\rightmark}\hfil\textbf{\thepage}}}\hss}% \let\@mkboth\markboth \def\sectionmark##1{\markright{% - \ifnum \c@secnumdepth >\z@ \thesection \hskip1\jsZw\fi + \ifnum \c@secnumdepth >\z@ \bxjs@label@sect{section}\hskip1\jsZw\fi ##1}}} \fi \def\ps@myheadings{% @@ -1326,6 +1334,19 @@ \ifvoid\@abstractbox\else\centerline{\box\@abstractbox}\vskip1.5em\fi } \fi +\def\bxjs@label@sect#1{% + \expandafter\ifx\csname label#1\endcsname\relax + \csname the#1\endcsname + \else \csname label#1\endcsname + \fi} +\def\@seccntformat#1{\bxjs@label@sect{#1}\quad} +\ifnum\bxjs@label@section=\bxjs@label@section@compat\else +\def\@secapp{\presectionname} +\def\@secpos{\postsectionname} +\fi +\ifnum\bxjs@label@section=\bxjs@label@section@modern +\def\labelsection{\@secapp\thesection\@secpos} +\fi \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par @@ -1369,7 +1390,7 @@ \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% + \protect\numberline{\bxjs@label@sect{#1}}% \fi #7}}% 目次にフルネームを載せるなら #8 \else @@ -1382,7 +1403,7 @@ \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% + \protect\numberline{\bxjs@label@sect{#1}}% \fi #7}% 目次にフルネームを載せるならここは #8 \fi @@ -1438,9 +1459,13 @@ \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph] \renewcommand{\thepart}{\@Roman\c@part} -% \renewcommand{\thesection}{\@arabic\c@section} +\ifnum\bxjs@label@section=\bxjs@label@section@compat \renewcommand{\thesection}{\presectionname\@arabic\c@section\postsectionname} \renewcommand{\thesubsection}{\@arabic\c@section.\@arabic\c@subsection} +\else +\renewcommand{\thesection}{\@arabic\c@section} +\renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection} +\fi \renewcommand{\thesubsubsection}{% \thesubsection.\@arabic\c@subsubsection} \renewcommand{\theparagraph}{% @@ -1708,10 +1733,16 @@ \newcommand{\appendix}{\par \setcounter{section}{0}% \setcounter{subsection}{0}% + \ifnum\bxjs@label@section=\bxjs@label@section@compat \gdef\presectionname{\appendixname}% \gdef\postsectionname{}% \gdef\thesection{\presectionname\@Alph\c@section\postsectionname}% - \gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}} + \gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}% + \else + \gdef\@secapp{\appendixname}% + \gdef\@secpos{}% + \gdef\thesection{\@Alph\c@section}% + \fi} \setlength\arraycolsep{5\p@?} \setlength\tabcolsep{6\p@?} \setlength\arrayrulewidth{.4\p@} -- cgit v1.2.3