Skip to content

Latest commit

 

History

History
158 lines (127 loc) · 6.02 KB

README-ja.md

File metadata and controls

158 lines (127 loc) · 6.02 KB

ifptex パッケージバンドル

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 を実行する。

ifptex パッケージ ― pTeX 系エンジンの判定

パッケージ読込

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 \ifstrictplatex` 不成立の場合はエラーを出す。
  • \RequireStrictupLaTeX \ifstrictuplatex` 不成立の場合はエラーを出す。
  • \RequirepOrupLaTeX \ifporuplatex` 不成立の場合はエラーを出す。
  • \RequireStrictupLaTeXAtLeast{<要求値>} \upTeXguessedversionの値が要求値より小さいまたは\ifstrictuplatex` が不成立の場合はエラーを出す。

ifuptex パッケージ ― ifptex の別名

ただ単に 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 モードでの読込に対応。
  • 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