diff options
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/fonts/mathabx/README | 67 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/mathabx/mathtest.pdf | bin | 0 -> 732301 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/fonts/mathabx/mathtest.tex | 993 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/mathabx/testmac.tex | 521 |
4 files changed, 1581 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/mathabx/README b/Master/texmf-dist/doc/fonts/mathabx/README new file mode 100644 index 00000000000..e0f1cd558b5 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/mathabx/README @@ -0,0 +1,67 @@ +Mathabx fonts series +-------------------- + +Last modification: May 16, 2005 +--------------------------------- + +Summary +------- + +The mathabx series are a large mathematical symbols set designed and +defined in MetaFont language. Many of common and uncommon symbols can +be found in these series. Encoding, metrics, designs are not supposed +to be frozen since improvements, changes of mind can always +happen. These programs are intended to produce bitmap fonts and a lot +of care is given about rasterization. + +Brief description of the fonts +------------------------------ + +mathaXX (XX ranges from 5 to 12): quite common mathematical symbols; + +mathbXX (XX ranges from 5 to 12): quite uncommon mathematical symbols; + +mathxXX (XX ranges from 5 to 12): large and extensible mathematical +symbols which fit the two previous series; + +mathcXX (XX ranges from 10 to 10): unsupported (yet) since it is an +incomplete calligraphic series; + +mathuXX (XX ranges from 10 to 10): unsupported (forever) since it is a +too strange symbols series; + +mathuxXX (XX ranges from 10 to 10): unsupported (forever) since it is +a too strange large or extensible symbols series. + +Suggested TDS location for all ``.mf'' files: +--------------------------------------------- +$TEXMF/fonts/source/public/mathabx + +Brief description of the (La)TeX files +-------------------------------------- + +mathabx.tex: ``plain TeX'' input file which defines the 3 families +matha (5,7,10), mathb (5,7,10) and mathx (10,10,10) then read +mathabx.dcl; + +mathabx.sty: LaTeX input file which defines the 3 families matha, +mathb and mathx according to LaTeX fonts selection scheme, then read +mathabx.dcl; + +mathabx.dcl: declaration of every new or conpound symbol. + +Suggested TDS location: $TEXMF/tex/generic/misc/ +----------------------- + +Support for installation: Almost none. +------------------------- + +Documentation: mathtest.tex, testmac.tex. +-------------- + +mathtest.tex is a plain tex file that uses testmac as a macro file and which need that all the fonts should be properly installed. See postscript (or PDF) outputs provided in this distribution. + +Brief commentary: Happy TeXing. +----------------- + +Anthony Phan. diff --git a/Master/texmf-dist/doc/fonts/mathabx/mathtest.pdf b/Master/texmf-dist/doc/fonts/mathabx/mathtest.pdf Binary files differnew file mode 100644 index 00000000000..7c8cf3fb1c6 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/mathabx/mathtest.pdf diff --git a/Master/texmf-dist/doc/fonts/mathabx/mathtest.tex b/Master/texmf-dist/doc/fonts/mathabx/mathtest.tex new file mode 100644 index 00000000000..3dd30398b0b --- /dev/null +++ b/Master/texmf-dist/doc/fonts/mathabx/mathtest.tex @@ -0,0 +1,993 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% TEST FOR MATH faces and symbols +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\magnification=\magstep1 +\input testmac.tex +%\hsize=17truecm\hoffset=-0.54truecm +%\vsize=25.7truecm\voffset=-0.54truecm +\input amssym.def +\input amssym +\long\def\comments#1\endcomments{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% conservation des anciennes macros +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\let\Surd=\surd +\let\infinity=\infty +\let\voidset=\emptyset +\let\In=\in +\let\Subset=\subset +\let\Forall=\forall +\let\Exists=\exists +\let\Dagger=\dagger +\let\DDagger=\ddagger +\let\oldpartial=\partial +\let\oldflat=\flat +\let\oldnatural=\natural +\let\oldsharp=\sharp +\let\oldnorm=\| +\let\oldbigotimes=\bigotimes +\let\oldsum=\sum +\let\oldprod=\prod +\let\oldcoprod=\coprod +\let\oldint=\intop +\let\oldoint=\ointop +\let\oldsqrt=\sqrt +\let\oldwidetilde=\widetilde +\let\oldwidehat=\widehat +% +% in math (display) mode +% +\let\normall=\mathopen +\let\normalm=\mathrel +\let\normalr=\mathclose +\catcode`\@=11 +\def\biggg#1{{\hbox{$\left#1\vbox to20.5\p@{}\right.\n@space$}}} +\catcode`\@=12 +\def\bigggl{\mathopen\biggg} +\def\bigggr{\mathclose\biggg} +\def\bigggm{\mathrel\biggg} +\def\testdelimiter#1{ + \csname#1l\endcsname({\rm H} + \csname#1m\endcsname|{\rm O} + \csname#1r\endcsname) + =\csname#1l\endcsname[{\rm H} + \csname#1m\endcsname\thickvert{\rm O} + \csname#1r\endcsname] + =\csname#1l\endcsname\{{\rm H} + \csname#1m\endcsname|{\rm O} + \csname#1r\endcsname\} + =\csname#1l\endcsname\langle {\rm H} + \csname#1m\endcsname|{\rm O} + \csname#1r\endcsname\rangle + =\csname#1l\endcsname\ldbrack{\rm H} + \csname#1m\endcsname|{\rm O} + \csname#1r\endcsname\rdbrack + =\csname#1l\endcsname\lceil{\rm H} + \csname#1m\endcsname\thickvert{\rm O} + \csname#1r\endcsname\rceil +\cr + =\csname#1l\endcsname\lfloor{\rm H} + \csname#1m\endcsname\thickvert{\rm O} + \csname#1r\endcsname\rfloor + =\csname#1l\endcsname\lgroup{\rm H} + \csname#1m\endcsname\thickvert{\rm O} + \csname#1r\endcsname\rgroup +%=\csname#1l\endcsname\lmoustache {\rm H}\csname#1r\endcsname\rmoustache + =\csname#1l\endcsname|{\rm H}\csname#1r\endcsname| + =\csname#1l\endcsname\Vert {\rm H}\csname#1r\endcsname\Vert + =\csname#1l\endcsname\vvvert {\rm H}\csname#1r\endcsname\vvvert + =\csname#1l\endcsname\uparrow {\rm H} + \csname#1m\endcsname\updownarrow{\rm H} + \csname#1r\endcsname\downarrow + =\csname#1l\endcsname\Uparrow {\rm H} + \csname#1m\endcsname\Updownarrow{\rm H} + \csname#1r\endcsname\Downarrow + =\sqrt{\csname#1m\endcsname|}} +\def\testwideaccent#1#2{\hbox{\tt\string#2}\hfill + #1#2{I}=#1#2{H}=#1#2{II}=#1#2{III}= + #1#2{IIII}=#1#2{IIIII}=#1#2{IIIIII}=#1#2{IIIIIIII}} +\def\testcs#1#2{\allowbreak\noindent\leavevmode + \hbox to 0.1\hsize{$#1{#2}$\hss}\nobreak + \hbox to 0.4001\hsize{\tt\string#1\hss}\ignorespaces} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\title{\shadedtext{Mathabx series}} +\subtitle{\shadedtext{Informations and tests}} +\author{\shadedtext{Anthony Phan}} +\maketitle + +The mathabx series are a large mathematical symbols set designed and +defined in MetaFont language. Many common and uncommon symbols can be +found in these series. These programs are intended to produce bitmap +fonts and a lot of care is given about rasterization. Encoding, +metrics, designs are not supposed to be frozen since improvements, +changes of mind can always happen. Thus, {\it this distribution is +still (\today) at a ``merely for evaluation'' level}. Please check my +home page to get the last updates: +$$ +\hbox{\catcode`\~=12\tt http://www-math.univ-poitiers.fr/~phan/metafont.html} +$$ + +By now, there are three main series of fonts: {\it matha}, +{\it mathb} and {\it mathx}. The {\it matha}\/ +series consist in quite usual mathematical symbols, more precisely they +contain the, say, 64 mathematical symbols one can use +and suppose other ones know their meaning. The {\it mathb}\/ +series is a kind of twin of {\it matha}, but it is the one +people should not show outside of the house: these symbols +do not have a very well known meaning and, thus, should not +be used. The {\it mathx}\/ series is the set of extensible +delimiters and large operators fitting {\it matha}\/ and +{\it mathb}\/; its encoding doesn't match at all the {\it cmex}\/ +one, but it may change in the future. + +Since a metafont designer doesn't always know when to stop +creating or coding stuff, many pieces of code remained once +the three former series where filled. The remaining stuff +has been put in {\it mathu}\/ ({\it u}\/ stands for +unsupported) and in {\it mathux}\/ ({\it ux}\/ stands for +unsupported extensible). There is also +``work in progress''-material: some full OT1 implementation +of calligraphic characters. If this last task find an end, +there would be a {\it mathc}\/ series---where {\it c}\/ would +stand for calligraphic. + +The translation of this document into english is not yet finished. +We do apologize for this. + +\section*{Progress} + +\subsection*{April 29, 2002} +First posting on CTAN. + +\subsection*{June 19, 2002} +A few changes have been done: + +\item{$\bullet$} +Some large symbols are now thicker (\cs{\bigcup}, etc.); + +\item{$\bullet$} +``Flat cups'' have been introduced (\cs{\bigcup}, etc.), +that means that the roundish parts of those symbols are +now ``flatter''. + +\subsection*{November 16, 2002} + +\item{$\bullet$} +Some work has been done on the calligraphic set. The uppercase +subset should be exactly the {\it Computer Modern}\/'s one. So +kerning has to be done in order to get a nice stuff. + +\item{$\bullet$} +The series\/ {\it mathux}\/ are in progress. It will contain +more extensible symbols (unnecessary I think, so still unsupported). + +\item{$\bullet$} +Binary operators {\tt\string\sprod} and {\tt\string\scoprod} +have been added to {\it matha}\/ at locations {\tt"3C} and {\tt "3D}. +I love those symbols and I believe that they must lie on the +main symbols series. + +\subsection*{July 29, 2003} + +\item{$\bullet$} +Some \LaTeX\ bugs have been fixed in {\tt mathabx.dcl} +with the help of some very kind users (Patrick Cousot, Hung N. Duong, +Kohsaku Hotta). + +\item{$\bullet$} +The file {\tt mathgrey.mf} is no longer used. This means +that {\tt mathu10} has no more grey characters. It seems that +those characters are not compatible with some postscript +or such translation (with {\tt TeXtrace} for instance). + +\item{$\bullet$} +The \LaTeX\ style file {\tt mathabx.sty} allows options +which are {\it matha}, {\it mathb}\/ and {\it mathx}. +These options define which series will be used. +If no option is given, the three series will be used. +(The plain\TeX\ file {\tt mathabx.tex} does not allow +anything of this kind.) + +\subsection*{October 23, 2003} + +\item{$\bullet$} The {\tt\string\bar} and {\tt\string\widebar} +accents have changed of height (which is now smaller). + +\item{$\bullet$} Arrows have a wider breadth and a lighter +head. + +\item{$\bullet$} A little work on calligraphic digits has been done. + +\item{$\bullet$} Double brackets formerly named +{\tt\string\lbbbrack} and {\tt\string\rbbbrack} are now +named {\tt\string\ldbrack} and {\tt\string\rdbrack}, and +they still have their curious aliases {\tt\string\lsemantic} +and {\tt\string\rsemantic}. + +\subsection*{May 18, 2005} + +\item{$\bullet$} I didn't pay attention until recently to +the fact that square roots may appear also in +{\tt\string\scriptstyle} and {\tt\string\scriptscriptstyle} +modes. This makes necessary to make the corresponding symbols +go across some usual symbols set and the extensible characters set. +This is repaired: a basic radical symbol now lies in {\it matha}\/ +at location {\tt"37}. +In fact, the former basic radical symbol in {\it mathx}\/ still exists +at place {\tt"60} and there was no problem if {\it mathx}\/ is used +in 3 different sizes. + +\item{$\bullet$} The {\tt\string\bar} and {\tt\string\widebar} +accents have been restored to their former heights. + +\item{$\bullet$} Large greek like symbols (sums, products, coproducts) +have been revised. Text\-style product and coproduct widths have been +increased by $u\#$. Also, in {\it matha}, small sum, product, coproduct +have changed of encoding since the small sum has been introduced. + +\item{$\bullet$} {\it mathc}\/ has finally been introduced. +It is still an uncomplete calligraphic set. Also existing glyphs +may be revised. + +\item{$\bullet$} Integrals have been revised. Comments are welcome. + +\item{$\bullet$} Astronomical/logical symbols are in progress. + +\item{$\bullet$} Plain\TeX/\LaTeX\ files have been revised. + +\section{List of every mathabx' symbols} + +Thereafter will be loaded +plain\TeX\ definitions files related to these fonts families. +Assigning any value to the control sequence\/ {\tt\string\proofmode} +like\/ {\tt\string\let\string\proofmode=!}, for instance, +the definition of every symbol will be made together with the +printing of the related informations. The control sequence +{\tt\string\proofmode} will be reset to\/ {\tt\string\undefined} +at the end of the loading. This can be helpful for instantaneous +documentation. + +About the names of the different control sequences, we mostly tried to +conform to the usual names. If in the following there is some apparent +mismatch with\/ {\it AMS}\/ denomination, it is normally supported. +Below is printed first the symbol, then if it already exists the {\it +Computer Modern}\/ or\/ {\it AMS}\/ one, the name of the control +sequence, in exponent the spacing value of the symbol (``other'' +means that it is an accent or such, it does not really matter), +at last---if any---its aliases. + +\let\proofmode=! +\fuzzytext +\input mathabx.tex +\normaltext + +\section{Special constructions} + +The special constructions described here are defined in the file +{\tt mathabx.dcl}. Usual plain\TeX/\LaTeX\ constructions should +be supported if not replaced by some {\it mathabx}\/ symbol. + +\item{$\bullet$} +The control sequences +{\tt\string\not}, {\tt\string\varnot}, {\tt\string\changenotsign} +are described in some next section. + +\item{$\bullet$} The control sequences {\tt\string\overbrace}, etc., +have been defined as suggested by Matthias Clasen and Ulrik Vieth +in {\it newmath}. +\medbreak +\testcs\overbrace{abcde} +\testcs\underbrace{abcde} +\testcs\overgroup{abcde} +\testcs\undergroup{abcde} +\medbreak +\item{$\bullet$} The control sequences {\tt\string\overrightarrow}, +etc., have been defined anew ({\it see}\/~{\tt mathabx.dcl}). They +will certainly be improved since they work only in textstyle and +displaystyle modes (as for standard plain\TeX/\LaTeX). +$$ +\overrightarrow{abcde}^{\overrightarrow{abcde}^{\overrightarrow{abcde}}} +$$ +\medbreak +\testcs\overrightarrow{abcde} +\testcs\overleftarrow{abcde} +\testcs\overleftrightarrow{abcde} +\testcs\underrightarrow{abcde} +\testcs\underleftarrow{abcde} +\testcs\underleftrightarrow{abcde} +\testcs\overRightarrow{abcde} +\testcs\overLeftarrow{abcde} +\testcs\overLeftRightarrow{abcde} +\testcs\underRightarrow{abcde} +\testcs\underLeftarrow{abcde} +\testcs\underLeftRightarrow{abcde} +\medbreak + +\item{$\bullet$} The build-in accent {\tt\string\wideparen} +allows to build other accent-like control sequences. +\medbreak +\testcs\widering{abcde} +\testcs\widedot{abcde} +\testcs\wideddot{abcde} +\testcs\widedddot{abcde} +\testcs\wideddddot{abcde} +\medbreak + +\item{$\bullet$} +At last, some symbols like {\tt\string\int}, +{\tt\string\bigcomplement}, +{\tt\string\surd}, must be defined by some {\tt\string\def} +because of limits or such. + +\noindent +But it seems clear when viewing what is done elsewhere that the already too large mathabx set should (really?) be extended. This may be done by combining already existing symbols. If not, I would once again take my pen, some paper and my keyboard if necessary. + +\section{Global installation} + +In the {\it mathabx.me}\/ distribution, MetaFont source files +({\tt xxx.mf}) are all located in the {\tt source/} directory. +They may be moved to a (new) subdirectory named {\tt mathabx} +of {\tt\$TEXMF/fonts/source/public/}, thus in +$$ +\hbox{\tt\$TEXMF/fonts/source/public/mathabx/} +$$ +where {\tt\$TEXMF} +stands for the root directory of the \TeX MF distribution of +the computer. Plain\TeX/\LaTeX input files are all located +in the {\tt texinputs} directory of this distribution. +The three files {\tt mathabx.tex}, {\tt mathabx.sty} +and {\tt mathabx.dcl} may be moved to the directory +$$ +\hbox{\tt\$TEXMF/tex/generic/misc/} +$$ +(other location may be also fine). Other \TeX\ files are +there for documentation. They can be removed. + +At last, the \TeX MF system needs to know that new files +have been added. This can be done by executing from a console +{\tt texhash} or such, some command that refreshes the \TeX MF +database. We don't provide more informations on +this last subject since it may depend on every particular \TeX MF +distribution and computer system. + +If a previous {\it mathabx}\/ distribution has been already +installed, please remove every bitmap fonts ({\tt xxx.yyypk}) +and metrics ({\tt xxx.tfm}) related to {\it mathabx} (only!) +since all of them may change from a ditribution to another. + +We won't write anything about local installation (on Unices +systems for instance), nor about Type 1 conversions and installation +of the {\it mathabx}\/ fonts. One can find informations about these +two last topics on the World Wide Web (but maybe in japanese). + +\section{Use with plain\TeX} + +The basic input file is {\tt mathabx.tex}. It requires {\tt mathabx.dcl} +which is common to plain\TeX\ and \LaTeX. So one should type +$$ + \cs{\input\ mathabx.tex} +$$ +at the beginning of his (her) plain\TeX\ document. This sets up +all the symbols previously described and defines $3$ new families +of mathematical symbols whose numbers are \cs\mathafam, +\cs\mathbfam\ and \cs\mathxfam. Pointsizes are $10\,\rm pt$, {\it i.e.}, +textstyle is $10\,\rm pt$, scriptstyle is $7\,\rm pt$ +and scriptscriptstyle is $5\,\rm pt$ for \cs\mathafam\ and \cs\mathbfam\ +families. For \cs\mathxfam\ the three styles correspond to a pointsize +equal to $10\,\rm pt$ as for {\tt cmex} in plain\TeX. Changing pointsizes +is easy since any plain\TeX user know how to do so (one can also look +into {\tt mathabx.tex} to make sure). Remember that setting the +control sequence {\tt\string\proofmode} to a known value +before inputing {\tt mathabx.tex} would lead to the verbose +mode as illustrated in Section~1 of this document. + +\section{Use with \LaTeX} + +The basic package is {\tt mathabx.sty}. It requires {\tt mathabx.dcl} +which is common to plain\TeX\ and \LaTeX. So one should type +$$ + {\tt\cs\usepackage\{mathabx\}} +$$ +in the preamble of his (her) \LaTeX\ document. This sets up +all the symbols previously described and defines $3$ new families +of mathematical symbols whose \LaTeX\ names are {\tt matha}, +{\tt mathb} and {\tt mathx} (according to \LaTeX\ font selection scheme). +These families behave as expected with pointsize changes. +The possible options of the {\tt mathabx} package are +{\tt matha}, {\tt mathb} and {\tt mathx}. They allow to select +which families would be actually defines. For instance +$$ + {\tt\cs\usepackage[matha,mathx]\{mathabx\}} +$$ +ignores the {\it mathb}\/ family and load only {\it matha}\/ +and {\it mathx}\/ families. Remember that no option means +that the three families would be loaded. No individual +symbol selection has been setted. If one wants to use only, +say, a couple of symbols in the {\it mathabx}\/ series, +he (she) would have to it by him(her)self. + +\section{The control sequence \tt\string\not} + +With plain\TeX\ or \LaTeX, the control sequence\/ {\tt\string\not} +only invocates a particular mathematical character (slanted line) +which is of relation-type. This character, which width is zero, \dots + +Ce caract\`ere, qui est de longueur +nulle, recouvre le caract\`ere suivant d'autant mieux que son +mode d'espacement est du type relation et que sa largeur a une +certaine valeur (celle des signes\/ $+$ ou\/ $=$). Autrement, le +recouvrement peut \^etre assez mauvais (en fait, inadapt\'e). + +\par + +Dans les s\'eries pr\'esent\'ees ici, certaines n\'egations +ont \'et\'e d\'efinies. Il semblait alors souhaitable que +la commande\/ {\tt\string\not} suivie par l'appel d'un caract\`ere +poss\'edant sa n\'egation propre ait pour r\'esultat cette derni\`ere. +Il suffisait pour cela de d\'efinir\/ {\tt\string\not} comme une +commande \`a un argument qui teste si cet argument est une commande +dont la n\'egation est d\'efinie +(si celle-ci est\/ {\tt\string\xxx}, le test porte sur l'existence +de\/ {\tt\string\notxxx} ou de\/ {\tt\string\nxxx}), +auquel cas ce sera elle qui sera appliqu\'ee, sinon +(si l'argument n'est pas une commande, par exemple si c'est un caract\`ere, +ou si la n\'egation n'est pas d\'efinie) la m\'ethode +de superposition sera utilis\'ee. + +\par + +Le caract\`ere de n\'egation est appel\'e par\/ {\tt\string\notsign}, +il appartient \`a la s\'erie\/ {\it matha}\/ et est droit. On peut y +pr\'ef\'erer une ligne inclin\'ee pr\'esente dans la s\'erie +{\it mathb}\/ et nomm\'ee\/ {\tt\string\varnotsign}. Il suffit alors +d'\'echanger les noms. C'est ce que fait la commande +{\tt\string\changenotsign} et ce de mani\`ere +\'eventuellement locale. +Ainsi on aura~: +$$ +A\not=B +\qquad\hbox{\tt\string\changenotsign}\qquad +\changenotsign +A\not=B +$$ +bien qu'on doive pr\'ef\'erer sur cet exemple l'emploi +de la commande\/ {\tt\string\neq}~:\/ $A\neq B$. +Ci-dessous nous avons recours \`a la commande\/ {\tt\string\not} +(sauf pour\/ {\tt\string\neq}) pour des relations dont la n\'egation +est d\'efinie~: +$$ +a=b\neq c\equiv d\not\equiv e\sim f\not\sim g \approx h\not\approx i +\simeq j\not\simeq k\cong l\not\cong m, +$$ +puis pour des relations (entre autres) dont la n\'egation +n'est pas d\'efinie~: +$$ +\changenotsign +a\topdoteq b\not\topdoteq c\botdoteq d\not\botdoteq +e\dotseq f\not\dotseq g +\changenotsign +\risingdotseq h\not\risingdotseq i +\fallingdotseq j\not\fallingdotseq +\changenotsign +k S l\not S m, +$$ +o\`u on se sera servi de\/ {\tt\string\changenotsign} +\`a certains endroits. Il est \`a remarquer que +l'espacement est perturb\'e de mani\`ere coh\'erente, +c'est-\`a-dire de la m\^eme fa\c con qu'il l'aurait \'et\'e +par le\/ {\tt\string\not} classique. +\par +Nous avons aussi d\'efini la commande\/ {\tt\string\varnot} +de fonctionnement semblable \`a celui de l'instruction +{\tt\string\not}~:\/ {\tt\string\varnot\string\xxx} teste si +{\tt\string\varnotxxx} est d\'efini et, si oui ex\'ecute +cette derni\`ere, sinon applique\/ {\tt\string\varnotsign\string\xxx}. +Nous reprenons la formule pr\'ec\'edente avec cette commande~: +$$ +a\topdoteq b\varnot\topdoteq c\botdoteq d\varnot\botdoteq +e\dotseq f\varnot\dotseq g +\risingdotseq h\not\risingdotseq i +\fallingdotseq j\not\fallingdotseq +k S l\varnot S m, +$$ +o\`u on ne voit aucune diff\'erence. En revanche, +$$ +a=b\varnot= c\equiv d\varnot\equiv e\sim f\varnot\sim g +\approx h\varnot\approx i +\simeq j\varnot\simeq k\cong l\varnot\cong m +$$ +emploie dans ce cas uniquement la m\'ethode de juxtaposition. + +\section{Mayan numerals} + +The presence of Mayan numerals in these series is related only to the history +of the development of them. At the beginning, we wanted to keep some\dots + +La pr\'esence de chiffres mayas dans ces s\'eries +n'est li\'ee qu'\`a l'histoire du d\'evelop\-pement +de celles-ci. Nous d\'esirions au d\'epart conserver +quelques ressemblances avec les s\'eries destin\'ees +au texte (caract\`eres alphab\'etiques et num\'eraux). +L'absence ou la raret\'e de possibilit\'e de composer +selon des num\'erations anciennes nous aura pouss\'e +\`a nous y int\'eresser un peu. Le r\'esultat est +illustr\'e ci-dessous~: +$$ +\mayadelimiters([,]) +\maya{1251}+\maya{2135}=\maya{3386}\neq\mayadigit{0}. +$$ +This line has been typesetted with +\smallbreak +{\tt\string\mayadelimiters([,])\par +\string\maya$\{$1251$\}$% ++% +\string\maya$\{$2135$\}$% +=% +\string\maya$\{$3386$\}$% +\string\neq +\string\mayadigit$\{$0$\}$}. +\smallbreak +\noindent +Keeping these characters and the corresponding control sequences +is always an open question. + +\section{La commande\/ {\tt\string\prime} et ses amies} + +Nous avons r\'eintroduit les signes\/ {\tt\string\prime} +multiples associ\'es aux commandes\/ {\tt\string\prime}, +{\tt\string\second},\/ {\tt\string\third} et\/ {\tt\string\fourth}. +Une commande naturellement associ\'ee est\/ {\tt\string\degree} +correspondant \`a un symbole semblable \`a celui appel\'e +par\/ {\tt\string\circ}. Il est n\'eanmoins diff\'erent car +il doit \^etre homog\`ene \`a l'ensemble des symboles +pr\'ec\'edents (comparer\/ $44^\circ$ et\/ $44^\degree$). +$$ +44^\degree+36^\prime+89^\second+46^\third+99^\fourth +$$ +La construction habituelle ({\it i.e.}\/ {\tt 99''''}) +supporte une propri\'et\'e de ligaturage +sur les caract\`eres correspondants. +C'est ce que l'on voit ci-dessous~: +$$ +44^\degree+36'+89''+46'''+99'''', +\qquad +\hbox{mais} +\quad +99''''' +\quad +\hbox{ou} +\quad +99''''''''. +$$ +(Il faut y regarder de tr\`es pr\`es pour y voir +ce qu'il faut voir\dots) + +\section{Various trials} + +We begin by some meaningless expressions: +$$ +\displaylines{ +G\triangleleft H\trianglelefteq A \trianglerighteq B \triangleright C +\cr +|G|\not\triangleleft|H|\not\trianglelefteq|A| +\not\trianglerighteq|B|\not\triangleright|C|. +} +$$ +Then we look at variations with mathematical style: +$$ +\infty^{\infty^\infty} +\qquad +\infinity^{\infinity^\infinity} +\qquad +\in^{\in^\in} +\qquad +\subset^{\subset^\subset} +\qquad +\subseteq^{\subseteq^\subseteq} +\qquad +<^{<^<} +\qquad +\sqrt x^{\sqrt x^{\sqrt x}} +$$ +The first {\tt\string\infty} symbol is from {\it matha}, the next one is +the {\it Computer Modern}\/ one. + +Other trials with sometimes {\it Computer Modern}\/ symbols for comparison: +$$ +\displaylines{ +\Gamma\ssum \Sigma\sprod \Pi\scoprod D,\qquad f:X\righttoleftarrow\cr +{\partial f\over\partial x}(x) +\simeq +{\oldpartial f\over\oldpartial x}(x) +\qquad +\oldflat\flat\oldnatural\natural\oldsharp\sharp\hbox{bof bof} +\cr +\oldnorm T(h)f-f\oldnorm=\|T(h)f-f\| +\cr +A\cap B\cup C\uplus D \vee E\wedge F +\cr +A\sqcap B\sqcup C\squplus D \veebar E\barwedge F\veedoublebar G +\doublebarwedge F \curlyvee H \curlywedge I +\cr +\dagger\Dagger\ddagger\DDagger +\qquad +A^{\dagger^\dagger} +\cdot A^{\Dagger^\Dagger} +\qquad +A\Asterisk A\coAsterisk\{y\}\star[x]\ast(z) +\qquad +\surd\Surd +\cr +\forall x\in y^\perp,\ \exists S\subseteq R, +\ \exists x,\ (\Exists x),\quad +z\cap y,\ x\in y +\cr +f\mapsto g\longmapsto h,\qquad +f\hookrightarrow g \hookleftarrow h,\qquad +A\Mapstochar\Relbar\joinrel\Rightarrow B +\Leftarrow\joinrel\Relbar\Mapsfromchar C,\qquad +a\leftsquigarrow b\leftrightsquigarrow +c\rightsquigarrow d. +} +$$ +Integrals in displaystyle then in textstyle (I don't want to forget that these signs are derived from the letter ``S'' even if I draw them my way): +$$ +\displaylines{ +\int\int\int_0^t f\circ g(x)\,{\rm d}x= +\int\iint_0^t f\circ g(x)\,{\rm d}x= +\iiint_0^t f\circ g(x)\,{\rm d}x +\cr +\oldint\nolimits_0^t\oldoint_C f\circ g(x)\,{\rm d}x= +\int_0^t\oint_C f\circ g(x)\,{\rm d}x= +\oiint_S f\circ g(x)\,{\rm d}x +\cr +\textstyle\int\int\int_0^t f\circ g(x)\,{\rm d}x= +\int\iint_0^t f\circ g(x)\,{\rm d}x= +\iiint_0^t f\circ g(x)\,{\rm d}x +\cr +\textstyle\oldint_0^t\oldoint_C f\circ g(x)\,{\rm d}x= +\textstyle\int_0^t\oint_C f\circ g(x)\,{\rm d}x= +\oiint_S f\circ g(x)\,{\rm d}x +} +$$ +Sums and products, etc., in displaystyle: +$$ +\displaylines{ +\prod_{i=0}^{i=n}\prod_{j=0}^{j=n} +\prod_{k=0}^{k=n}\Gamma^{ij}_k += +\prod_{i=0}^{i=n}\coprod_{j=0}^{j=n} +\prod_{k=0}^{k=n}\Gamma^{ij}_k += +\coprod_{i=0}^{i=n}\coprod_{j=0}^{j=n} +\coprod_{k=0}^{k=n}\Gamma^{ij}_k += +\oldprod_{i=0}^{i=n}\oldcoprod_{j=0}^{j=n} +\oldprod_{k=0}^{k=n}\Gamma^{ij}_k +\cr +\prod_{i=0}^{i=n}\prod_{j=0}^{j=n} +\prod_{k=0}^{k=n}\Gamma^{ij}_k += +\biggl(\prod_{i=0}^{i=n}\sum_{j=0}^{j=n} +\prod_{k=0}^{k=n}\Gamma^{ij}_k\biggr) += +\biggl[ +\sum_{i=0}^{i=n}\sum_{j=0}^{j=n} +\sum_{k=0}^{k=n}\Gamma^{ij}_k\biggr] += +\biggl[\oldsum_{i=0}^{i=n}\oldsum_{j=0}^{j=n} +\oldsum_{k=0}^{k=n}\Gamma^{ij}_k\biggr] +\cr +\bigcup_{i=0}^{i=n}\bigcap_{j=0}^{j=n} +\bigcup_{k=0}^{k=n}\Gamma^{ij}_k += +\bigcup_{i=0}^{i=n}\bigvee_{j=0}^{j=n} +\bigcup_{k=0}^{k=n}\Gamma^{ij}_k += +\bigcup_{i=0}^{i=n}\bigwedge_{j=0}^{j=n} +\bigcup_{k=0}^{k=n}\Gamma^{ij}_k += +\bigvee_{i=0}^{i=n}\bigwedge_{j=0}^{j=n} +\bigvee_{k=0}^{k=n}\Gamma^{ij}_k +} +$$ +Sums and products, etc., in textstyle: +$$ +\displaylines{ +\textstyle +\prod\prod +\prod\Gamma^{ij}_k += +\prod\coprod +\prod\Gamma^{ij}_k += +\coprod\coprod +\coprod\Gamma^{ij}_k += +\oldprod\oldcoprod +\oldprod\Gamma^{ij}_k +\cr +\textstyle +\prod\prod +\prod\Gamma^{ij}_k += +\bigl(\prod\sum +\prod\Gamma^{ij}_k\bigr) += +\bigl[ +\sum\sum +\sum\Gamma^{ij}_k\bigr] += +\bigl[\oldsum\oldsum +\oldsum\Gamma^{ij}_k\bigr] +\cr +\textstyle +\bigcup\bigcap +\bigcup\Gamma^{ij}_k += +\bigcup\bigvee +\bigcup\Gamma^{ij}_k += +\bigcup\bigwedge +\bigcup\Gamma^{ij}_k += +\bigvee\bigwedge +\bigvee\Gamma^{ij}_k +\cr} +$$ + +\section{Delimiters} + +The whole set of extensible delimiters is presented below. +Some of those delimiters are quite close to\/ {\it Computer +Modern}\/'s ones, for instance parentheses are almost the same. +By now there are a few differences. Left and right groups +are fully supported, i.e. every sizes exist. Moustaches +are built in the font but not in a satisfactory way, so +that the corresponding control sequences have not been +written down. Some vertical lines are not supported, these +are the ones that could be built with various extension moduli +as in\/ {\it Computer Modern}. +$$ +\displaylines{ +(X,X)=[X,X]=\{X,X\}= +\langle X^c,X^c\rangle +\equiv +[X^c,X^c] += +\ulcorner X\urcorner += +\llcorner X\lrcorner += +\ulcorner X\lrcorner += +\llcorner X\urcorner +\cr +\testdelimiter{normal} +\cr +\testdelimiter{big} +\cr +\testdelimiter{Big} +\cr +\testdelimiter{bigg} +\cr +\testdelimiter{Bigg} +\cr +\testdelimiter{biggg} +\cr +} +$$ + +\section{Accents and wide accents} +Here are some basic accents. +$$ +\def\test#1{\hbox{\tt\string#1\ o}\quad#1o} +\displaylines{ +\test\ring,\quad +\test\dot,\quad\test\ddot,\quad\test\dddot,\quad\test\ddddot,\cr +} +$$ +Thus, +$$ +\ddddot y -4\dddot y +5x\ddot y +f(x)\dot y=g(x)\in\ring C +$$ +Here we have extensible accents. Control sequences {\tt\string\oldxxx} +just invoke former symbols when they exist, these control sequence +are defined only for this test file. +$$ +\displaylines{ +\testwideaccent{\skew3}{\widehat} +\cr +\testwideaccent{\skew3}{\oldwidehat} +\cr +\testwideaccent{\skew3}{\widecheck} +\cr +\testwideaccent{\skew3}{\widetilde} +\cr +\testwideaccent{\skew3}{\oldwidetilde} +\cr +\testwideaccent{\skew3}{\widearrow} +\cr +\testwideaccent{\skew3}{\wideparen} +\cr +\testwideaccent{\skew3}{\widering} +\cr +\testwideaccent{\skew3}{\widedot} +\cr +\testwideaccent{\skew3}{\wideddot} +\cr +\testwideaccent{\skew3}{\widedddot} +\cr +\testwideaccent{\skew3}{\wideddddot} +\cr +\testwideaccent{\skew3}{\widebar} +\cr +\hbox{{\tt\string\overleftarrow} is not of accent type}\hfill +\overleftarrow{IIIIIIIIIIIIIIIIIIIIIIIIIII} +} +$$ +According to Matthias Clasen's construction: {\tt\string\overbrace}, +{\tt\string\underbrace}, {\tt\string\overgroup}, {\tt\string\undergroup} +$$ +\overbrace{\underbrace{HHHHHHHHHH}}^{AAAAAAAAAAAA}_{HHHHHHHHHHH} +\qquad +\overgroup{\undergroup{HHHHHHHHHH}}^{AAAAAAAAAAAA}_{HHHHHHHHHHH} +$$ + +\section{Astronomical symbols} + +Astronomical/logical symbols are in progress (coding, design, etc.). +There is not enough room yet in the {\it mathb}\/ series to provide a +complete set of such symbols. If Mayan numerals are supressed, +maybe\dots +$$ +\left\lfilet\enspace\vcenter{\advance\hsize by -4\parindent +The Earth~$\Earth$ (or~$\varEarth$) +is in rotation around the Sun~$\Sun$ +like Mercury~$\Mercury$, Venus~$\Venus$, +Mars~$\Mars$, Saturn~$\Saturn$, Jupiter~$\Jupiter$, +Uranus~$\Uranus$, Neptune~$\Neptune$ and Pluto~$\Pluto$. +But the Moon~$\Moon$ is not.\par}\enspace\right\rfilet +$$ +Also, there are Aries $\Aries$, Taurus $\Taurus$, Gemini $\Gemini$, +Leo $\Leo$, Libra $\Libra$, Scorpio $\Scorpio$, etc. (Notice the use of +{\tt\string\lfilet} and {\tt\string\rfilet} in the previous +paragraph---which names may be changed.) + +Of course, some symbols have an {\it alias}\/ +such as\/ {\tt\string\girl} and\/ {\tt\string\boy}: +$$ + \{(\boy,\boy),(\boy,\girl),(\girl,\boy),(\girl,\girl)\}. +$$ +These symbols are nice in some usual exercices of +elementary Probability Theory. + +The {\tt\string\rip} sign is mostly for fun. It is not an +astronomical/logical symbol but is located among them in {\it +mathb}. In the Theory of Markov Processes, a cemetery sign is often +needed. We have designed the following ugly and not so necessary one: +$\rip{}\rip\rip\rip$. Many successive {\tt\string\rip} signs glue to +each others. + +\section{Unsupported} + +{\font\unsupported=mathc10 +\unsupported +As one can see further on, many things are unsupported. But this does not mean that few things extracted from unsupported stuff are not interesting. Below, one can see some shape that comes from my favorite pen and another I saw once on the web and thought it was astonishingly beautiful. +{\font\unsupported=mathu10 +\def\greekfill{\hss\cleaders\hbox{\unsupported\char"9D}\hfill}% +\def\ghaneanfill{\hss\cleaders\hbox{\unsupported\char"9E}\hfill}% +\medbreak +\line{\greekfill} +\line{\ghaneanfill}} +\medbreak\noindent +See {\it mathc10}, {\it mathu10}, {\it mathux10} in the next pages.} +\newpage + +\section{Mathabx font tables} + +\subsection*{Matha, major symbols series} + +{\def\fontname{matha10 } +\startfont\table} +%{\def\fontname{matha5 } +%\startfont\table} + +\newpage + +\subsection*{Mathb, minor symbols series} + +{\def\fontname{mathb10 } +\startfont\table} +%{\def\fontname{mathb5 } +%\startfont\table} + +\newpage + +\subsection*{Mathx, major extensible symbols series} +{\centerlargechars +\def\fontname{mathx10 } +\startfont\table} +%{\centerlargechars +%\def\fontname{mathx5 } +%\startfont\table} + +\newpage + +\subsection*{Mathc, unsupported calligraphic series} +{\font\unsupported=mathc10 +\unsupported +The series\/ {\it mathc}\/ have some features that may interest +people: it contains the whole set of calligraphic characters +of\/ {\tt cmsy} and also extends it. The first part of this extension +is the latin lowercase letters, and also the punctuation which +make it a quite complete OT1 font. This part of the extension is due +to me. Hebrew characters have been converted to MetaFont, +adapted and extended (dagesh sign) also by me, but the source +is some ``professional'' or commercial font. + +Things are in progress: <\,punctuation\,>, <<\,ligatures\,>>, greek letters\dots\ +Designs are deeply based on {\it Computer Modern}. +Thus these series should be named +cmchXX\dots } + +\docomparison{mathc10 }{cmsy10}from 65 to 90. +\docomparison{cmsy10 }{cmmi10}from 65 to 90. +\docomparison{mathc10 }{cmmi10}from 65 to 90. +\docomparison{mathc10 }{cmmi10}from 97 to 122. + +\UsualTest{mathc10 } + + +\subsection*{Random test of gray} + +{\font\currentfont=mathc10\currentfont +\mixfrom 97 to 122. +\mixfrom 160 to 191. +\digits +} +%\mixfrom 192 to 255.} + +\newpage + +\subsection*{Mathu, unsupported symbols series} + +{\centerlargechars +\def\fontname{mathu10 } +\startfont\table} + +\subsection*{Mathux, unsupported extensible symbols series} + +{\centerlargechars +\def\fontname{mathux10 } +\startfont\table} + +\subsection*{Mathastrotest10, about the metaness +of astronomical/logical symbols}\break +Who cares about astronomical/logical symbols? So why trying to do +something great with them? General shapes are even unstable: they are +never the same from a reference to another. I think that I've been +convinced by the presence of some such symbols in the fonts tables of +the famous book ``The Printing of Mathematics''. By the way it +remembers me that if I want to extend this subset of {\it mathb}, I +would have to take into account that I have already put some metaness +in these designs. + +\medbreak\noindent +{\font\currentfont=mathastrotest10 +\currentfont +\count0=0 +\loop\ifnum\count0<32\relax\count1=\count0 +{\loop\ifnum\count1<256\char\the\count1\advance\count1 by 32\repeat} +\hfil\allowbreak\advance\count0 by 1\repeat} + +{\def\fontname{mathastrotest10 } +\startfont\table} + + +\bye + + + + diff --git a/Master/texmf-dist/doc/fonts/mathabx/testmac.tex b/Master/texmf-dist/doc/fonts/mathabx/testmac.tex new file mode 100644 index 00000000000..c68a15c5a9d --- /dev/null +++ b/Master/texmf-dist/doc/fonts/mathabx/testmac.tex @@ -0,0 +1,521 @@ +% +% TESTMAC.tex (december 20, 2003) +% +\catcode`\@=11 +% +% Page setup +% +%\magnification=\magstep1 +\voffset=0.12 true cm +\hoffset=0.31 true cm +\vsize=24.2 true cm +\hsize=15.3 true cm +\parindent=1.333em +% +% Heading +% +\font\nineit=cmti9 +\font\twelverm=cmr12 +\newif\iftitle +\titlefalse +\footline={\hfil} +\headline={\iftitle\hfil\global\titlefalse + \ifodd\pageno\advance\pageno by 1\fi + \else\vbox{\line{\ifodd\pageno + {\nineit\@title}\hfil\llap{\tenrm\folio} + \else\rlap{\tenrm\folio}\hfill{\nineit\@title}% + \fi}\vskip6pt\hrule}\fi} +% +% Sectionning +% +\def\,{\ifmmode\mskip\thinmuskip\else\thinspace\fi} +\def\dots{\ifmmode\ldots\else% + .\kern\fontdimen3\font + .\kern\fontdimen3\font + .\fi} +% +\def\french{\frenchspacing\language=1 + \def\@textsep{~---~}% + \def\Author{Auteur~}\def\LastVersion{Derni\`ere version~}% + \def\today{\day\space\ifcase\month\or + janvier\or f\'evrier\or mars\or avril\or mai\or juin\or + juillet\or ao\^ut\or septembre\or octobre\or novembre\or + d\'ecembre\fi\space\number\day,\space\number\year}}% +% +\def\english{\frenchspacing\language=0 + \let\@textsep\enspace + \def\Author{Author}\def\LastVersion{Last version}% + \def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or + December\fi\space\number\day,\space\number\year}}% +% +\def\title#1{\gdef\@title{#1}}% +\def\subtitle#1{\def\@subtitle{#1}}% +\def\author#1{\def\@author{#1}}% +% +\def\maketitle{\global\titletrue{\parindent=0pt + \leavevmode + \ifx\@title\undefined\else{\twelverm\@title}\par\fi + \vskip 6pt + \hrule height 6pt + \vskip 6pt + \ifx\@subtitle\undefined\else\hfill{\twelverm\@subtitle}\par\fi + \ifx\@author\undefined\else\hfill{\rm\Author: \@author}\par\fi + \hfill{\rm\LastVersion: \today}}\vskip2\baselineskip} +% +\newcount\sectno +\newcount\subsectno +\def\section#1{\vskip\z@ plus\baselineskip + \penalty-250\vskip\z@ plus-\baselineskip + \bigbreak\noindent\ifx#1*% + \def\@tmp##1{{\bf##1}\par\nobreak\medskip}\else + \global\advance\sectno by 1 + \global\subsectno=0 + \def\@tmp{\the\sectno.\enspace{\bf#1}\par\nobreak\medskip}\fi + \@tmp}% +\def\subsection#1{\medbreak\noindent\ifx#1*% + \def\@tmp##1{{\bf##1\unskip.}\@textsep\ignorespaces}\else + \global\advance\subsectno by 1 + \def\@tmp{\the\subsectno.\enspace{\bf#1\unskip.}% + \@textsep\ignorespaces}\fi + \@tmp}% +\def\description{\medbreak\bgroup + \def\item##1{\medbreak\hangindent\parindent\leavevmode + \hskip-\parindent{\bf##1.}\enspace\ignorespaces}% + \def\subitem##1{\smallbreak\hangindent2\parindent\leavevmode + {\it##1.}\enspace\ignorespaces}% + \def\subsubitem##1{\par\hangindent3\parindent\leavevmode + \hskip\parindent{##1.}\enspace\ignorespaces}% + \let\itemitem=\subitem}% +\def\enddescription{\egroup\medbreak}% +\def\cs#1{\hbox{\tt\string#1}}% +% +% verbatim +% +\newdimen\tabindent\tabindent=2em +\let\verbatimsep\quad +{\obeyspaces\gdef {\leavevmode\space}% +\catcode`\^^I=\active\gdef^^I{\hskip\tabindent}}% +\def\rawverbatim{% + \def\@numberedverbatimpar{\def\par{\ifvmode + \endgraf\vskip\baselineskip\advance\count@ by 1 + \else\endgraf\fi}% + \everypar={\advance\count@ by 1\leavevmode + \llap{\the\count@\verbatimsep}}}% + \def\@verbatimpar{\def\par{\ifvmode + \endgraf\vskip\baselineskip\else\endgraf\fi}% + \everypar={}}}% +\def\smartverbatim{% + \def\@numberedverbatimpar{% + \def\par{\ifvmode\endgraf + \ifdim\lastskip<\medskipamount + \removelastskip\penalty-100\medskip + \@verbatimskiptrue\fi\else\endgraf\fi}% + \everypar={\advance\count@ by 1\leavevmode + \@ifverbatimskip + \llap{\the\count@\verbatimsep}% + \@verbatimskipfalse\fi}}% + \def\@verbatimpar{% + \def\par{\ifvmode\endgraf + \ifdim\lastskip<\medskipamount + \removelastskip\penalty-100\medskip\fi + \else\endgraf\fi}% + \everypar={}}}% +% +\def\@verbatimskiptrue{\let\@ifverbatimskip\iftrue}% +\def\@verbatimskipfalse{\let\@ifverbatimskip\iffalse}% +\smartverbatim +\def\verb{\bgroup\tt\uncatcodespecials\obeyspaces\@verb}% +\def\verbatim{\medbreak\bgroup + \rightskip=0\p@ minus 1000\p@ + \tt\uncatcodespecials\obeyspaces + \catcode`\^^I=\active\@verbatim}% +\def\@verbatim#1{\ifx#1[% + \@verbatimskiptrue + \@numberedverbatimpar\obeylines\let\@next=\@@verbatim + \else\@verbatimpar\obeylines\parindent=0\p@ + \def\@next{\@@@verbatim#1}\fi\@next}% +\def\@@verbatim#1]{\setbox0=\hbox{#1\verbatimsep}\parindent=\wd0 + \count@=0\@@@verbatim}% +\def\verbatimfile#1{\ifx#1[\let\@next\@verbatimfile + \else\def\@next{\@@verbatimfile{\input #1}}\fi\@next}% +\def\@verbatimfile#1]#2{\@@verbatimfile{[#1]\input #2}}% +{\catcode`\|=0\catcode`\\=12 +|gdef|@verb#1\endverb{#1|egroup}% +|gdef|@@@verbatim#1\endverbatim{#1|egroup|medbreak}% +|gdef|@@verbatimfile#1{|verbatim #1|relax\endverbatim}}% +\def\uncatcodespecials{\def\do##1{\catcode`##1=12 }\dospecials}% +% +\long\def\comments#1\endcomments{}% +\def\fuzzytext{\tolerance=9999\hfuzz=3em\vfuzz=0.1pt}% +\def\normaltext{\tolerance=200\hfuzz=0.1pt\vfuzz=0.1pt}% +\def\newpage{\par\vfill\eject}% +\newdimen\shadeshift\shadeshift=1pt +\def\shadedtext#1{{\setbox0=\hbox{#1}\leavevmode + \vtop to 0pt{\rlap{\special{color push rgb 0.75 0.75 0.75}% + \kern0.1em\lower0.1em\copy0 + \special{color pop}}\vss}\box0}}% +\long\def\shadedparagraph#1\par{{\setbox0=\vbox{\hsize=\hsize#1}% + \noindent\leavevmode + \vtop to 0pt{\rlap{\special{color push rgb 0.75 0.75 0.75}% + \kern0.1em\lower0.1em\copy0 + \special{color pop}}\vss}\box0\par}}% +% +% font tests +% +\newcount\n\newcount\m +\def\mixfrom#1to#2.{\medbreak\noindent +% {\it (Random generator by Donald Arseneau.)}\par\noindent + {\count255=#2% + \advance\count255 by -#1% + \n=0\loop\ifnum\n<25 \m=0% + {\loop\ifnum\m<43\setrannum{\count@}{#1}{#2}% + \char\count@ + \advance\m by 1 + \repeat} + \advance\n by 1\endgraf\noindent + \repeat}\medbreak} +% +\def\compare#1#2{\medbreak\noindent{% + \font\ftestfont=#1\font\stestfont=#2% + \count255=0% + {\bf#1\unskip/\ignorespaces#2} + \par\nobreak\medskip\noindent + {\loop\ifnum\count255<256 + {\ftestfont\char\count255 + \stestfont\char\count255} + \advance\count255 by 1\repeat}}\medbreak} +% +\def\docomparison#1#2from#3to#4.{\medbreak\noindent{% + \font\ftestfont=#1\font\stestfont=#2% + \count255=#3% + \count0=#4\advance\count0 by 1 + {\bf#1\unskip/\ignorespaces#2} + \par\medskip\noindent + {\loop\ifnum\count255<\count0 + {\ftestfont\char\count255 + \stestfont\char\count255$_{_{\the\count255}}$} + \advance\count255 by 1\repeat}}\medbreak} +% +\def\usuals#1{\medbreak\noindent{\bf#1\unskip.}~---~{% + \font\testfont=#1\testfont\setbaselineskip + \let\-=\allowbreak\unskip + A\-B\-C\-D\-E\-F\-G\-H\-I\-J\-K\-L\-M\-% + N\-O\-P\-Q\-R\-T\-S\-U\-V\-W\-X\-Y\-Z \- + a\-b\-c\-d\-e\-f\-g\-h\-i\-j\-k\-l\-m\-% + n\-o\-p\-q\-r\-s{}\-t\-u\-v\-w\-x\-y\-z \- + \AE\-\OE\-\O + \ae\-\oe\-\o\-\ss + +\-=\-\# @ 1\-2\-3\-4\-5\-6\-7\-8\-9\-0 \-\$ \& () []% + \medbreak}} +\def\kerningtable[#1,#2][#3,#4]{\medbreak\noindent{\parindent=0pt + \m=#4 \advance\m by -#3 \advance\m by 1 + \dim=\hsize \divide\dim by \m + \m=#1 \advance\m by -1 + \n=#3 \advance\n by -1 + {\loop\leavevmode + \ifnum\m<#2 + \advance\m by 1 + {\loop + \ifnum\n<#4 + \advance\n by 1 + \setbox0\hbox{\char\m\char\n}% + \setbox1\hbox{\char\m\null\char\n}% + \hbox to \dim{\char\m\char\n + \ifdim\wd0=\wd1\else{\rm*}\fi\hss}% + \repeat}\endgraf + \repeat}% + }\medbreak}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\hyphenation{prom-i-nent} + +%\newcount\m \newcount\n +\newcount\p \newdimen\dim +\chardef\other=12 + +\def\hours{\n=\time \divide\n 60 + \m=-\n \multiply\m 60 \advance\m \time + \twodigits\n\ heures \twodigits\m\ minutes} + +\def\twodigits#1{\ifnum #1<10 0\fi \number#1} + +\def\startfont{\tracinglostchars=0 + \fuzzytext +% \tolerance=1000 +% \raggedbottom + \parindent=0pt +% \newlinechar=`@ +% \hyphenpenalty=200 +% \doublehyphendemerits=30000 + \font\testfont=\fontname +% \spaceskip=0pt + % \leftline{{\bf\fontname\unskip}\ (tel que le \today, \`a \hours)} + % \nobreak\medskip\nobreak + \testfont %\setbaselineskip +% \ifdim\fontdimen6\testfont<10pt \rightskip=0pt plus 20pt +% \else\rightskip=0pt plus 2em \fi +% \spaceskip=\fontdimen2\testfont % space between words (\raggedright) +% \xspaceskip=\fontdimen2\testfont +% \advance\xspaceskip by\fontdimen7\testfont + } + +\def\setbaselineskip{\setbox0=\hbox{\n=0 + \loop\char\n \ifnum \n<255 \advance\n 1 \repeat} + \baselineskip=6pt \advance\baselineskip\ht0 + \advance\baselineskip\dp0 } + +\def\setchar#1{{\escapechar-1\message{\string#1 character = }% + \def\do##1{\catcode`##1=\other}\dospecials + \read-1 to\next + \expandafter\finsetchar\next\next#1}} +\def\finsetchar#1#2\next#3{\global\chardef#3=`#1 + \ifnum #3=`\# \global\chardef#3=#2 \fi} +\def\promptthree{\setchar\background + \setchar\starting \setchar\ending} + +\def\mixture{\promptthree \domix\mixpattern} +\def\alternation{\promptthree \domix\altpattern} +\def\mixpattern{\0\1\0\0\1\1\0\0\0\1\1\1\0\1} +\def\altpattern{\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0} +\def\domix#1{\par\chardef\0=\background \n=\starting + \loop \chardef\1=\n #1\endgraf + \ifnum \n<\ending \advance\n 1 \repeat} + +\def\£{\discretionary{\background}{\background}{\background}} +\def\series{\promptthree \£\doseries\starting\ending\par} +\def\doseries#1#2{\n=#1\loop\char\n\£\ifnum\n<#2\advance\n 1 \repeat} +\def\complower{\£\doseries{`a}{`z}\doseries{'31}{'34}\par} +\def\compupper{\£\doseries{`A}{`Z}\doseries{'35}{'37}\par} +\def\compdigs{\£\doseries{`0}{`9}\par} +\def\alphabet{\setchar\background\complower} +\def\ALPHABET{\setchar\background\compupper} + +\def\lowers{\docomprehensive\complower{`a}{`z}{'31}{'34}} +\def\uppers{\docomprehensive\compupper{`A}{`Z}{'35}{'37}} +\def\digits{\docomprehensive\compdigs{`0}{`4}{`5}{`9}} +\def\docomprehensive#1#2#3#4#5{\par\chardef\background=#2 + \loop{#1} \ifnum\background<#3\m=\background\advance\m 1 + \chardef\background=\m \repeat \chardef\background=#4 + \loop{#1} \ifnum\background<#5\m=\background\advance\m 1 + \chardef\background=\m \repeat} + +\def\names{ {\AA}ngel\aa\ Beatrice Claire + Diana \'Erica Fran\c{c}oise Ginette H\'el\`ene Iris + Jackie K\=aren {\L}au\.ra Mar{\'\i}a N\H{a}ta{\l}{\u\i}e {\O}ctave + Pauline Qu\^eneau Roxanne Sabine T\~a{\'\j}a Ur\v{s}ula + Vivian Wendy Xanthippe Yv{\o}nne Z\"azilie\par} +\def\punct{\par\dopunct{min}\dopunct{pig}\dopunct{hid} + \dopunct{HIE}\dopunct{TIP}\dopunct{fluff} + \$1,234.56 + 7/8 = 9\% @ \#0\par} +\def\dopunct#1{#1,\ #1:\ #1;\ `#1'\ ?`#1?\ !`#1!\ (#1)\ [#1]\ #1*\ #1.\par} + +\def\bigtest{\sample + hamburgefonstiv HAMBURGEFONSTIV\par + \names \punct \lowers \uppers \digits} + +\def\math{\textfont1=\testfont \skewchar\testfont=\skewtrial + \mathchardef\Gamma="100 \mathchardef\Delta="101 + \mathchardef\Theta="102 \mathchardef\Lambda="103 \mathchardef\Xi="104 + \mathchardef\Pi="105 \mathchardef\Sigma="106 \mathchardef\Upsilon="107 + \mathchardef\Phi="108 \mathchardef\Psi="109 \mathchardef\Omega="10A + \def\ii{i} \def\jj{j} + \def\\##1{|##1|+}\mathtrial + \def\\##1{##1_2+}\mathtrial + \def\\##1{##1^2+}\mathtrial + \def\\##1{##1/2+}\mathtrial + \def\\##1{2/##1+}\mathtrial + \def\\##1{##1,{}+}\mathtrial + \def\\##1{d##1+}\mathtrial + \let\ii=\imath \let\jj=\jmath \def\\##1{\hat##1+}\mathtrial} +\newcount\skewtrial \skewtrial='177 +\def\mathtrial{$\\A \\B \\C \\D \\E \\F \\G \\H \\I \\J \\K \\L \\M \\N \\O + \\P \\Q \\R \\S \\T \\U \\V \\W \\X \\Y \\Z \\a \\b \\c \\d \\e \\f \\g + \\h \\\ii \\\jj \\k \\l \\m \\n \\o \\p \\q \\r \\s \\t \\u \\v \\w \\x \\y + \\z \\\alpha \\\beta \\\gamma \\\delta \\\epsilon \\\zeta \\\eta \\\theta + \\\iota \\\kappa \\\lambda \\\mu \\\nu \\\xi \\\pi \\\rho \\\sigma \\\tau + \\\upsilon \\\phi \\\chi \\\psi \\\omega \\\vartheta \\\varpi \\\varphi + \\\Gamma \\\Delta \\\Theta \\\Lambda \\\Xi \\\Pi \\\Sigma \\\Upsilon + \\\Phi \\\Psi \\\Omega \\\partial \\\ell \\\wp$\par} +\def\mathsy{\begingroup\skewtrial='060 % for math symbol font tests + \def\mathtrial{$\\A \\B \\C \\D \\E \\F \\G \\H \\I \\J \\K \\L + \\M \\N \\O \\P \\Q \\R \\S \\T \\U \\V \\W \\X \\Y \\Z$\par} + \math\endgroup} + +\def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant +\def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant +\def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal + \m=\n \divide\m by 64 \xdef\0{\the\m}% + \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}} +\def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}% + \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F% + \global\p=\lastpenalty}} % \p=1 if none of the characters exist +\def\oddline{\cr + \noalign{\nointerlineskip} + \multispan{19}\hrulefill& + \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr + \noalign{\nointerlineskip}} +\newif\ifskipping +\def\evenline{\loop\skippingfalse + \ifnum\n<256 \m=\n \divide\m 16 \chardef\next=\m + \expandafter\setdigs\meaning\next \testrow + \ifnum\p=1 \skippingtrue \fi\fi + \ifskipping \global\advance\n 16 \repeat + \ifnum\n=256 \let\next=\endchart\else\let\next=\morechart\fi + \next} +\def\morechart{\cr\noalign{\hrule\penalty5000} + \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m} + \chartline \evenline} +\def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&} +\def\chartstrut{\lower4.5pt\vbox to14pt{}} +\def\table{\bigbreak\global\n=0 + \halign to\hsize\bgroup + \chartstrut##\tabskip0pt plus10pt& + &\hfil##\hfil&\vrule##\cr + \lower6.5pt\null + &\hbox to 0pt{\hss\rm\fontname\hss} + &&\oct0&&\oct1&&\oct2&&\oct3&&\oct4 + &&\oct5&&\oct6&&\oct7&\evenline} +\def\endchart{\cr\noalign{\hrule} + \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B& + &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup\bigbreak\par} +\def\:{\setbox0=\hbox{\char\n}% + \ifdim\ht0>7.5pt\reposition + \else\ifdim\dp0>2.5pt\reposition\fi\fi + \box0\global\advance\n 1 } +\def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0 + \advance\dim 2pt \dp0=\dim} +\def\centerlargechars{ + \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}} + +\def\text{{%\advance\baselineskip-4pt +%\setbox0=\hbox{abcdefghijklmnopqrstuvwxyz} +%\ifdim\hsize>2\wd0 \ifdim 15pc>2\wd0 \hsize=15pc \else \hsize=2.5\wd0 \fi\fi +On November 14, 1885, Senator \& Mrs.~Leland Stanford called +together at their San Francisco mansion the 24~prominent men who had +been chosen as the first trustees of The Leland Stanford Junior University. +They handed to the board the Founding Grant of the University, which they +had executed three days before. This document---with various amendments, +legislative acts, and court decrees---remains as the University's charter. +In bold, sweeping language it stipulates that the objectives of the University +are ``to qualify students for personal success and direct usefulness in life; +and to promote the publick welfare by exercising an influence in behalf of +humanity and civilization, teaching the blessings of liberty regulated by +law, and inculcating love and reverence for the great principles of +government as derived from the inalienable rights of man to life, liberty, +and the pursuit of happiness.'' \moretext +(!`THE DAZED BROWN FOX QUICKLY GAVE 12345--67890 JUMPS!)\par}} +\def\moretext{?`But aren't Kafka's Schlo{\ss} and {\AE}sop's {\OE}uvres +often na{\"\i}ve vis-\`a-vis the d{\ae}monic ph{\oe}nix's official r\^ole +in fluffy souffl\'es? } +\def\omitaccents{\let\moretext=\relax} +\def\sample{\table\text} +\def\UsualTest#1{{\def\fontname{#1 }\startfont\sample\names}} +\english +\def\LaTeX{L\kern-.36em% + {\setbox\z@\hbox{T}% + \vbox to\ht\z@{\hbox{$\rm\scriptstyle A$}% + \vss}% + }% + \kern-.15em% + \TeX} +\catcode`\@=12 + +% RANDOM.TEX v.1 (Donald Arseneau) +% Generating "random" numbers in TeX. +% +% Random integers are generated in the range 1 to 2147483646 by the +% macro \nextrandom. The result is returned in the counter \randomi. +% Do not change \randomi except, perhaps, to initialize it at some +% random value. If you do not initialize it, it will be initialized +% using the time and date. (This is a sparse initialization, giving +% fewer than a million different starting values, but you should use +% other sources of numbers if they are available--just remember that +% most of the numbers available to TeX are not at all random.) +% +% The \nextrandom command is not very useful by itself, unless you +% have exactly 2147483646 things to choose from. Much more useful +% is the \setrannum command which sets a given counter to a random +% value within a specified range. There are three parameters: +% \setrannum {<counter>} {<minimum>} {<maximum>}. For example, to +% simulate a die-roll: \setrannum{\die}{1}{6} \ifcase\die... . +% +% If you need random numbers that are not integers, you will have to +% use dimen registers and \setrandimen. For example, to set a random +% page width: \setrandimen \hsize{3in}{6.5in}. The "\pointless" macro +% will remove the "pt" that TeX gives so you can use the dimensions +% as pure `real' numbers. In that case, specify the range in pt units. +% For example, +% \setrandimen\answer{2.71828pt}{3.14159pt} +% The answer is \pointless\answer. +% +% The random number generator is the one by Lewis, Goodman, and Miller +% (1969) and used as "ran0" in "Numerical Recipies" using Schrage's +% method for avoiding overflows. The multiplier is 16807 (7^5), the +% added constant is 0, and the modulus is 2147483647 (2^{31}-1). The +% range of integers generated is 1 - 2147483646. A smaller range would +% reduce the complexity of the macros a bit, but not much--most of the +% code deals with initialization and type-conversion. On the other hand, +% the large range may be wasted due to the sparse seed initialization. + +\newcount\randomi % the random number seed (while executing) +\global\randomi\catcode`\@ % scratch variable during definitions +\catcode`\@=11 + +\def\nextrandom{\begingroup + \ifnum\randomi<\@ne % then initialize with time + \global\randomi\time + \global\multiply\randomi388 \global\advance\randomi\year + \global\multiply\randomi31 \global\advance\randomi\day + \global\multiply\randomi97 \global\advance\randomi\month + \message{Randomizer (from random.tex) initialized to \the\randomi.}% + \nextrandom \nextrandom \nextrandom + \fi + \count@ii\randomi + \divide\count@ii 127773 % modulus = multiplier * 127773 + 2836 + \count@\count@ii + \multiply\count@ii 127773 + \global\advance\randomi-\count@ii % random mod 127773 + \global\multiply\randomi 16807 + \multiply\count@ 2836 + \global\advance\randomi-\count@ + \ifnum\randomi<\z@ \global\advance\randomi 2147483647\relax\fi + \endgroup +} + +\countdef\count@ii=2 % use only in boxes! +\ifx\@tempcnta\undefined \csname newcount\endcsname \@tempcnta \fi +\ifx\@tempcntb\undefined \csname newcount\endcsname \@tempcntb \fi + +\def\setrannum#1#2#3{% count register, minimum, maximum + \@tempcnta#3\advance\@tempcnta-#2\advance\@tempcnta\@ne + \@tempcntb 2147483645 % = m - 2 = 2^{31} - 3 + \divide\@tempcntb\@tempcnta + \getr@nval + \advance\ranval#2\relax + #1\ranval +} + +\def\setrandim#1#2#3{% dimen register, minimum length, maximum length + \dimen@#2\dimen@ii#3\relax + \setrannum\ranval\dimen@\dimen@ii + #1\ranval sp\relax +} + +\def\getr@nval{% The values in \@tempcnta and \@tempcntb are parameters + \nextrandom + \ranval\randomi \advance\ranval\m@ne \divide\ranval\@tempcntb + \ifnum\ranval<\@tempcnta\else \expandafter\getr@nval \fi +} + +\def\pointless{\expandafter\PoinTless\the} +{\catcode`p=12 \catcode`t=12 +\gdef\PoinTless#1pt{#1}} + +\catcode`\@=\randomi +\global\randomi=0 +\newcount\ranval + +\endinput |