commit 3c9d70c89cd296f0b83c89dd1855d30f4c6030a6
parent f58ed7a47835074e5a6bdd622dc0054c87589453
Author: Robert Russell <robertrussell.72001@gmail.com>
Date: Thu, 13 Apr 2023 23:23:00 -0700
Stuff
Diffstat:
| M | font.tex | | | 106 | ++++++++++++++++++++++++++++++++++++++++++++++--------------------------------- |
| M | list.tex | | | 26 | ++------------------------ |
| M | math.tex | | | 67 | ++++++++++++++++++++++++++++++++++--------------------------------- |
3 files changed, 98 insertions(+), 101 deletions(-)
diff --git a/font.tex b/font.tex
@@ -85,9 +85,9 @@
\Fsetfam"08 \FSeufm\FSeufm\FSeufm
\Fsetfam"09 \FSeufb\FSeufb\FSeufb
\Fsetfam"0A \FSpmds\FSpmds\FSpmds
-\Fsetfam"0B \FSpnritl\FSnull\FSnull
-\Fsetfam"0C \FSpnbutl\FSnull\FSnull
-\Fsetfam"0D \FSpnbitl\FSnull\FSnull
+% "0B
+% "0C
+% "0D
\Fsetfam"0E \FSmpalmia\FSmpalmia\FSmpalmia
\Fsetfam"0F \FSmpalsym\FSmpalsym\FSmpalsym
\Fsetfam"10 \FSmpalmi\FSmpalmi\FSmpalmi
@@ -95,14 +95,14 @@
\Fsetfam"12 \FSmpalsyc\FSmpalsyc\FSmpalsyc
\Fsetfam"13 \FSincr\FSincr\FSincr
\Fsetfam"14 \FSincb\FSincb\FSincb
-\Fsetfam"15 \FSpslutl\FSpslutl\FSpslutl
-\Fsetfam"16 \FSpsrutl\FSpsrutl\FSpsrutl
-\Fsetfam"17 \FSpsmutl\FSpsmutl\FSpsmutl
-\Fsetfam"18 \FSpsbutl\FSpsbutl\FSpsbutl
+% "15
+% "16
+% "17
+% "18
\Fsetfam"19 \FSrrrmpalwidecheck\FSrrrmpalwidecheck\FSrrrmpalwidecheck
\Fsetfam"1A \FSpalr\FSpalr\FSpalr
-\Fsetfam"1B \FSpnrust\FSpnrust\FSpnrust
-\Fsetfam"1C \FSpnrist\FSpnrist\FSpnrist
+% "1B
+% "1C
\addhook[Fresize]{%
\fornum\i="00.."FF+1\do{%
@@ -124,42 +124,58 @@
\Fupdatedelim\FBigght\FBiggchar
}
-\addhook[Fresize]{%
- \Fdef\rmfont\FSpnrutl\Fhsize
- \Fdef\fmfont\FSeufm\Fhsize
- \Fdef\itfont\FSpnritl\Fhsize
- \Fdef\bffont\FSpnbutl\Fhsize
- \Fdef\bifont\FSpnbitl\Fhsize
- \Fdef\trfont\FSincr\Fhsize
- \Fdef\tbfont\FSincb\Fhsize
- \Fdef\slfont\FSpslutl\Fhsize
- \Fdef\srfont\FSpsrutl\Fhsize
- \Fdef\smfont\FSpsmutl\Fhsize
- \Fdef\sbfont\FSpsbutl\Fhsize
- \Fdef\rmscfont\FSpnrust\Fhsize
- \Fdef\itscfont\FSpnrist\Fhsize
+\def\ffamdef[#1]{\ea\chardef\begcs ffam:#1\endcs=}
+\def\ffam[#1]{\numexpr\ifcs ffam:#1\endcs \cs{ffam:#1}\else -1\fi\relax}
+\def\ffontdef[#1]{\ea\Fdef\begcs ffont:#1\endcs}
+\def\ffont[#1]{\ifcs ffont:#1\endcs\cs{ffont:#1}\fi}
+\def\f[#1]{\fam=\ffam[#1]\ffont[#1]}
+
+\countB=0
+\foreach /n s/s \do#1/#2 {
+ \foreach l/l r/r m/m b/b \do##1/##2 {
+ \foreach /u i/i \do####1/####2 {
+ \foreach /tl o/to p/pl po/po s/st sp/sp \do########1/########2 {
+ \ea\Fsetfam\ea\countB
+ \begcs FSp#2##2####2########2\ea\endcs
+ \begcs FSp#2##2####2########2\ea\endcs
+ \begcs FSp#2##2####2########2\endcs
+ \ffamdef[#1##1####1########1]\countB
+ \incr\countB
+ }
+ }
+ }
}
-\def\rm{\fam="00 \rmfont}
-\def\mi{\fam="01 }
-\def\sy{\fam="02 }
-\def\bm{\fam="05 }
-\def\hr{\fam="06 }
-\def\hb{\fam="07 }
-\def\fr{\fam="08 } \def\oldstyle{\fam=8 \fmfont}
-\def\fb{\fam="09 }
-\def\bb{\fam="0A }
-\def\it{\fam="0B \itfont}
-\def\bf{\fam="0C \bffont}
-\def\bi{\fam="0D \bifont}
-\def\tr{\fam="13 \trfont}
-\def\tb{\fam="14 \tbfont}
-\def\sl{\fam="15 \slfont}
-\def\sr{\fam="16 \srfont}
-\def\sm{\fam="17 \smfont}
-\def\sb{\fam="18 \sbfont}
-\def\rmsc{\fam="1B \rmscfont}
-\def\itsc{\fam="1C \itscfont}
+\ffamdef[r]"00
+\ffamdef[hr]"06
+\ffamdef[hb]"07
+\ffamdef[fr]"08
+\ffamdef[fb]"09
+\ffamdef[d]"0A
+\ffamdef[t]"13
+\ffamdef[tb]"14
+
+% Math operators
+% XXX: is this a hack?
+\csdef{ffam:o}{\ffam[sr]}
+\csdef{ffont:o}{\ffont[sr]}
+
+\addhook[Fresize]{%
+ % Palatino Nova and Nova Sans
+ \foreach /n s/s \do##1/##2 {%
+ \foreach l/l r/r m/m b/b \do####1/####2 {%
+ \foreach /u i/i \do########1/########2 {%
+ \foreach /tl o/to p/pl po/po s/st sp/sp \do################1/################2 {%
+ \def\csA{\ffontdef[##1####1########1################1]}%
+ \ea\csA\begcs FSp##2####2########2################2\endcs\Fhsize
+ }%
+ }%
+ }%
+ }%
+ % Typewriter
+ \ffontdef[t]\FSincr\Fhsize
+ \ffontdef[tb]\FSincb\Fhsize
+}
\def\tenpt{%
% Looser baselines and tighter display skips
@@ -182,6 +198,8 @@
\Fresize
}
+\def\rm{\errmessage{Hard-coded rm! Fix me!}}
+
\beggroup
\catcode`\_=11
@@ -386,6 +404,6 @@
-\tenpt\rm
+\tenpt\f[r]
\endinput
diff --git a/list.tex b/list.tex
@@ -34,6 +34,8 @@
\vskip\Ltopskip
}
+\def\Lbegx#{\Lbeg\Lfmt=}
+
\def\Lend{%
\par
\endgroup
@@ -54,28 +56,4 @@
\noindent\hbox to\dimenA{\hss\box\boxA}%
}
-% Common list types
-% TODO: some of these belong in style
-\newdimen\@Lpwd
-\def\begxlist#{\Lbeg\Lfmt=}
-\def\begplist#1#2#3{%
- \Lbeg
- \def\csA{#3}%
- \ifx\csA\empty
- \Lfmt={\rm(#1\/)#2}% TODO: use robust italic correction
- \else
- \maxwd\@Lpwd={#3}%
- \Lfmt={\rm(\hbox to\@Lpwd{\hss#1\/\hss})#2}%
- \fi
-}
-\def\begnlist{\begxlist{\rm\number\Lcnt.\enspace}} % 1. 2. 3. ...
-\def\begrlist{\begplist{\rm\romannumeral\Lcnt}{\enspace}} % (i) (ii) (iii) ...
-\def\begalist{\begplist{\rm\char\numexpr\Lcnt+96\relax}{\enspace}} % (a) (b) (c) ...
-\def\begblist{\begxlist{$\m@th\bullet$\enspace}} % bullets
-
-\def\begol{\begnlist}
-\def\endol{\Lend}
-\def\begul{\begblist}
-\def\endul{\Lend}
-
\endinput
diff --git a/math.tex b/math.tex
@@ -14,6 +14,8 @@
\input mathenc
+\def\compl{{\sm c}}
+
\def\lnot{\neg}
\def\land{\wedge}
\def\lor{\vee}
@@ -192,39 +194,38 @@
\def\@bartrim#1#2{\barx#1{.5}12#2} % TODO: hardcoded values
\def\overbar{\bartrim11}
-% XXX hard-coded \rm; should be font specific to operators
-\def\log{\mathop{\rm log}\nolimits}
-\def\lg{\mathop{\rm lg}\nolimits}
-\def\ln{\mathop{\rm ln}\nolimits}
-\def\lim{\mathop{\rm lim}}
-\def\limsup{\mathop{\rm lim\,sup}}
-\def\liminf{\mathop{\rm lim\,inf}}
-\def\sin{\mathop{\rm sin}\nolimits}
-\def\arcsin{\mathop{\rm arcsin}\nolimits}
-\def\sinh{\mathop{\rm sinh}\nolimits}
-\def\cos{\mathop{\rm cos}\nolimits}
-\def\arccos{\mathop{\rm arccos}\nolimits}
-\def\cosh{\mathop{\rm cosh}\nolimits}
-\def\tan{\mathop{\rm tan}\nolimits}
-\def\arctan{\mathop{\rm arctan}\nolimits}
-\def\tanh{\mathop{\rm tanh}\nolimits}
-\def\cot{\mathop{\rm cot}\nolimits}
-\def\coth{\mathop{\rm coth}\nolimits}
-\def\sec{\mathop{\rm sec}\nolimits}
-\def\csc{\mathop{\rm csc}\nolimits}
-\def\max{\mathop{\rm max}}
-\def\min{\mathop{\rm min}}
-\def\sup{\mathop{\rm sup}}
-\def\inf{\mathop{\rm inf}}
-\def\arg{\mathop{\rm arg}\nolimits}
-\def\ker{\mathop{\rm ker}\nolimits}
-\def\dim{\mathop{\rm dim}\nolimits}
-\def\hom{\mathop{\rm hom}\nolimits}
-\def\det{\mathop{\rm det}}
-\def\exp{\mathop{\rm exp}\nolimits}
-\def\Pr{\mathop{\rm Pr}}
-\def\gcd{\mathop{\rm gcd}}
-\def\deg{\mathop{\rm deg}\nolimits}
+\def\log{\mathop{\f[o] log}\nolimits}
+\def\lg{\mathop{\f[o] lg}\nolimits}
+\def\ln{\mathop{\f[o] ln}\nolimits}
+\def\lim{\mathop{\f[o] lim}}
+\def\limsup{\mathop{\f[o] lim\,sup}}
+\def\liminf{\mathop{\f[o] lim\,inf}}
+\def\sin{\mathop{\f[o] sin}\nolimits}
+\def\arcsin{\mathop{\f[o] arcsin}\nolimits}
+\def\sinh{\mathop{\f[o] sinh}\nolimits}
+\def\cos{\mathop{\f[o] cos}\nolimits}
+\def\arccos{\mathop{\f[o] arccos}\nolimits}
+\def\cosh{\mathop{\f[o] cosh}\nolimits}
+\def\tan{\mathop{\f[o] tan}\nolimits}
+\def\arctan{\mathop{\f[o] arctan}\nolimits}
+\def\tanh{\mathop{\f[o] tanh}\nolimits}
+\def\cot{\mathop{\f[o] cot}\nolimits}
+\def\coth{\mathop{\f[o] coth}\nolimits}
+\def\sec{\mathop{\f[o] sec}\nolimits}
+\def\csc{\mathop{\f[o] csc}\nolimits}
+\def\max{\mathop{\f[o] max}}
+\def\min{\mathop{\f[o] min}}
+\def\sup{\mathop{\f[o] sup}}
+\def\inf{\mathop{\f[o] inf}}
+\def\arg{\mathop{\f[o] arg}\nolimits}
+\def\ker{\mathop{\f[o] ker}\nolimits}
+\def\dim{\mathop{\f[o] dim}\nolimits}
+\def\hom{\mathop{\f[o] hom}\nolimits}
+\def\det{\mathop{\f[o] det}}
+\def\exp{\mathop{\f[o] exp}\nolimits}
+\def\Pr{\mathop{\f[o] Pr}}
+\def\gcd{\mathop{\f[o] gcd}}
+\def\deg{\mathop{\f[o] deg}\nolimits}
% TODO: review
\def\openup{\afterassignment\@penup \dimenA=}