TeXLive で expl3 が 2015/07/15 版に更新されたあと、 (u)platex ではこのパッケージでエラーが出ます。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{minimal}
\usepackage{expl3}
\begin{document}
hoge
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! You can't use `\unless' before `\relax'.
<to be read again>
\pdftex_ifprimitive:D
l.1272 \etex_unless:D \pdftex_ifprimitive:D
\pdftex_mapfile:D
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
他のエンジンでは特にエラーは出ないようです。
KUROKI Yusuke への返信
Re: [expl3 / e(u)ptex] 2015/07/15 版 expl3 パッケージが、(u)platex で通らない
- KUROKI Yusuke の投稿
Akira Kakuto への返信
Re: [expl3 / e(u)ptex] 2015/07/15 版 expl3 パッケージが、(u)platex で通らない
- Akira Kakuto の投稿
(オフトピ気味ですが)
> \pdftex_ifprimitive:D
pdfTeX で定義されている \ifpdfprimitive ですね.
\ifpdfprimitive\CS が真になるのは,\CS の意味が
(同じ名前の)プリミティブになっているときです.例えば,
\let\font\relax
\def\jfont{\message{S}}
\ifpdfprimitive\font\message{T}\else\message{F}\fi
\ifpdfprimitive\relax\message{T}\else\message{F}\fi
\ifpdfprimitive\jfont\message{T}\else\message{F}\fi
\ifpdfprimitive\xfont\message{T}\else\message{F}\fi
を実行すると結果は F T F F となります.
対になるものとして,pdfTeX には \pdfprimitive というものがあり,
プリミティブを再定義していても,「本来の意味で」使うことができます.
\let\font\let
\pdfprimitive\font\X=cmbx10 % \X -> select font cmbx10
\font\Y=cmbx10 % \Y -> the letter c
\ifpdfprimitive, \pdfprimitive はこのように面白い命令なのですが,
* どういう場面で有用になってくるのか〔私には)よくわからない
* この 2 命令のためのコードが多く,TeX の内部にまで関わる
という理由から,(手元では一応形になっているのですが)
今すぐ e-(u)pTeX に追加するのにはちょっとためらいがあります.
> \pdftex_ifprimitive:D
pdfTeX で定義されている \ifpdfprimitive ですね.
\ifpdfprimitive\CS が真になるのは,\CS の意味が
(同じ名前の)プリミティブになっているときです.例えば,
\let\font\relax
\def\jfont{\message{S}}
\ifpdfprimitive\font\message{T}\else\message{F}\fi
\ifpdfprimitive\relax\message{T}\else\message{F}\fi
\ifpdfprimitive\jfont\message{T}\else\message{F}\fi
\ifpdfprimitive\xfont\message{T}\else\message{F}\fi
を実行すると結果は F T F F となります.
対になるものとして,pdfTeX には \pdfprimitive というものがあり,
プリミティブを再定義していても,「本来の意味で」使うことができます.
\let\font\let
\pdfprimitive\font\X=cmbx10 % \X -> select font cmbx10
\font\Y=cmbx10 % \Y -> the letter c
\ifpdfprimitive, \pdfprimitive はこのように面白い命令なのですが,
* どういう場面で有用になってくるのか〔私には)よくわからない
* この 2 命令のためのコードが多く,TeX の内部にまで関わる
という理由から,(手元では一応形になっているのですが)
今すぐ e-(u)pTeX に追加するのにはちょっとためらいがあります.