MacTeX Install - Final Data Point
Jonathan Fine
jfine2358 at gmail.com
Mon Feb 24 13:32:09 CET 2025
Hi
I think there are two problems here, and therefore at least two solutions.
The first problem is in the way the install script handles paper size and
format files. The second is that the paper size is stored in a generated
format file.
In some sense the root cause of the second problem is that our community
does not not use something like Python's site-specific configuration hook.
For details of that see https://docs.python.org/3/library/site.html.
First, I think Dick for digging deep to find that changing the paper size
seems to result in all formats being rebuilt. Frank has suggested that
delaying building of formats would solve the double-build-in-installation
problem.
But really, I think there's another problem. It is that the paper size is
stored in the format file. Format files allow hyphenation and fonts to be
loaded at high speed outside the edit-compile-preview loop. And also the
loading of macros. I see no good reason, except perhaps convenience, for
the paper size to be stored in the format file.
Instead, the \everyjob token register can be used to load paper size, and
any other similar user and locale preferences, prior to the input of the
document to be typeset. For example and assuming plain tex (not tested)
\everyjob{\input site.sty\relax}
\dump
would result in a format file that inputs site.sty. The \everyjob could
also afterwards perform a sanity check on the pagesize, and process it in a
way that is suitable for the style used by the document.
Here's an added bonus. If myself and my co-author effectively use the same
site.sty in the tex input path, then we don't have to be in lockstep
regarding our paper size.
I hope some of this is helpful.
with kind regards
Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://tug.org/pipermail/tex-live/attachments/20250224/d11800d1/attachment.htm>
More information about the tex-live
mailing list.