summaryrefslogtreecommitdiff
path: root/macros/generic/ifptex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-09 03:02:39 +0000
committerNorbert Preining <norbert@preining.info>2023-04-09 03:02:39 +0000
commit5967b720d9dc6cac6adaa93e1479c61428db2eac (patch)
tree3dfdbd452768de21dfcf02acf20b531226add2f5 /macros/generic/ifptex
parent24c6de40a2869f5b6c213c2cf69e597f885f2b19 (diff)
CTAN sync 202304090302
Diffstat (limited to 'macros/generic/ifptex')
-rw-r--r--macros/generic/ifptex/LICENSE2
-rw-r--r--macros/generic/ifptex/README-ja.md42
-rw-r--r--macros/generic/ifptex/README.md41
-rw-r--r--macros/generic/ifptex/ifptex.sty50
-rw-r--r--macros/generic/ifptex/ifuptex.sty4
5 files changed, 118 insertions, 21 deletions
diff --git a/macros/generic/ifptex/LICENSE b/macros/generic/ifptex/LICENSE
index df92641d58..cfd0838618 100644
--- a/macros/generic/ifptex/LICENSE
+++ b/macros/generic/ifptex/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2008-2022 Takayuki YATO (aka. "ZR")
+Copyright (c) 2008-2023 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/generic/ifptex/README-ja.md b/macros/generic/ifptex/README-ja.md
index 591f746ea9..97cac9a3ec 100644
--- a/macros/generic/ifptex/README-ja.md
+++ b/macros/generic/ifptex/README-ja.md
@@ -54,17 +54,17 @@ LaTeX の場合:
pTeX-ng を使っているか。
※一応 `\ifstrictptexng`(`\ifstrictpTeXng`)もある。
* `\RequirepTeX`
- `\ifpTeX` 不成立の場合はエラーを出す。
+ `\ifptex` 不成立の場合はエラーを出す。
* `\RequireStirctpTeX`
- `\ifstrictpTeX` 不成立の場合はエラーを出す。
+ `\ifstrictptex` 不成立の場合はエラーを出す。
* `\RequireupTeX`
- `\ifupTeX` 不成立の場合はエラーを出す。
+ `\ifuptex` 不成立の場合はエラーを出す。
* `\RequireStrictupTeX`
- `\ifstrictupTeX` 不成立の場合はエラーを出す。
+ `\ifstrictuptex` 不成立の場合はエラーを出す。
* `\RequireNativeupTeX`
- `\ifnativeupTeX` 不成立の場合はエラーを出す。
+ `\ifnativeuptex` 不成立の場合はエラーを出す。
* `\RequirepTeXng`
- `\ifpTeXng` 不成立の場合はエラーを出す。
+ `\ifptexng` 不成立の場合はエラーを出す。
※一応 `\RequireStrictpTeXng` もある。
* `\upTeXguessedversion` [mathchardef-トークン]
upTeX のバージョンの推測値(を百倍した整数値)。
@@ -73,7 +73,28 @@ LaTeX の場合:
* `\RequireupTeXAtLeast{<要求値>}`
`\upTeXguessedversion` の値が要求値より小さい場合はエラーを出す。
* `\RequireNativeupTeXAtLeast{<要求値>}`
- `\upTeXguessedversion` の値が要求値より小さいまたは `\ifnativeupTeX`
+ `\upTeXguessedversion` の値が要求値より小さいまたは `\ifnativeuptex`
+ が不成立の場合はエラーを出す。
+
+以下に挙げる機能では(一般的な意味での)pLaTeX や upLaTeX が使われている
+かを判定する。ここでは upLaTeX は pLaTeX の一種とは見なされ**ない**。
+※フォーマットが LaTeX でない場合は不成立となる。
+※TeX エンジンが pTeX-ng である場合は不成立となる。
+
+ * `\ifstrictplatex`[if-トークン]
+ pLaTeX を使っているか。
+ * `\ifstrictuplatex`[if-トークン]
+ upLaTeX を使っているか。
+ * `\ifporuplatex`[if-トークン]
+ pLaTeX または upLaTeX を使っているか。
+ * \RequireStrictpLaTeX`
+ `\ifstrictplatex` 不成立の場合はエラーを出す。
+ * \RequireStrictupLaTeX`
+ `\ifstrictuplatex` 不成立の場合はエラーを出す。
+ * \RequirepOrupLaTeX`
+ `\ifporuplatex` 不成立の場合はエラーを出す。
+ * \RequireStrictupLaTeXAtLeast{<要求値>}`
+ `\upTeXguessedversion` の値が要求値より小さいまたは `\ifstrictuplatex`
が不成立の場合はエラーを出す。
@@ -97,6 +118,13 @@ LaTeX の場合:
更新履歴
--------
+ * Version 2.2c 〈2023/04/08〉
+ - `\RequireStrictupLaTeXAtLeast` を追加。
+ * Version 2.2b 〈2023/02/25〉
+ - `\ifporuplatex` と `\RequirepOrupLaTeX` を追加。
+ * Version 2.2a 〈2023/02/23〉
+ - (試験的) `\ifstrictplatex` と `\ifstrictuplatex` を(対応する
+ `Require...` 命令とともに)追加。
* Version 2.2 〈2022/04/03〉
- `\upTeXguessedversion` を正式にサポート。
- `\Require(Native)upTeXAtLeast` を追加。
diff --git a/macros/generic/ifptex/README.md b/macros/generic/ifptex/README.md
index 9f09ad8d85..424db07d62 100644
--- a/macros/generic/ifptex/README.md
+++ b/macros/generic/ifptex/README.md
@@ -57,17 +57,17 @@ NB: Here “e-TeX-ness” is not considered.
* `\ifptexng` (or `\ifpTeXng`) [if-token]
Whether the engine is pTeX-ng.
* `\RequirepTeX`
- Issues an error if `\ifpTeX` fails.
+ Issues an error if `\ifptex` fails.
* `\RequireStrictpTeX`
- Issues an error if `\ifstrictpTeX` fails.
+ Issues an error if `\ifstrictptex` fails.
* `\RequireupTeX`
- Issues an error if `\ifupTeX` fails.
+ Issues an error if `\ifuptex` fails.
* `\RequireStrictupTeX`
- Issues an error if `\ifstrictupTeX` fails.
+ Issues an error if `\ifstrictuptex` fails.
* `\RequireNativeupTeX`
- Issues an error if `\ifnativeupTeX` fails.
+ Issues an error if `\ifnativeuptex` fails.
* `\RequirepTeXng`
- Issues an error if `\ifpTeXng` fails.
+ Issues an error if `\ifptexng` fails.
* `\upTeXguessedversion` [mathchardef-token]
The guessed value of upTeX version; given as a 100-folded integer.
NB. On version 1.23 or later, the value is correct.
@@ -77,7 +77,27 @@ NB: Here “e-TeX-ness” is not considered.
required value.
* `\RequireNativeupTeXAtLeast{<required>}`
Issues an error either if `\upTeXguessedversion` is smaller than
- the given required value or if `\ifnativeupTeX` fails.
+ the given required value or if `\ifnativeuptex` fails.
+
+The following functions are for testing whether pLaTeX and/or upLaTeX
+(in their prevailing meaning) is used. There upLaTeX is not regarded as
+a kind of pLaTeX.
+
+ * `\ifstrictplatex` [if-token]
+ Whether pLaTeX is used.
+ * `\ifstrictuplatex` [if-token]
+ Whether upLaTeX is used.
+ * `\ifporuplatex` [if-token]
+ Whether pLaTeX or upLaTeX is used.
+ * `\RequireStrictpLaTeX`
+ Issues an error if `\ifstrictplatex` fails.
+ * `\RequireStrictupLaTeX`
+ Issues an error if `\ifstrictuplatex` fails.
+ * `\RequirepOrupLaTeX`
+ Issues an error if `\ifporuplatex` fails.
+ * `\RequireStrictupLaTeXAtLeast{<required>}`
+ Issues an error either if `\upTeXguessedversion` is smaller than
+ the given required value or if `\ifstrictuplatex` fails.
ifuptex Package ― Alias of ifptex
@@ -104,6 +124,13 @@ Just the same as the ifptex package.
Revision History
----------------
+ * Version 2.2c 〈2023/04/08〉
+ - Add `\RequireStrictupLaTeXAtLeast`.
+ * Version 2.2b 〈2023/02/25〉
+ - Add `\ifporuplatex` and `\RequirepOrupLaTeX`.
+ * Version 2.2a 〈2023/02/23〉
+ - Add `\ifstrictplatex` and `\ifstrictupltex`, along with their
+ `Require...` counterparts.
* Version 2.2 〈2022/04/03〉
- Officialy support `\upTeXguessedversion`.
- Add `\Require(Native)upTeXAtLeast`.
diff --git a/macros/generic/ifptex/ifptex.sty b/macros/generic/ifptex/ifptex.sty
index 604081118e..413f1569ef 100644
--- a/macros/generic/ifptex/ifptex.sty
+++ b/macros/generic/ifptex/ifptex.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'ifptex.sty'.
%%
-%% Copyright (c) 2008-2022 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2008-2023 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -61,21 +61,24 @@
\let\bxip@latex=f
\long\def\bxip@input#1\ProvidesPackage#2[#3]{%
\def\bxip@input\RequirePackage##1[##2]{\input ##1.sty\relax}%
+ \let\bxip@opt@input\bxip@input
\immediate\write-1{Package: #2 #3}}
\expandafter\bxip@input
\else %<*LaTeX>
\let\bxip@latex=t
\let\bxip@input\relax
+ \def\bxip@opt@input\RequirePackage#1[#2]{%
+ \IfFileExists{#1.sty}{\RequirePackage{#1}[#2]}{}}
\fi %</LaTeX>
%% package declaration
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ifptex}[2022/04/03 v2.2 pTeX checker]
+\ProvidesPackage{ifptex}[2023/04/08 v2.2c pTeX checker]
\def\bxip@pkgname{ifptex}
%% packages
\ifx\newif\@undefined\else
-\bxip@input
+\bxip@opt@input
\RequirePackage{iftex}[2013/04/04]% v0.2
\fi
@@ -142,7 +145,7 @@
%% \bxip@protected
\let\bxip@protected\protected
-\ifx\directlua\@undefined\else
+\ifx\directlua\@undefined\else % NB. this defines globally
\directlua{tex.enableprimitives('bxip@', {'protected'})}
\fi
\bxip@csletcs{bxip@protected}{bxip@protected}
@@ -316,6 +319,28 @@
%%<+> \ifstrictptexng == \ifstrictpTeXng
\global\bxip@csletcs{ifstrictptexng}{ifstrictpTeXng}
+%%<+> \ifstrictuplatex
+\global\bxip@false{ifstrictuplatex}
+\if t\bxip@latex \ifnativeuptex \ifstrictuptex
+ \global\bxip@true{ifstrictuplatex}
+\fi\fi\fi
+%%<+> \ifstrictplatex
+\global\bxip@false{ifstrictplatex}
+\if t\bxip@latex \ifnativeuptex\else \ifstrictuptex
+ \global\bxip@true{ifstrictplatex}
+\fi\fi\fi
+\if t\bxip@latex \ifstrictptex
+ \global\bxip@true{ifstrictplatex}
+\fi\fi
+%%<+> \ifporuplatex
+\global\bxip@false{ifporuplatex}
+\ifstrictplatex
+ \global\bxip@true{ifporuplatex}
+\fi
+\ifstrictuplatex
+ \global\bxip@true{ifporuplatex}
+\fi
+
%%<+> \RequirepTeX
\bxip@protected\gdef\RequirepTeX{%
\bxip@Require\ifpTeX{(u)pTeX}\fi}
@@ -337,6 +362,15 @@
%%<+> \RequireStrictpTeXng
\bxip@protected\gdef\RequireStrictpTeXng{%
\bxip@Require\ifstrictpTeXng{pTeX-ng}\fi}
+%%<+> \RequireStrictpLaTeX
+\bxip@protected\gdef\RequireStrictpLaTeX{%
+ \bxip@Require\ifstrictplatex{pLaTeX}\fi}
+%%<+> \RequireStrictupLaTeX
+\bxip@protected\gdef\RequireStrictupLaTeX{%
+ \bxip@Require\ifstrictuplatex{upLaTeX}\fi}
+%%<+> \RequirepOrupLaTeX
+\bxip@protected\gdef\RequirepOrupLaTeX{%
+ \bxip@Require\ifporuplatex{((u)pLaTeX}\fi}
%%<+> \RequireupTeXAtLeast{<min_version>}
\bxip@protected\gdef\RequireupTeXAtLeast#1{%
@@ -352,6 +386,13 @@
\else \bxip@err@required{upTeX in Unicode}%
\fi}
+%%<+> \RequireStrictupLaTeXAtLeast{<min_version>}
+\bxip@protected\gdef\RequireStrictupLaTeXAtLeast#1{%
+ \ifstrictuplatex
+ \bxip@check@version\upTeXguessedversion{#1}{upTeX in Unicode}%
+ \else \bxip@err@required{upLaTeX}%
+ \fi}
+
%--------------------------------------- deprecated stuffs
%%<+>D \ifNativeupTeX == \ifnativeupTeX
@@ -385,6 +426,7 @@
% clean up
\let\bxip@latex\@undefined
\let\bxip@input\@undefined
+\let\bxip@opt@input\@undefined
\let\bxip@protected\@undefined
\bxip@restore@codes
\endinput
diff --git a/macros/generic/ifptex/ifuptex.sty b/macros/generic/ifptex/ifuptex.sty
index 989c576782..0acbe3ac1b 100644
--- a/macros/generic/ifptex/ifuptex.sty
+++ b/macros/generic/ifptex/ifuptex.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'ifuptex.sty'.
%%
-%% Copyright (c) 2008-2022 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2008-2023 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -52,7 +52,7 @@
%% package declaration
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ifuptex}[2022/04/03 v2.2 pTeX checker]
+\ProvidesPackage{ifuptex}[2023/04/08 v2.2c pTeX checker]
%% load ifptex
\bxip@input