Skip to content

Commit

Permalink
ptex-guide-en.tex: thanks to @zr-tex8r (#6)
Browse files Browse the repository at this point in the history
  • Loading branch information
aminophen committed Oct 22, 2019
1 parent 348b42f commit ee1e99a
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion ptex-guide-en.tex
Original file line number Diff line number Diff line change
Expand Up @@ -334,8 +334,26 @@ \subsection{Number of registers and marks}
\eTeX\ and \upTeX, but currently does not adopt \code{fam256.ch}
so it has the same number of registers and mark classes as \eTeX.}

%%% 数式ファミリの数
\subsection{Number of math families}

In \pTeX\ and \upTeX,
the number of math fonts is restricted to 16, as with Knuthian \TeX.
In \epTeX\ and \eupTeX, a change file \code{fam256.ch},
which is derived from \OMEGA, extends the upper limit to 256.
As a consequence, \epTeX\ and \eupTeX\ allows 256 math fonts,
each of which can contain 256 characters.\footnote{\OMEGA\ allows
256 math fonts, each of which can contain 65536 characters.}

For \pLaTeX/\upLaTeX\ users to use more than 16 math fonts,

This comment has been minimized.

Copy link
@davidcarlisle

davidcarlisle Oct 22, 2019

I haven't tested in *ptex but the way it's supposed to work in the base latex math setup (ie without unicode-math) is that if \e@mathgroup@top is set to 256 (as it seems to be here) then you can allocate more than 16 math alphabets \mathcal etc without needing any extension package, however symbol fonts are restricted to 16 as DeclareMathSymbol etc still use the standard \mathchardef underneath. (mathfam256 packages changes that of course and uses the omega primitives to allow more symbol fonts as well as math alphabets)

This comment has been minimized.

Copy link
@aminophen

aminophen Oct 22, 2019

Author Member

Yes, that's the case; 256 different \DeclareMathAlphabet's are allowed in standard (u)platex. The e-pTeX manual in Japanese (eptexdoc.pdf) already has that statement:

LATEX において数式フォントを同時に16個以上使うには,\omathcharなどのプリミティブに対応したマクロを使う必要がある.最近のpLATEX(2016/11/29 以降)はこれを部分的にサポートしていて,\DeclareMathAlphabetで使うことのできる数式用アルファベットの上限だけは256個に拡張されている.だが,これだけでは記号類の定義に用いられる\DeclareMathSymbolや\DeclareMathDelimiterが\omathcharや\odelcodeを使用しないので不十分である.実験的と書かれてはいるが,山本氏による「最低限のパッケージ」[4],またはこれを最新のLATEXに追随してまとめ直されたmathfam256パッケージ*10を使うのが手っ取り早いような気がする.

it is necessary to use macros which exploit \OMEGA-derived primitives
such as \.{omathchar}.
A simple solution is to use a package \Pkg{mathfam256}\footnote{%
\url{https://www.ctan.org/pkg/mathfam256}} written by H.~Yamashita,
though it's still preliminary.

%%% 拡張プリミティブ
\subsection{Additional primitives}
\subsection{Additional primitives and keywords}
% tex -ini: 322 multiletter control sequences
% ptex -ini: 366 multiletter control sequences
% uptex -ini: 374 multiletter control sequences
Expand Down

0 comments on commit ee1e99a

Please sign in to comment.