%% %% This is file `tracefnt.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% ltfsstrc.dtx (with options: `package,trace') %% %% This is a generated file. %% %% The source is maintained by the LaTeX Project team and bug %% reports for it can be opened at https://latex-project.org/bugs.html %% (but please observe conditions on bug reports sent to that address!) %% %% %% Copyright (C) 1993-2024 %% The LaTeX Project and any individual authors listed elsewhere %% in this file. %% %% This file was generated from file(s) of the LaTeX base system. %% -------------------------------------------------------------- %% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. %% %% This file has the LPPL maintenance status "maintained". %% %% This file may only be distributed together with a copy of the LaTeX %% base system. You may however distribute the LaTeX base system without %% such generated files. %% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. %% %% The list of derived (unpacked) files belonging to the distribution %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %%% From File: ltfsstrc.dtx %% Copyright (C) 1989-97 by Frank Mittelbach and Rainer Sch\"opf. %% Copyright (C) 1994-97 by LaTeX Project. All rights reserved. \NeedsTeXFormat{LaTeX2e}[2021/06/01] \ProvidesPackage{tracefnt} [2020/12/22 v3.0n Standard LaTeX package (font tracing)] \newcount\tracingfonts \tracingfonts=0 \DeclareOption{errorshow}{% \def\@font@info#1{% \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% {LaTeX Font Info: \space\space\space#1}}% \def\@font@warning#1{% \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% {LaTeX Font Warning: #1}}% } \DeclareOption{warningshow}{% \def\@font@info#1{% \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% {LaTeX Font Info: \space\space\space#1}}% \def\@font@warning#1{% \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}% {LaTeX Font Warning: #1}}% } \DeclareOption{infoshow}{% \def\@font@info#1{% \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}% {LaTeX Font Info: \space\space\space#1}}% \def\@font@warning#1{% \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}% {LaTeX Font Warning: #1}}% } \DeclareOption{loading}{% \tracingfonts\tw@ } \DeclareOption{debugshow}{% \ExecuteOptions{infoshow}% \tracingfonts\thr@@ } \DeclareOption{pausing}{% \def\@font@warning#1{% \GenericError {(Font)\@spaces\@spaces\@spaces\space\space}% {LaTeX Font Warning: #1}% {See the LaTeX Companion for details.}% {I'll stop for every LaTeX Font Warning because you requested\MessageBreak the `pausing' option to the tracefnt package.}}% } \ExecuteOptions{infoshow} \ProcessOptions \def\extract@font{% \get@external@font \global\expandafter\font\font@name\external@font\relax \ifnum \tracingfonts >\@ne \@font@info{External font `\external@font' loaded as\MessageBreak \font@name}\fi \font@name \relax \csname \f@encoding+\f@family\endcsname \csname\curr@fontshape\endcsname \relax } \DeclareRobustCommand\selectfont {% \ifx\f@linespread\baselinestretch \else \set@fontsize\baselinestretch\f@size\f@baselineskip \fi \ifx\delayed@f@adjustment\@empty \else \let\f@shape@saved\f@shape \let\f@series@saved\f@series \delayed@f@adjustment \maybe@load@fontshape \ifcsname \f@encoding/\f@family/\f@series/\f@shape \endcsname \else \let\f@shape\f@shape@saved \let\f@series\f@series@saved \let\delayed@merge@font@shape\merge@font@shape \let\delayed@merge@font@series\merge@font@series \delayed@f@adjustment \let\delayed@merge@font@shape\merge@font@shape@without@substitution \let\delayed@merge@font@series\merge@font@series@without@substitution \fi \let\delayed@f@adjustment\@empty \fi \@forced@seriesfalse \xdef\font@name{% \csname\curr@fontshape/\f@size\endcsname}% \pickup@font \font@name \UseHook{selectfont}% \size@update \enc@update } \AddToHook{selectfont} {\ifnum \tracingfonts>\tw@ \@font@info{Switching to \font@name}\fi} \IncludeInRelease{2021/06/01}% {\selectfont}{Add hook to \selectfont}% \EndIncludeInRelease \IncludeInRelease{0000/00/00}% {\selectfont}{Add hook to \selectfont}% \DeclareRobustCommand\selectfont {% \ifx\f@linespread\baselinestretch \else \set@fontsize\baselinestretch\f@size\f@baselineskip \fi \xdef\font@name{% \csname\curr@fontshape/\f@size\endcsname}% \pickup@font \font@name \size@update \enc@update } \EndIncludeInRelease \def\set@fontsize#1#2#3{% \@defaultunits\@tempdimb#2pt\relax\@nnil \edef\f@size{\strip@pt\@tempdimb}% \@defaultunits\@tempskipa#3pt\relax\@nnil \edef\f@baselineskip{\the\@tempskipa}% \edef\f@linespread{#1}% \let\baselinestretch\f@linespread \def\size@update{% \baselineskip\f@baselineskip\relax \baselineskip\f@linespread\baselineskip \normalbaselineskip\baselineskip \setbox\strutbox\hbox{% \vrule\@height.7\baselineskip \@depth.3\baselineskip \@width\z@}% \ifnum \tracingfonts>\tw@ \ifx\f@linespread\@empty \let\reserved@a\@empty \else \def\reserved@a{\f@linespread x}% \fi \@font@info{Changing size to \f@size/\reserved@a \f@baselineskip}% \aftergroup\type@restoreinfo \fi \let\size@update\relax}% } \let\size@update\relax \def\type@restoreinfo{% \ifx\f@linespread\@empty \let\reserved@a\@empty \else \def\reserved@a{\f@linespread x}% \fi \@font@info{Restoring size to \f@size/\reserved@a\f@baselineskip}} \def\glb@settings{% \expandafter\ifx\csname S@\f@size\endcsname\relax \calculate@math@sizes \fi \csname S@\f@size\endcsname \ifmath@fonts \ifnum \tracingfonts>\tw@ \@font@info{Setting up math fonts for \f@size/\f@baselineskip}\fi \begingroup \escapechar\m@ne \csname mv@\math@version \endcsname \globaldefs\@ne \math@fonts \let \glb@currsize \f@size \endgroup \the\every@math@size \else \ifnum \tracingfonts>\tw@ \@font@info{No math setup for \f@size/\f@baselineskip}\fi \fi } \def\check@mathfonts{% \ifx \glb@currsize \f@size \ifnum \tracingfonts>\thr@@ \@font@info{*** MATH: no change \f@size\space curr/global (\curr@math@size/\glb@currsize)}\fi \else \ifnum \tracingfonts>\thr@@ \@font@info{*** MATH: setting up \f@size\space curr/global (\curr@math@size/\glb@currsize)}\fi \glb@settings \init@restore@glb@settings \fi \let\curr@math@size\f@size \def\init@restore@glb@settings{\aftergroup\restglb@settings}% } \def\init@restore@glb@settings{% \ifnum \tracingfonts>\thr@@ \@font@info{*** MATH: no resetting (not in nested math)}\fi } \def\restglb@settings{% \ifnum \tracingfonts>\thr@@ \@font@info{*** MATH: restoring}\fi \begingroup \let\f@size\curr@math@size \ifx\glb@currsize \f@size \ifnum \tracingfonts>\thr@@ \@font@info{*** MATH: ... already okay (\f@size)}\fi \else \ifnum \tracingfonts>\thr@@ \@font@info{*** MATH: ... to \f@size}\fi \glb@settings \fi \endgroup } \def\use@mathgroup#1#2{\relax\ifmmode \ifnum \tracingfonts>\tw@ \count@#2\relax \@font@info{Using \noexpand\mathgroup (\the\count@) #2}\fi \math@bgroup \expandafter\ifx\csname M@\f@encoding\endcsname#1\else #1\fi \mathgroup#2\relax \expandafter\math@egroup\fi}% \ifx\math@bgroup\bgroup \def\math@egroup#1{#1\egroup \ifnum \tracingfonts>\tw@ \@font@info{Restoring \noexpand\mathgroup (\ifnum\mathgroup=\m@ne default\else \the\mathgroup \fi)% }\fi} \fi \def\getanddefine@fonts#1#2{% \ifnum \tracingfonts>\tw@ \count@#1\relax \@font@info{\noexpand\mathgroup (\the\count@) #1 :=\MessageBreak \string#2 \tf@size/\sf@size/\ssf@size}\fi \xdef\font@name{\csname \string#2/\tf@size\endcsname}% \pickup@font \let\textfont@name\font@name \xdef\font@name{\csname \string#2/\sf@size\endcsname}% \pickup@font \let\scriptfont@name\font@name \xdef\font@name{\csname \string#2/\ssf@size\endcsname}% \pickup@font \edef\math@fonts{\math@fonts \textfont#1\textfont@name \scriptfont#1\scriptfont@name \scriptscriptfont#1\font@name}% } \def\execute@size@function#1{% \@ifundefined{s@fct@#1}% {\errmessage{Undefined font size function #1}% \s@fct@}% {\csname s@fct@#1\endcsname}% } \def\fontsubfuzz{0pt} \endinput %% %% End of file `tracefnt.sty'.