%%%======================================================================== %%% @TeX-font-metrics-file{ %%% author = "Alan Jeffrey and Lars Hellstr{\"o}m", %%% version = "1.915", %%% date = "20 November 2000", %%% time = "17:01:00 CEST", %%% filename = "mathex.mtx", %%% checksum = "", %%% email = "fontinst@cogs.susx.ac.uk", %%% codetable = "ISO/ASCII", %%% keywords = "encoding, math, TeX, PostScript", %%% supported = "yes", %%% abstract = "These are the extra glyphs needed for TeX %%% math fonts, used by the fontinst package.", %%% package = "fontinst", %%% dependencies = "fontinst.sty, fontdoc.sty", %%% } %%%======================================================================== \relax \documentclass[twocolumn]{article} \usepackage{fontdoc}[1999/11/04] \title{The \texttt{fontinst} math symbol glyphs} \author{Alan Jeffrey\and Lars Hellstr\"om} \date{November 20, 2000} \showbranches \begin{document} \maketitle \section{Introduction} This document describes the glyphs used by the \texttt{fontinst} package when generating math symbol fonts. \metrics % Uses the fontinst package. \needsfontinstversion{1.900} % \unfakable is a glyph which can't be faked. \setcommand\unfakable#1{ \setglyph{#1} \glyphrule{500}{500} \glyphwarning{missing glyph `#1'} \endsetglyph } \begincomment\medskip An \textbf{Unfakable} is a glyph which can't be faked. An ``\textbf{Unfakable `\#1'}\,'' is equivalent to \begin{quotation}\unfakable{\#1}\end{quotation} \resetcommand\unfakable#1{\Aheading{Unfakable `#1'}} \endcomment % \extensible and \vextensible define a number of extensible glyphs. \setcommand\extensible#1{ \begincomment \subsection{The `#1' extensible}% \endcomment \unfakable{#1} \unfakable{#1tp} \unfakable{#1mid} \unfakable{#1bt} \unfakable{#1ex} \setglyph{#1big} \glyph{#1}{1000} \endsetglyph \setglyph{#1Big} \glyph{#1big}{1000} \endsetglyph \setglyph{#1bigg} \glyph{#1Big}{1000} \endsetglyph \setglyph{#1Bigg} \glyph{#1bigg}{1000} \endsetglyph } \setcommand\vextensible#1{ \begincomment \subsection{The `#1' extensible}% \endcomment \unfakable{#1} \unfakable{#1tp} \unfakable{#1mid} \unfakable{#1bt} \unfakable{#1vertex} \setglyph{#1big} \glyph{#1}{1000} \endsetglyph \setglyph{#1Big} \glyph{#1big}{1000} \endsetglyph \setglyph{#1bigg} \glyph{#1Big}{1000} \endsetglyph \setglyph{#1Bigg} \glyph{#1bigg}{1000} \endsetglyph } % \wideaccent defines a wide accent. \setcommand\wideaccent#1{ \begincomment \subsection{The `#1' wide accents}% \endcomment \unfakable{#1} \setglyph{#1wide} \glyph{#1}{1000} \endsetglyph \setglyph{#1wider} \glyph{#1wide}{1000} \endsetglyph \setglyph{#1widest} \glyph{#1wider}{1000} \endsetglyph } \comment{\textit{displayoperatorscale} is the difference in scale between a big and a display operator, exept for integrals, which have their own scale.} \setint{displayoperatorscale}{1200} \setint{integralscale}{1728} \ifisglyph{product}\then \setint{textoperatorsize}{ \add{\height{product}}{\depth{product}} } \Else \setint{textoperatorsize}{1000} % Default taken from cmex10. \Fi % \integral, \bigoperator and \biggoperator define operators. \setcommand\integral#1{ \begincomment \subsection{The `#1' integrals}% \endcomment \unfakable{#1} \setglyph{#1text} \glyph{#1}{1000} \endsetglyph \setglyph{#1display} \glyph{#1text}{\int{integralscale}} \endsetglyph } \setcommand\bigoperator#1{ \begincomment \subsection{The `#1' big operators}% \endcomment \unfakable{#1} \setglyph{#1text} \glyph{#1}{1000} \endsetglyph \setglyph{#1display} \glyph{#1text}{\int{displayoperatorscale}} \endsetglyph } \setcommand\biggoperator#1{ \begincomment \subsection{The `#1' big operators}% \endcomment \unfakable{#1} \setglyph{#1text} \glyph{#1}{ \div{\mul{1000}{\int{textoperatorsize}}} {\add{\height{#1}}{\depth{#1}}} } \endsetglyph \setglyph{#1display} \glyph{#1text}{\int{displayoperatorscale}} \endsetglyph } \begincomment \section{Math extension glyphs} \endcomment \unfakable{bracketleftbt} \unfakable{bracketrightbt} \unfakable{bracketlefttp} \unfakable{bracketrighttp} \setglyph{floorleft} \glyph{bracketleftbt}{1000} \endsetglyph \setglyph{floorright} \glyph{bracketrightbt}{1000} \endsetglyph \setglyph{ceilingleft} \glyph{bracketlefttp}{1000} \endsetglyph \setglyph{ceilingright} \glyph{bracketrighttp}{1000} \endsetglyph \setglyph{bardbl} \glyph{bar}{1000} \glyph{bar}{1000} \endsetglyph \setglyph{barex} \glyph{bar}{1000} \endsetglyph \setglyph{bardblex} \glyph{bardbl}{1000} \endsetglyph \setglyph{arrowtp} \glyph{arrowup}{1000} \endsetglyph \setglyph{arrowbt} \glyph{arrowdown}{1000} \endsetglyph \setglyph{arrowdbltp} \glyph{arrowdblup}{1000} \endsetglyph \setglyph{arrowdblbt} \glyph{arrowdbldown}{1000} \endsetglyph \unfakable{tilde} \setglyph{hat} \glyph{circumflex}{1000} \endsetglyph \unfakable{plus} \unfakable{union} \setglyph{unionmulti} \push \movert{\div{\sub{\width{union}}{\scale{\width{plus}}{700}}}{2}} \moveup{\div{\width{plus}}{4}} \glyph{plus}{700} \pop \glyph{union}{1000} \endsetglyph \extensible{parenleft} \extensible{parenright} \extensible{bracketleft} \extensible{bracketright} \extensible{braceleft} \extensible{braceright} \extensible{floorleft} \extensible{floorright} \extensible{ceilingleft} \extensible{ceilingright} \extensible{slash} \extensible{backslash} \extensible{angleleft} \extensible{angleright} \wideaccent{hat} \wideaccent{tilde} \vextensible{radical} \vextensible{arrow} \extensible{arrowdbl} \unfakable{arrowvertexdbl} \biggoperator{unionsq} \biggoperator{circledot} \biggoperator{circleplus} \biggoperator{circlemultiply} \biggoperator{unionmulti} \biggoperator{intersection} \biggoperator{union} \biggoperator{logicaland} \biggoperator{logicalor} \bigoperator{product} \bigoperator{summation} \bigoperator{coproduct} \integral{integral} \integral{contintegral} \begincomment \subsection{Horizontal braces} \endcomment \unfakable{bracehtipdownleft} \unfakable{bracehtipdownright} \unfakable{bracehtipupleft} \unfakable{bracehtipupright} \endmetrics \section{Changes} 29 Dec 1993, v1.30: Created file. 3 Jan 1994, v1.301: Renamed some of the glyphs, added fakes for \texttt{arrowverttp} and friends. 8 Jan 1994, v1.304: Renamed \texttt{similareq} to \texttt{similarequal}. 9 Jan 1994, v1.305: Renamed some glyphs to use the same names as Lucida New Math. 16 October 2000, v\,1.915: Updated markup (made it a \LaTeXe\ document!). (LH) 20 November 2000, v\,1.915: Added test for whether the \texttt{product} glyph exists before setting the \textit{textoperatorsize}, using value corresponding to \texttt{cmex10} if it doesn't. Changed \verb|\wideaccent| to call the widest glyph \textellipsis\texttt{widest} instead of \textellipsis\texttt{widerr}. Changed glyph name \texttt{arrowdblvertex} to \texttt{arrowvertexdbl}. (LH) Reported by Alejandro L\'{o}pez-Valencia. \end{document}