TeX: エンジンが pTeX(やその派生)であるかを判定する
ifptex パッケージは ifxetex や ifluatex 等のパッケージの pTeX 版に 相当する。ifuptex パッケージは ifptex の別名で、後方互換性のために 用意されている。
- TeX フォーマット: plain TeX、LaTeX、INI モード
- TeX エンジン: 不問
- DVI ウェア(DVI 出力時): 不問
- 依存パッケージ:
- iftex
TDS 1.1 に準拠するシステムの場合、以下のようにファイルを移動する:
*.sty
→ $TEXMF/tex/generic/ifptex
この後必要に応じて mktexlsr を実行する。
plain TeX の場合:
\input ifptex.sty
LaTeX の場合:
\usepackage{ifptex}
注意:e-TeX拡張の有無は区別されない。
\ifptex
(又は\ifpTeX
)[if-トークン]
pTeX(upTeX、pTeX-ng を含む)を使っているか。\ifstrictptex
(又は\ifstrictpTeX
)[if-トークン]
pTeX(upTeX、pTeX-ng ではなく)を使っているか。\ifuptex
(又は\ifupTeX
) [if-トークン]
upTeX(pTeX-ng を含む)を使っているか。\ifstrictuptex
(又は\ifstrictupTeX
) [if-トークン]
upTeX(pTeX-ng ではなく)を使っているか。\ifnativeuptex
(又は\ifnativeupTeX
) [if-トークン]
upTeX を内部文字コードが Unicode の状態で使っているか。\ifptexng
(又は\ifpTeXng
)[if-トークン]
pTeX-ng を使っているか。
※一応\ifstrictptexng
(\ifstrictpTeXng
)もある。\RequirepTeX
\ifptex
不成立の場合はエラーを出す。\RequireStirctpTeX
\ifstrictptex
不成立の場合はエラーを出す。\RequireupTeX
\ifuptex
不成立の場合はエラーを出す。\RequireStrictupTeX
\ifstrictuptex
不成立の場合はエラーを出す。\RequireNativeupTeX
\ifnativeuptex
不成立の場合はエラーを出す。\RequirepTeXng
\ifptexng
不成立の場合はエラーを出す。
※一応\RequireStrictpTeXng
もある。\upTeXguessedversion
[mathchardef-トークン]
upTeX のバージョンの推測値(を百倍した整数値)。
※1.23版以降では常に正確なバージョン値が得られる。
※upTeX 以外のエンジンでは 0 になる。\RequireupTeXAtLeast{<要求値>}
\upTeXguessedversion
の値が要求値より小さい場合はエラーを出す。\RequireNativeupTeXAtLeast{<要求値>}
\upTeXguessedversion
の値が要求値より小さいまたは\ifnativeuptex
が不成立の場合はエラーを出す。
以下に挙げる機能では(一般的な意味での)pLaTeX や upLaTeX が使われている
かを判定する。ここでは upLaTeX は pLaTeX の一種とは見なされない。
※フォーマットが LaTeX でない場合は不成立となる。
※TeX エンジンが pTeX-ng である場合は不成立となる。
\ifstrictplatex
[if-トークン]
pLaTeX を使っているか。\ifstrictuplatex
[if-トークン]
upLaTeX を使っているか。\ifporuplatex
[if-トークン]
pLaTeX または upLaTeX を使っているか。- \RequireStrictpLaTeX
- \RequireStrictupLaTeX
- \RequirepOrupLaTeX
- \RequireStrictupLaTeXAtLeast{<要求値>}
の値が要求値より小さいまたは
\ifstrictuplatex` が不成立の場合はエラーを出す。
ただ単に ifptex を読み込むだけのパッケージであり、0.2 版との後方互換性の ために用意されている。
plain TeX の場合:
\input ifuptex.sty
LaTeX の場合:
\usepackage{ifuptex}
- 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
を追加。
- Version 2.1 〈2021/07/01〉
- 将来の版の pTeX に対応させる。
- とある非公開機能を削除。
- Version 2.0 〈2019/11/01〉
- LaTeX チームによる新しい iftex パッケージと動作を整合させる。
- 特に、iftex を中で読み込むようにする。
\if...tex
について常に小文字のみの名前を用意する。
- INI モードでの読込に対応。
- LaTeX チームによる新しい iftex パッケージと動作を整合させる。
- Version 1.2c 〈2017/10/04〉
- バグ修正。
- Version 1.2b 〈2017/09/20〉
- バグ修正。
- Version 1.2a 〈2017/09/15〉
- (試験的)
漢字コード=UTF-8
機能を追加。
- (試験的)
- Version 1.2 〈2017/09/09〉
\ifstrictupTeX
、\RequireStrictupTeX
を追加。
- Version 1.1 〈2017/05/04〉
- 細かい調整。
- Version 1.0 〈2013/04/29〉
- 独立のバンドルに移動。
- パッケージ名を ifptex に変更して、pTeX 判定機能を付加。
- (試験的) upTeX の版判定機能を追加。
- Version 0.2 〈2008/03/14〉
- 最初の公開版。
Takayuki YATO (aka. "ZR")
https://github.com/zr-tex8r