My humble additions to (La)TEX mathematics^{∗}

Yannis Haralambous^{†}

                         haralambous@univ-lille1.fr

January 4, 1996

Abstract

This package provides a set of big delimiters, intermediate to those of the original TEX, and also much bigger. It also provides very wide accents (including two new ones: parenthesis and triangle). These symbols are included in a font which has Don’s cmex10 as lower ASCII part.

1 Installation

This package consists of (a) a font, written in Metafont, (b) a L^{A}TEX style file, (c) a FD file for the OMX encoding using the new font. To build the font put all the Metafont files somewhere where your Metafont can find them (for example in texmf/fonts/src/public/yhmath)

Then launch Metafont at least once on yhcmex10 so that at least one TFM file exists when you’ll start typesetting (dvips and similar programs will create the PKs, don’t worry).

Then take the OMXyhex.fd file and put it together with your other FD (Font Definition) files; and yhmath.sty together with your other L^{A}TEX styles. Have fun!

2 Availability

Don Knuth’s code is included in Metafont files, so this code is under the usual TEXware \begin{matrix}c \\ ◯ \end{matrix}opyright conditions. My code is postcard-ware (if you like it and find it is worth a postcard + a stamp + the mental effort of writing a word [optional!] and the physical effort of going to the nearest mailbox, then do it!).

Everything is on CTAN, and if there are upgrades you will be informed in the usual way.

3 Very big delimiters

I never liked those parentheses of matrices which become almost immediately straight. In traditional math typography, parentheses stay curved, even if they are very big. So I decided to play around with TEX’s charlist font property, and make some more of those big delimiters. I also did intermediate sizes (for all “big” delimiters). Here are some examples :

∗This file is ?, last revised ?.

†Address: 187, rue Nationale, 59800 Lille, France

\begin{matrix}a & b \\ c & d \end{matrix} \begin{matrix}a & b & c \\ d & e & f \\ g & h & i \end{matrix}  \begin{matrix}a & b & c & d \\ e & f & g & h \\ i & j & k & l \\ m & n & o & p \end{matrix}  (1)

\begin{matrix}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 \end{matrix}  \begin{matrix}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 & α & β & γ & δ \end{matrix}  (2)

4 A new AMS-L^{A}TEX-like matrice-like environnement

Since I did also “very big” versions of the “left angle” and “right angle” symbols, why not making “matrices” with them as delimiters? I have never seen such a mathematical object, but perhaps was it just because this constructions wasn’t available yet? (this is a chicken and egg story).

amatrix I called this new AMS-L^{A}TEX-like environment amatrix (“a” for “angle”). I

hope AMS people will just love it and include it into AMS-L^{A}TEX!^{1} Here are the same matrices as above, with angles instead of parentheses:

\begin{matrix}a & b \\ c & d \end{matrix} \begin{matrix}a & b & c \\ d & e & f \\ g & h & i \end{matrix}  \begin{matrix}a & b & c & d \\ e & f & g & h \\ i & j & k & l \\ m & n & o & p \end{matrix}  (3)

\begin{matrix}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 \end{matrix}  \begin{matrix}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 & α & β & γ & δ \end{matrix}  (4)

5 New roots

Roots got bigger as well, so that now the “vertical root” comes much later. Example :

\sqrt{\overline{\overline{\overline{\overline{\overline{\overline{\sqrt{\overline{\overline{\sqrt{\overline{\sqrt{x}}}}}}}}}}}}}

1Talking of AMS-L^{A}TEX there are a few more macros I would like to see included, see next section.

6 A few things missing from AMS-L^{A}TEX v1.2

\adots In AMS-L^{A}TEX there is a \ddots command for diagonal dots. How about antidiagonal ones? There are matrices called anti-symmetric, and for them we need the notation “dots going up”. I define a \adots macro, with a code symetric to

\ddots, here is the result: .... \ring Another thing missing in all TEX & Co. packages: the ring accent, used in

