summaryrefslogtreecommitdiff
path: root/language/japanese/BX/bxjscls
diff options
context:
space:
mode:
Diffstat (limited to 'language/japanese/BX/bxjscls')
-rw-r--r--language/japanese/BX/bxjscls/README-ja.md2
-rw-r--r--language/japanese/BX/bxjscls/README.md1
-rw-r--r--language/japanese/BX/bxjscls/bxjscls-manual.pdfbin382178 -> 382333 bytes
-rw-r--r--language/japanese/BX/bxjscls/bxjscls-manual.tex4
-rw-r--r--language/japanese/BX/bxjscls/bxjscls.dtx106
-rw-r--r--language/japanese/BX/bxjscls/bxjscls.pdfbin1173854 -> 1178317 bytes
6 files changed, 108 insertions, 5 deletions
diff --git a/language/japanese/BX/bxjscls/README-ja.md b/language/japanese/BX/bxjscls/README-ja.md
index 2797e7841b..e584fdfbaa 100644
--- a/language/japanese/BX/bxjscls/README-ja.md
+++ b/language/japanese/BX/bxjscls/README-ja.md
@@ -99,6 +99,8 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使
更新履歴
--------
+ * Version 2.5a 〈2021/05/18〉
+ - 新版の Pandoc テンプレートへの対策。
* Version 2.5 〈2021/02/02〉
- `plautopatch` オプションを追加。
* Version 2.4a 〈2021/01/27〉
diff --git a/language/japanese/BX/bxjscls/README.md b/language/japanese/BX/bxjscls/README.md
index 054e30c652..f54f4f6c56 100644
--- a/language/japanese/BX/bxjscls/README.md
+++ b/language/japanese/BX/bxjscls/README.md
@@ -89,6 +89,7 @@ This package is distributed under the BSD 2-Clause License.
Revision History
----------------
+ * Version 2.5a 〈2021/05/18〉
* Version 2.5 〈2021/02/02〉
* Version 2.4a 〈2021/01/27〉
* Version 2.4 〈2020/10/16〉
diff --git a/language/japanese/BX/bxjscls/bxjscls-manual.pdf b/language/japanese/BX/bxjscls/bxjscls-manual.pdf
index b06a1f069a..3b42fbe319 100644
--- a/language/japanese/BX/bxjscls/bxjscls-manual.pdf
+++ b/language/japanese/BX/bxjscls/bxjscls-manual.pdf
Binary files differ
diff --git a/language/japanese/BX/bxjscls/bxjscls-manual.tex b/language/japanese/BX/bxjscls/bxjscls-manual.tex
index 3a8825df3b..c13b35f031 100644
--- a/language/japanese/BX/bxjscls/bxjscls-manual.tex
+++ b/language/japanese/BX/bxjscls/bxjscls-manual.tex
@@ -11,8 +11,8 @@
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{2.5}
-\newcommand{\PkgDate}{2021/02/02}
+\newcommand{\PkgVersion}{2.5a}
+\newcommand{\PkgDate}{2021/05/18}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}\nobr#1\nobr\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
diff --git a/language/japanese/BX/bxjscls/bxjscls.dtx b/language/japanese/BX/bxjscls/bxjscls.dtx
index 58878b8072..92ea5eaa12 100644
--- a/language/japanese/BX/bxjscls/bxjscls.dtx
+++ b/language/japanese/BX/bxjscls/bxjscls.dtx
@@ -56,7 +56,8 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2021/02/02 v2.5 BXJS document classes]
+ [2021/05/18 v2.5a BXJS document classes]
+% [2021/02/02 v2.5 BXJS document classes]
% [2021/01/27 v2.4a BXJS document classes]
% [2020/10/16 v2.4 BXJS document classes]
% [2020/10/10 v2.3 BXJS document classes]
@@ -2315,8 +2316,9 @@
% \begin{macrocode}
\def\bxjs@@pandoc{pandoc}
\ifx\bxjs@jadriver\bxjs@@pandoc \ifx\bxjs@plautopatch@given\@undefined
+ \ifjsWitheTeX
\bxjs@plautopatchtrue
-\fi\fi
+\fi\fi\fi
\ifx j\jsEngine \ifbxjs@plautopatch
\RequirePackage{plautopatch}[2018/08/22]%v0.3
\fi\fi
@@ -9815,6 +9817,14 @@
% \begin{macrocode}
\ifbxjs@hyperref@enc
\bxjs@check@hyperref@unicode{false}
+% \end{macrocode}
+% 暫定的なナニカ。
+% \begin{macrocode}
+ \ifjsWithupTeX\ifbxjs@old@hook@system\else
+ \IfFileExists{pxjahyper-uni.def}{%
+ \AddToHook{package/after/hyperref}{\input{pxjahyper-uni.def}}
+ }{}
+ \fi\fi
\fi
% \end{macrocode}
%
@@ -10536,6 +10546,17 @@
\RequirePackage{bxjspandoc}
% \end{macrocode}
%
+% {\eTeX}ではない場合に警告を出す。
+% \Note 近い将来に{\eTeX}拡張を必須にする予定。
+% \begin{macrocode}
+\ifjsWitheTeX\else
+ \ClassWarningNoLine\bxjs@clsname
+ {!!!!!!!! WARNING !!!!!!!!\MessageBreak
+ This engine does not support e-TeX extension!\MessageBreak
+ Some feature might not work properly}
+\fi
+% \end{macrocode}
+%
% \begin{macro}{\bxjs@endpreamble@hook}
% |etoolbox| の |\AtEndPreamble| で実行されるBXJSクラス用のフック。
% \Note {\eTeX}以外では無効になる。
@@ -10543,12 +10564,18 @@
% \begin{macrocode}
\@onlypreamble\bxjs@endpreamble@hook
\let\bxjs@endpreamble@hook\@empty
+% \end{macrocode}
+% \end{macro}
+%
+% パッケージ読込。
+% \begin{macrocode}
+\RequirePackage{iftex}[2013/04/04]% v0.2
\ifjsWitheTeX
\RequirePackage{etoolbox}[2010/08/21]% v2.0
\AtEndPreamble{\bxjs@endpreamble@hook}
+ \RequirePackage{filehook}[2011/10/12]% v0.5d
\fi
% \end{macrocode}
-% \end{macro}
%
%^^A----------------
% \subsection{和文ドライバパラメタ}
@@ -11131,6 +11158,79 @@
% \end{macrocode}
%
%^^A----------------
+% \subsection{ifPDFTeXスイッチ}
+%
+% PandocモードではPandocの既定テンプレートを(無理やり){(u)\pTeX}に
+% 対応させることを目的にしている。
+%
+% 旧版のテンプレートでは|ifxetex|と|ifluatex|パッケージを読み込んだ
+% 上で「{\XeTeX}でも{\LuaTeX}でもないものは{pdf\TeX}」という前提の
+% 動作をしていた。
+% よって、{(u)\pTeX}に対応させる際には「{pdf\TeX}用の処理が実行される」
+% ことを前提にすればよかった。
+%
+% ところが、Pandocの2.12版では|iftex|パッケージが導入されて
+% 「{pdf\TeX}の判定を直接 |\ifPDFTeX| で行う」ように改修された。
+% このため、{(u)\pTeX}での実行でどのコードが実行されるかを予期する
+% ことが困難になってしまった。
+%
+% これに対処するため、
+% 「文書ファイルのプレアンブル実行中に限って |\ifPDFTeX| が
+% (実際とは異なり)真になるようにする」
+% という細工を施すことで、従来通り「{pdf\TeX}用の処理が実行される」
+% 前提が維持されるようにする。
+%
+% \begin{macrocode}
+\if j\jsEngine
+% \end{macrocode}
+% \begin{macro}{\bxjs@check@frontier}
+% |\bxjs@check@frontier\CS| は現在のパッケージ読込ネストレベルが
+% 丁度1であるときにのみ |\CS| を実行する。
+% \begin{macrocode}
+ \def\bxjs@check@frontier{%
+ \expandafter\bxjs@check@frontier@a\@currnamestack\noindent...\@nil}
+ \def\bxjs@check@frontier@a#1#2#3#4#5\@nil#6{%
+ \ifx\noindent#4#6\fi}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\bxjs@unforge@ifPDFTeX}
+% |\ifPDFTeX| を偽(正しい値)にする。
+% \begin{macrocode}
+ \@onlypreamble\bxjs@unforge@ifPDFTeX
+ \def\bxjs@unforge@ifPDFTeX{\global\bxjs@csletcs{ifPDFTeX}{iffalse}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\bxjs@forge@ifPDFTeX}
+% |\ifPDFTeX| を真(偽装した値)にする。
+% \begin{macrocode}
+ \@onlypreamble\bxjs@forge@ifPDFTeX
+ \def\bxjs@forge@ifPDFTeX{\global\bxjs@csletcs{ifPDFTeX}{iftrue}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\bxjs@unload@forge@ifPDFTeX}
+% |\ifPDFTeX| に対する細工を無効化する。
+% \begin{macrocode}
+ \def\bxjs@unload@forge@ifPDFTeX{%
+ \bxjs@unforge@ifPDFTeX
+ \global\let\bxjs@check@frontier\@gobble}
+% \end{macrocode}
+% \end{macro}
+% プレアンブル開始時は |\ifPDFTeX| は真で、終了時に偽装を無効化する。
+% |filehook| のフックで「パッケージ読込中は偽装を解除する」ことを
+% 実現している。
+% \begin{macrocode}
+ \jsAtEndOfClass{\bxjs@forge@ifPDFTeX}
+ \ifjsWitheTeX
+ \AtBeginOfEveryFile{\bxjs@check@frontier\bxjs@unforge@ifPDFTeX}%
+ \AtEndOfEveryFile{\bxjs@check@frontier\bxjs@forge@ifPDFTeX}%
+ \g@addto@macro\bxjs@endpreamble@hook{\bxjs@unload@forge@ifPDFTeX}
+ \else
+ \g@addto@macro\bxjs@begin@document@hook{\bxjs@unload@forge@ifPDFTeX}
+ \fi
+\fi
+% \end{macrocode}
+%
+%^^A----------------
% \subsection{完了}
% おしまい。
% \begin{macrocode}
diff --git a/language/japanese/BX/bxjscls/bxjscls.pdf b/language/japanese/BX/bxjscls/bxjscls.pdf
index 0b65682c12..1c6cc80fba 100644
--- a/language/japanese/BX/bxjscls/bxjscls.pdf
+++ b/language/japanese/BX/bxjscls/bxjscls.pdf
Binary files differ