2

If PSTricks is used with e-TeX (from the latest TeX Live distribution), it appears that only the 7 families 9 trough 15 are available to \newfam. If PSTricks is used with tex (again, from the latest TeX Live distribution), the 8 families 8 through 15 are available.

The reason seems to be that PSTricks repeats some of the allocation macros from plain.tex. The problem is illustrated by the code below. The definition of \alloc@ below is copied from the current TeX Live plain.tex. If this is submitted to TeX, the numbers 7 and 8 are dutifully reported. If submitted to e-TeX, the numbers 7 and 9 are reported.

\catcode`\@=11\relax
\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
  \ch@ck#1#4#2% make sure there's still room
  \allocationnumber=\count1#1%
  \global#3#5=\allocationnumber
  \wlog{\string#5=\string#2\the\allocationnumber}}
\catcode`\@=12\relax

\newfam\nextfam  
\immediate\write16{\the\ttfam}  
\immediate\write16{\the\nextfam}  
\bye

This is a problem for me, because I have some much used font handling files which require the full 15 families.

6
  • 1
    pstricks doesn't allocate any fam but etex (if I remember correctly) includes etex.src which does redo the allocation macros (for the larger range of box registers etc) so re-inserting the plain tex allocation macros would break that. May 18 '16 at 18:50
  • 1
    or you could use xetex or luatex (which have 256b fam) May 18 '16 at 19:16
  • The assumption of whether \count<whatever> is the current value or the next one are different between plain.tex and etex.src. You therefore can't mix up the two approaches!
    – Joseph Wright
    May 18 '16 at 20:27
  • @JosephWright for reasons that aren't that clear pstricks re-inserts the plain tex one if it isn't running in latex May 18 '16 at 21:36
  • @david I don't know why pstricks re-inserts the plain tex definition, but will ask Herbert Voss and report back. He did patch pstricks.tex for me so that it tests for etex and does the appropriate reinsertion. I assume it will get to CTAN at some point. May 19 '16 at 9:28
1

As noted in comments, Etex revises the plain.tex allocation macros. pstricks.tex did not properly account for this.

Herbert Voss has now added a test for Etex to PSTricks so that the proper definitions are made. It has gone to CTAN, so it is available to all.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.