topology for the interior of a space. I define a macro \ring to be used in math mode. Here is the result: if X = [0, 1] then X̊ =]0, 1[.

7 Very wide accents

\widetriangle I added some more hats and tildes, so that you can get really wide accents now; \wideparen see the examples below:

Â, ÂB, ; ABC, ; ABCD, ; ABCDE, ; ABCDEF , ; ABCDEF G

Ã, ÃB, ; ABC, ; ABCD, ; ABCDE, ; ABCDEF , ; ABCDEF G

I also designed two new accents: the triangle accent \widetriangle and the parenthesis accent \wideparen:

; A, ; AB, ; ABC, ; ABCD, ; ABCDE, ; ABCDEF , ; ABCDEF G

; A, ; AB, ; ABC, ; ABCD, ; ABCDE, ; ABCDEF , ; ABCDEF G

The former is used (in France only??) to show that the notation ABC, where A, B, C are three points, means a triangle and not an angle. See what I mean? ; ABC is a triangle, ; ABC is an angle.

The latter is used when we want a non-expansible accent to be applied to more than one letters at once. Of course AMS-L^{A}TEX has given a solution to this (place the symbols between parentheses and the accent as an exponent of the right parenthesis), by I happen not to like that solution. For example if I want to write “the interior of [0, 1]” I prefer to see

˚ ; [0, 1]

than

([0, 1])˚

don’t you?

And of course this notation is not my invention, I saw it in many French math books (ever heard of Nick Bourbaki?).

\widering I call this macro \widering, because it plays the rôle of a wide symbol (and since the ring can’t be widened, a parenthesis is used). Here are some more examples (the first one coded as \ring{A}):

Å, ˚  ; AB, ˚  ; ABC, ˚  ; ABCD, ˚  ; ABCDE, ˚  ; ABCDEF , ˚  ; ABCDEF G,

8 The code

1 ⟨∗package⟩

We require that the amsmath package is loaded:

 2 \RequirePackage{amsmath}

First of all we have to ask L^{A}TEX to use our brand new font for “large symbols”

 3 \DeclareSymbolFont{largesymbols}{OMX}{yhex}{m}{n}

Next, the four “wide” accents are defined, in a way similar to L^{A}TEX and not to AMS-L^{A}TEX, so yhmath must be loaded after amsmath!

 4 \DeclareMathAccent{\widetilde}{\mathord}{largesymbols}{"65}
 5 \DeclareMathAccent{\widehat}{\mathord}{largesymbols}{"62}
 6 \DeclareMathAccent{\widetriangle}{\mathord}{largesymbols}{"E6}
 7 \DeclareMathAccent{\wideparen}{\mathord}{largesymbols}{"F3}

The amatrix environment is defined

 8 \newenvironment{amatrix}{\left\langle\matrix}{\endmatrix\right\rangle}

And now the \adots macro for anti-diagonal dots. This is just the \ddots command, mirrored

 9 \def\adots{\mathinner{\mkern2mu\raise\p@\hbox{.}
10 \mkern2mu\raise4\p@\hbox{.}\mkern1mu
11 \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}}

Following the way AMS-L^{A}TEX defines math accents, here is the definition of \ring. family.

12 \edef\@tempa#1#2{\def#1{\mathaccent\string"\noexpand\accentclass@#2 }}
13 \@tempa\ring{017}

And finally here is a (clumsy) definition of \widering, that is a ring over an horizontal parenthesis.

14 \newcommand{\widering}[1]{\overset{\smash{\lower1.333ex\hbox{$%
15 \displaystyle\ring{}$}}}{\wideparen{#1}}}

16 ⟨/package⟩

17 ⟨∗fdfile⟩

Follows the FD file. Here we define the yhex family, at least for the OMX (Old Math Extensible symbols) encoding

18 \ProvidesFile{OMXyhex.fd}
19  [1996/01/04 v1.0 YH's humble contribution to TeX maths]
20 \DeclareFontFamily{OMX}{yhex}{}{}
21 \DeclareFontShape{OMX}{yhex}{m}{n}{
22 <-> sfixed * yhcmex10
23 }{}

24 ⟨/fdfile⟩