r3tex

custom LuaTeX format
git clone git://git.rr3.xyz/r3tex
Log | Files | Refs | README | LICENSE

commit 3c9d70c89cd296f0b83c89dd1855d30f4c6030a6
parent f58ed7a47835074e5a6bdd622dc0054c87589453
Author: Robert Russell <robertrussell.72001@gmail.com>
Date:   Thu, 13 Apr 2023 23:23:00 -0700

Stuff

Diffstat:
Mfont.tex | 106++++++++++++++++++++++++++++++++++++++++++++++---------------------------------
Mlist.tex | 26++------------------------
Mmath.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=}