diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/mathgifg |
Initial commit
Diffstat (limited to 'fonts/mathgifg')
-rw-r--r-- | fonts/mathgifg/README | 10 | ||||
-rw-r--r-- | fonts/mathgifg/mathgifg.bib | 59 | ||||
-rw-r--r-- | fonts/mathgifg/mathgifg.dtx | 576 | ||||
-rw-r--r-- | fonts/mathgifg/mathgifg.ins | 58 | ||||
-rw-r--r-- | fonts/mathgifg/mathgifg.pdf | bin | 0 -> 170661 bytes | |||
-rw-r--r-- | fonts/mathgifg/sample.pdf | bin | 0 -> 713907 bytes | |||
-rw-r--r-- | fonts/mathgifg/sample.tex | 757 |
7 files changed, 1460 insertions, 0 deletions
diff --git a/fonts/mathgifg/README b/fonts/mathgifg/README new file mode 100644 index 0000000000..a02356de1f --- /dev/null +++ b/fonts/mathgifg/README @@ -0,0 +1,10 @@ + LaTeX Support for Microsoft Georgia + and ITC Franklin Gothic In Text and Math + Version 0.4 + +This package provides LaTeX support for Microsoft Georgia and ITC +Franklin Gothic fonts, supplied, for example, with Microsoft Windows. +The package provides support for text and math. + +The math support is very preliminary: there is a lot of work to do on +individual kerning and glyph placement! diff --git a/fonts/mathgifg/mathgifg.bib b/fonts/mathgifg/mathgifg.bib new file mode 100644 index 0000000000..0455780156 --- /dev/null +++ b/fonts/mathgifg/mathgifg.bib @@ -0,0 +1,59 @@ +,-------------------. +| BIBTEX ENTRIES | +`-------------------' + +@manual{Winfonts, + author = {Paul Pichaureau}, + month = {January}, + note = {\url{http://www.ctan.org/tex-archive/fonts/winfonts/}}, + title = {Winfonts \& Windingbats. Two Packages to Use + {W}indows Core Fonts}, + year = {2006}, +} + +@manual{fontname, + author = {Karl Berry}, + month = {September}, + note = + {\url{http://www.ctan.tug.org/tex-archive/info/fontname}}, + title = {Fontname. Filenames For {\TeX} Fonts}, + year = {2005}, +} + +@manual{fontinstallationguide, + author = {Philipp Lehman}, + month = {December}, + note = + {\url{http://www.ctan.org/tex-archive/info/Type1fonts/fontinstallationguide}% +}, + title = {The Font Installation Guide}, + year = {2004}, +} + +@book{Hoenig98:TeXUnbound, + author = {Alan Hoenig}, + publisher = {Oxford University Press, USA}, + title = {{\TeX} Unbound: {\LaTeX} and {\TeX} Strategies for + Fonts, Graphics, and More}, + year = {1998}, +} + +@manual{Schmidt04:PSNFSS9.2, + author = {Walter Schmidt}, + month = {September}, + note = + {\url{http://ctan.tug.org/tex-archive/macros/latex/required/psnfss}}, + title = {Using Common {P}ost{S}cript Fonts With {\LaTeX}. + {PSNFSS} Version 9.2}, + year = {2004}, +} + +@Manual{Downes04:amsart, + title = {The \textsf{amsart}, \textsf{amsproc}, and + \textsf{amsbook} document~classes}, + author = {Michael Downes and Barbara Beeton}, + organization = {American Mathematical Society}, + year = 2004, + month = {August}, + note = {\url{http://www.ctan.org/tex-archive/macros/latex/required/amslatex/classes}} +} diff --git a/fonts/mathgifg/mathgifg.dtx b/fonts/mathgifg/mathgifg.dtx new file mode 100644 index 0000000000..9ee737e3af --- /dev/null +++ b/fonts/mathgifg/mathgifg.dtx @@ -0,0 +1,576 @@ +% \iffalse +% $Id: mathgifg.dtx,v 1.14 2009-07-22 17:52:57 boris Exp $ +% +% Copyright (c) 2009, Boris Veytsman +% +% All rights reserved. +% +% Redistribution and use in source and binary forms, with or without +% modification, are permitted provided that the following conditions +% are met: +% +% * Redistributions of source code must retain the above copyright +% notice, this list of conditions and the following disclaimer. +% * Redistributions in binary form must reproduce the above +% copyright notice, this list of conditions and the following +% disclaimer in the documentation and/or other materials provided +% with the distribution. +% * Neither the name of the original author nor the names of the +% contributors may be used to endorse or promote products derived +% from this software without specific prior written permission. +% +% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +% CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +% MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +% DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +% EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +% TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +% DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +% ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +% OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +% OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +% POSSIBILITY OF SUCH DAMAGE. +% +% \fi +% \CheckSum{236} +% +% +%% \CharacterTable +%% {Upper-case \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 +%% Lower-case \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +%\iffalse +% Taken from xkeyval.dtx +%\fi +%\makeatletter +%\def\DescribeOption#1{\leavevmode\@bsphack +% \marginpar{\raggedleft\PrintDescribeOption{#1}}% +% \SpecialOptionIndex{#1}\@esphack\ignorespaces} +%\def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ } +%\def\SpecialOptionIndex#1{\@bsphack +% \index{#1\actualchar{\protect\ttfamily#1} +% (option)\encapchar usage}% +% \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar +% usage}\@esphack} +%\def\DescribeOptions#1{\leavevmode\@bsphack +% \marginpar{\raggedleft\strut\emph{options}% +% \@for\@tempa:=#1\do{% +% \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa +% }}\@esphack\ignorespaces} +%\makeatother +% +% +% +% \MakeShortVerb{|} +% \GetFileInfo{mathgifg.dtx} +% \title{\LaTeX{} Support for Microsoft Georgia and ITC Franklin +% Gothic In Text and Math} +% \author{Boris Veytsman\thanks{% +% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}}, +% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}} +% \date{\filedate, \fileversion} +% \maketitle +% \begin{abstract} +% This package provides \LaTeX{} support for Microsoft Georgia and +% ITC Franklin Gothic fonts, supplied, for example, with Microsoft +% Windows. You need to convert the fonts to Type 1 format to use +% this package. The package provides full support for text and +% math. +% \end{abstract} +% \tableofcontents +% +% +% \changes{v0.1}{2009/07/05}{First fully functional version} +% \changes{v0.2}{2009/07/06}{Changed bold default for Franklin Gothic} +% \changes{v0.3}{2009/07/06}{Math changes} +% \changes{v0.4}{2009/07/08}{Renamed encoding files} +% +% \clearpage +% +% +%\section{Introduction} +%\label{sec:intro} +% +% Georgia is a baroque serif typeface designed by Matthew Carter in +% 1993 and distributed by Microsoft Corporation. Franklin Gothic is a +% realist sans-serif typeface designed by Morris Fuller Benton in +% 1902. ITC Franklin Gothic, designed by David Berlow, are +% distributed by Microsoft. In this package we add \LaTeX{} support +% files for both packages. +% +% An alternative support for these fonts is provided by +% |winfonts|~\cite{Winfonts} package. However, there are several +% reasons why we chose to re-implement the \LaTeX{} support: +% \begin{enumerate} +% \item |winfonts| package uses True Type fonts, and these fonts do not +% work well with |dvips|. The present package uses Postscript Type~1 +% versions of these fonts, which work nicely with both |pdftex| and +% |dvips|. +% \item |winfonts| package does not provide a number of fonts such as +% Franklin Gothic Demi and Franklin Gothic Heavy variants. +% \item The most important reason for the reimplementation is that we +% want to use text fonts with matching math fonts. +% \end{enumerate} +% +% Since |winfonts| may be installed on a number of computers, we took +% care not to clash with it. For this we were forced to slightly +% deviate from the conventions of the |fontname| +% scheme~\cite{fontname}. Namely, according to this scheme the font +% families should be called |jgi| and |ifg|. To make unique names, we +% choose our text fonts to be called |xjgi| and |xifg|, and our math +% fonts to be called |zjgi| and |zifg| correspondingly. +% +% This package is released under BSD license to make updating the +% fonts metrics easier. +% +% The support of text fonts is limited to T1 and TS1 encoding. No +% VTeX support files are included. +% +% The math support is very preliminary: there is a lot of work to do +% on individual kerning and glyph placement! +% +% +%\section{Installation} +%\label{sec:install} +% +% First, you need to transform the fonts to the Type~1. Actually, +% |pdflatex| can use fonts in TTF format too, but to use the fonts +% when making PostScript output we need Type~1. Due to legal +% constraints we do not include Type~1 fonts in the distribution; you +% need either to buy them, or to create them yourself if you have +% the fonts in the TrueType (TTF) formats. In the first case you need +% to rename them accordingly to Table~\ref{tab:PFB}. In the second +% case you need the TTF files, named similarly to the ones in +% Table~\ref{tab:PFB}, and the conversion program, for example, +% |ttf2pt1| (\url{http://ttf2pt1.sourceforge.net/})\footnote{This +% program is a part of many Linux distributions.}. Convert the files +% to Type~1 format with the commands like +% \begin{verbatim} +% ttf2pt1 -a -b georgia.ttf +% ttf2pt1 -a -b georgiai.ttf +% ... +% \end{verbatim} +% It is important to use the option |-a| in the call to this program, +% since we need all glyphs in the resulting files! +% +% People often ask the question whether such translation is legal +% provided that you own the fonts. I am not in the position to give +% a legal advice on this matter. Perhaps you may want to purchase a +% separate font license from Ascender Corporation, +% \url{http://www.ascenderfonts.com}. +% +% Now install Georgia |PFB| files in +% \path{$TEXMF/fonts/type1/microsoft/georgia}. Install Franklin +% Gothic files in +% \path{$TEXMF/fonts/type1/itc/franklingothic}. Then download +% \url{http://ctan.tug.org/install/fonts/psfonts/mathgifg.tds.zip}. +% Unzip the file in \path{$TEXMF}. Add |+mathgifg.map| to the +% configuration files of dvips, pdftex and your dvi previewer. +% +% +% Run updmap and texhash programs to update the configuration files +% and file names database. +% +% \begin{table}[tp] +% \centering +% \caption{PFB Files} +% \label{tab:PFB} +% \begin{tabular}{lll} +% \toprule +% File & Font & NFSS Code\\ +% \midrule +% |georgia.pfb| & Georgia & |m| \\ +% |georgiai.pfb| & Georgia Italic & |mi| \\ +% |georgiab.pfb| & Georgia Bold & |b| \\ +% |georgiaz.pfb| & Georgia Bold Italic & |bi| \\ +% |frabk.pfb| & Franklin Gothic Book Regular & |k| \\ +% |frabkit.pfb| & Franklin Gothic Book Italic & |ki| \\ +% |framd.pfb| & Franklin Gothic Medium Regular & |m|\\ +% |framdit.pfb| & Franklin Gothic Medium Italic & |mi|\\ +% |framdcn.pfb| & Franklin Gothic Medium Cond Regular & |mc| \\ +% |fradm.pfb| & Franklin Gothic Demi Regular & |d| \\ +% |fradmit.pfb| & Franklin Gothic Demi Italic & |di| \\ +% |fradmcn.pfb| & Franklin Gothic Demi Cond Regular & |dc| \\ +% |frahv.pfb| & Franklin Gothic Heavy Regular & |h| \\ +% |frahvit.pfb| & Franklin Gothic Heavy Italic & |hi| \\ +% \bottomrule +% \end{tabular} +% +% \end{table} +% +% +% To use the fonts in \LaTeX{} add |\usepackage{mathgifg}| to your +% preamble. +% +% +% \StopEventually{ +% \clearpage +% \bibliography{mathgifg} +% \bibliographystyle{unsrt}} +% +% \clearpage +%\section{Implementation} +%\label{sec:impl} +% +%\subsection{Identification} +%\label{sec:ident} +% +% We start with the declaration who we are. Most |.dtx| files put +% driver code in a separate driver file |.drv|. We roll this code into the +% main file, and use the pseudo-guard |<gobble>| for it. +% \begin{macrocode} +%<style>\NeedsTeXFormat{LaTeX2e} +%<*gobble> +\ProvidesFile{mathgifg.dtx} +%</gobble> +%<style>\ProvidesClass{mathgifg} +%<drv>\ProvidesFile{drv.tex} +%<map>\ProvidesFile{map.tex} +%<*style|drv|map> +[2009/07/08 v0.4 Using Georgia and Franklin Gothic in LaTeX] +%</style|drv|map> +% \end{macrocode} +% And the driver code: +% \begin{macrocode} +%<*gobble> +\documentclass{ltxdoc} +\usepackage{booktabs} +\usepackage{url} +\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black, + pagecolor=black,urlcolor=black,hyperindex=false]{hyperref} +\PageIndex +\CodelineIndex +\RecordChanges +\EnableCrossrefs +\begin{document} + \DocInput{mathgifg.dtx} +\end{document} +%</gobble> +% \end{macrocode} +% +% +%\subsection{Fontinst Driver} +%\label{sec:drv} +% +% This follows~\cite{fontinstallationguide}. +% +% First, the preamble +% \begin{macrocode} +%<*drv> +\input fontinst.sty +\substitutesilent{bx}{b} +\substitutesilent{b}{d} +\substitutesilent{l}{k} +% \end{macrocode} +% +% +% +% Starting recording transforms: +% \begin{macrocode} +\recordtransforms{rec.tex} +% \end{macrocode} +% +% Text fonts are in |8r| encoding: +% \begin{macrocode} +\transformfont{xjgim8r}{\reencodefont{8r}{\fromafm{georgia}}} +\transformfont{xjgimi8r}{\reencodefont{8r}{\fromafm{georgiai}}} +\transformfont{xjgib8r}{\reencodefont{8r}{\fromafm{georgiab}}} +\transformfont{xjgibi8r}{\reencodefont{8r}{\fromafm{georgiaz}}} +\transformfont{xifgk8r}{\reencodefont{8r}{\fromafm{frabk}}} +\transformfont{xifgki8r}{\reencodefont{8r}{\fromafm{frabkit}}} +\transformfont{xifgm8r}{\reencodefont{8r}{\fromafm{framd}}} +\transformfont{xifgmi8r}{\reencodefont{8r}{\fromafm{framdit}}} +\transformfont{xifgm8rc}{\reencodefont{8r}{\fromafm{framdcn}}} +\transformfont{xifgd8r}{\reencodefont{8r}{\fromafm{fradm}}} +\transformfont{xifgdi8r}{\reencodefont{8r}{\fromafm{fradmit}}} +\transformfont{xifgd8rc}{\reencodefont{8r}{\fromafm{fradmcn}}} +\transformfont{xifgh8r}{\reencodefont{8r}{\fromafm{frahv}}} +\transformfont{xifghi8r}{\reencodefont{8r}{\fromafm{frahvit}}} +% \end{macrocode} +% +% The interesting thing about Georgia and Franklin Gothic is the +% rich set of Greek letters and symbols. We can actually try to use +% them in math. +% +% Math fonts in |OT1| encoding. |o| means ``original''. To avoid +% conflict with |ot1.enc|, we rename these encodings. +% \begin{macrocode} +\transformfont{zjgimo7t}{\reencodefont{gifgot1}{\fromafm{georgia}}} +\transformfont{zifgko7t}{\reencodefont{gifgot1}{\fromafm{frabk}}} +\transformfont{zifgdo7t}{\reencodefont{gifgot1}{\fromafm{fradm}}} +% \end{macrocode} +% +% In |OML| encoding: +% \begin{macrocode} +\transformfont{zjgimio7m}{\reencodefont{gifgoml}{\fromafm{georgiai}}} +\transformfont{zifgko7m}{\reencodefont{gifgoml}{\fromafm{frabk}}} +\transformfont{zifgdo7m}{\reencodefont{gifgoml}{\fromafm{fradm}}} +% \end{macrocode} +% +% In |OMS| and |OMX| encoding +% \begin{macrocode} +\transformfont{zjgimo7y}{\reencodefont{gifgoms}{\fromafm{georgia}}} +\transformfont{zjgimo7v}{\reencodefont{gifgomx}{\fromafm{georgia}}} +% \end{macrocode} +% +% +% Now we install the fonts. First T1. +% \begin{macrocode} +\installfonts +\installfamily{T1}{xjgi}{} +\installfont{xjgim8t}{xjgim8r,newlatin}{t1}{T1}{xjgi}{m}{n}{} +\installfont{xjgimi8t}{xjgimi8r,newlatin}{t1}{T1}{xjgi}{m}{it}{} +\installfont{xjgib8t}{xjgib8r,newlatin}{t1}{T1}{xjgi}{b}{n}{} +\installfont{xjgibi8t}{xjgibi8r,newlatin}{t1}{T1}{xjgi}{b}{it}{} +\endinstallfonts +\installfonts +\installfamily{T1}{xifg}{} +\installfont{xifgk8t}{xifgk8r,newlatin}{t1}{T1}{xifg}{k}{n}{} +\installfont{xifgki8t}{xifgki8r,newlatin}{t1}{T1}{xifg}{k}{it}{} +\installfont{xifgm8t}{xifgm8r,newlatin}{t1}{T1}{xifg}{m}{n}{} +\installfont{xifgmi8t}{xifgmi8r,newlatin}{t1}{T1}{xifg}{m}{it}{} +\installfont{xifgm8tc}{xifgm8rc,newlatin}{t1}{T1}{xifg}{mc}{n}{} +\installfont{xifgd8t}{xifgd8r,newlatin}{t1}{T1}{xifg}{d}{n}{} +\installfont{xifgdi8t}{xifgdi8r,newlatin}{t1}{T1}{xifg}{d}{it}{} +\installfont{xifgd8tc}{xifgd8rc,newlatin}{t1}{T1}{xifg}{dc}{n}{} +\installfont{xifgh8t}{xifgh8r,newlatin}{t1}{T1}{xifg}{h}{n}{} +\installfont{xifghi8t}{xifghi8r,newlatin}{t1}{T1}{xifg}{h}{it}{} +\endinstallfonts +% \end{macrocode} +% +% And then TS1 +% \begin{macrocode} +\installfonts +\installfamily{TS1}{xjgi}{} +\installfont{xjgim8c}{xjgim8r,textcomp}{ts1}{TS1}{xjgi}{m}{n}{} +\installfont{xjgimi8c}{xjgimi8r,textcomp}{ts1}{TS1}{xjgi}{m}{it}{} +\installfont{xjgib8c}{xjgib8r,textcomp}{ts1}{TS1}{xjgi}{b}{n}{} +\installfont{xjgibi8c}{xjgibi8r,textcomp}{ts1}{TS1}{xjgi}{b}{it}{} +\endinstallfonts +\installfonts +\installfamily{TS1}{xifg}{} +\installfont{xifgk8c}{xifgk8r,textcomp}{ts1}{TS1}{xifg}{k}{n}{} +\installfont{xifgki8c}{xifgki8r,textcomp}{ts1}{TS1}{xifg}{k}{it}{} +\installfont{xifgm8c}{xifgm8r,textcomp}{ts1}{TS1}{xifg}{m}{n}{} +\installfont{xifgmi8c}{xifgmi8r,textcomp}{ts1}{TS1}{xifg}{m}{it}{} +\installfont{xifgm8cc}{xifgm8rc,textcomp}{ts1}{TS1}{xifg}{mc}{n}{} +\installfont{xifgd8c}{xifgd8r,textcomp}{ts1}{TS1}{xifg}{d}{n}{} +\installfont{xifgdi8c}{xifgdi8r,textcomp}{ts1}{TS1}{xifg}{d}{it}{} +\installfont{xifgd8cc}{xifgd8rc,textcomp}{ts1}{TS1}{xifg}{dc}{n}{} +\installfont{xifgh8c}{xifgh8r,textcomp}{ts1}{TS1}{xifg}{h}{n}{} +\installfont{xifghi8c}{xifghi8r,textcomp}{ts1}{TS1}{xifg}{h}{it}{} +\endinstallfonts +% \end{macrocode} +% +% Math fonts are different. Here we basically follow the +% recommendations of~\cite{Hoenig98:TeXUnbound} +% and~\cite{Schmidt04:PSNFSS9.2}. +% +% First, we need text fonts for ``operators'' and ``letters'': +% \begin{macrocode} +\installfonts +\installfamily{OT1}{zjgi}{} +\installfont{zjgim7t}{zjgimo7t,resetdigits,calcmetrics,xifgk8r,% + latin}{ot1}{OT1}{zjgi}{m}{n}{} +\endinstallfonts +% \end{macrocode} + +% +% Now ``letters'' +% \begin{macrocode} +\installfonts +\installfamily{OML}{zjgi}{\skewchar\font=127} +\installfont{zjgimi7m}{zjgimio7m,calcmetrics,xjgimi8r,% + kernoff,cmmi10,kernon,mathit}{oml}{OML}{zjgi}{m}{it}{} +\endinstallfonts +\installfonts +\installfamily{OML}{zifg}{\skewchar\font=127} +\installfont{zifgk7m}{zifgko7m,calcmetrics,zifgko7t,kernoff,cmmi10,kernon,% + mathit}{oml}{OML}{zifg}{k}{n}{} +\installfont{zifgd7m}{zifgdo7m,calcmetrics,zifgdo7t,kernoff,cmmib10,kernon,% + mathit}{oml}{OML}{zifg}{d}{n}{} +\endinstallfonts +% \end{macrocode} +% +% Symbols. We take everything we do not have from CM: +% \begin{macrocode} +\installfonts +\installfamily{OMS}{zjgi}{\skewchar\font=48} +\installfont{zjgim7y}{zjgimo7y,zjgimo7t,calcmetrics,% + kernoff,cmsy10,kernon,mathsy}{oms}{OMS}{zjgi}{m}{n}{} +\endinstallfonts +% \end{macrocode} +% +% Same for big symbols +% Symbols. We take everything we do not have from CM: +% \begin{macrocode} +\installfonts +\installfamily{OMX}{zjgi}{} +\installfont{zjgim7v}{zjgimo7v,zjgimo7t,calcmetrics,% + kernoff,cmex10,kernon}{omx}{OMX}{zjgi}{m}{n}{} +\endinstallfonts +% \end{macrocode} +% +% +% And the end: +% \begin{macrocode} +\endrecordtransforms +\bye +%</drv> +% \end{macrocode} +% +% +% +%\subsection{Fontmap Generation} +%\label{sec:fontmap} +% +% This is a standard procedure~\cite{fontinstallationguide} +% \begin{macrocode} +%<*map> +\input finstmsc.sty +\resetstr{PSfontsuffix}{.pfb} +\adddriver{dvips}{mathgifg.map} +\input rec.tex +\donedrivers +\bye +%</map> +% \end{macrocode} +% +% +% +%\subsection{Style File} +%\label{sec:style} +% +% +% We again use the ideas from~\cite{Schmidt04:PSNFSS9.2}. +% \begin{macrocode} +%<*style> +\RequirePackage[T1]{fontenc} +\RequirePackage{textcomp} +\RequirePackage{keyval} +\renewcommand{\sfdefault}{xifg} +\renewcommand{\rmdefault}{xjgi} +\DeclareSymbolFont{operators}{OT1}{zjgi}{m}{n} +\DeclareSymbolFont{letters}{OML}{zjgi}{m}{it} +\DeclareSymbolFont{symbols}{OMS}{zjgi}{m}{n} +\DeclareSymbolFont{largesymbols}{OMX}{zjgi}{m}{n} +\DeclareSymbolFont{sfletters}{OML}{zifg}{k}{n} +\DeclareSymbolFont{bfletters}{OML}{zifg}{d}{n} +\SetSymbolFont{letters}{bold}{OML}{zifg}{d}{n} +\DeclareSymbolFontAlphabet{\mathsf}{sfletters} +\DeclareSymbolFontAlphabet{\mathbf}{bfletters} +\DeclareRobustCommand\hbar{{% + \dimen@.03em% + \dimen@ii0.001em% + \def\@tempa##1##2{{% + \lower##1\dimen@\rlap{\kern##1\dimen@ii\the##2 0\char22}}}% + \mathchoice\@tempa\@ne\textfont + \@tempa\@ne\textfont + \@tempa\defaultscriptratio\scriptfont + \@tempa\defaultscriptscriptratio\scriptscriptfont + h}} +\let\s@vedhbar\hbar +\AtBeginDocument{% + \@ifpackageloaded{amsfonts}{\let\hbar\s@vedhbar}{}} +%</style> +% \end{macrocode} +% +% +%\subsection{Metrics Files} +%\label{sec:mtx} +% +% A simple |mtx| file resets digits. We need it to substitute +% Franklin Gothic numbers for Georgia numbers in math: +% \begin{macrocode} +%<*resetdigits> +\relax +Reset all digits +\metrics +\unsetglyph{zero} +\unsetglyph{one} +\unsetglyph{two} +\unsetglyph{three} +\unsetglyph{four} +\unsetglyph{five} +\unsetglyph{six} +\unsetglyph{seven} +\unsetglyph{eight} +\unsetglyph{nine} +\endmetrics +%</resetdigits> +% \end{macrocode} +% +% +% +% Another |mtx| file to calculate metrics for badly defined fonts. +% See~\cite{Hoenig98:TeXUnbound}. +% \begin{macrocode} +%<*calcmetrics> +\relax +Calculate missing metrics +\metrics +\resetint{xheight}{\height{x}} +\endmetrics +%</calcmetrics> +% \end{macrocode} +% +% +% +%\subsection{Encoding Files} +%\label{sec:encodings} +% +% This is a copy of |ot1.etx| from~\cite{Schmidt04:PSNFSS9.2}. We +% rename it to avoid conflict with other |ot1.enc| in the result. +% \begin{macrocode} +%<*gifgot1> +\input ot1.etx +%</gifgot1> +% \end{macrocode} +% +% Same with |OML|: +% \begin{macrocode} +%<*gifgoml> +\input oml.etx +%</gifgoml> +% \end{macrocode} +% +% +% And |OMS|: +% \begin{macrocode} +%<*gifgoms> +\input oms.etx +%</gifgoms> +% \end{macrocode} +% +% And, finally, |OMX| +% \begin{macrocode} +%<*gifgomx> +\input omx.etx +%</gifgomx> +% \end{macrocode} +% +% +% +%\Finale +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex +% +\endinput +Keywords: 2135525469 diff --git a/fonts/mathgifg/mathgifg.ins b/fonts/mathgifg/mathgifg.ins new file mode 100644 index 0000000000..4a25184d3e --- /dev/null +++ b/fonts/mathgifg/mathgifg.ins @@ -0,0 +1,58 @@ +% +% Doctrip file for whitnca +% This file is in public domain +% $Id: mathgifg.ins,v 1.4 2009-07-09 02:11:30 boris Exp $ +% +\def\batchfile{mathgifg.ins} +\input docstrip +\keepsilent +\showprogress +\preamble +Copyright (c) 2009, Boris Veytsman + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the original author nor the names of the + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +\endpreamble + +\askforoverwritefalse + +\generate{% + \file{mathgifg.sty}{\from{mathgifg.dtx}{style}}% + \file{drv.tex}{\from{mathgifg.dtx}{drv}}% + \file{resetdigits.mtx}{\from{mathgifg.dtx}{resetdigits}}% + \file{calcmetrics.mtx}{\from{mathgifg.dtx}{calcmetrics}}% + \file{gifgot1.etx}{\from{mathgifg.dtx}{gifgot1}}% + \file{gifgoml.etx}{\from{mathgifg.dtx}{gifgoml}}% + \file{gifgoms.etx}{\from{mathgifg.dtx}{gifgoms}}% + \file{gifgomx.etx}{\from{mathgifg.dtx}{gifgomx}}% + \file{map.tex}{\from{mathgifg.dtx}{map}}} + + diff --git a/fonts/mathgifg/mathgifg.pdf b/fonts/mathgifg/mathgifg.pdf Binary files differnew file mode 100644 index 0000000000..e5122256c3 --- /dev/null +++ b/fonts/mathgifg/mathgifg.pdf diff --git a/fonts/mathgifg/sample.pdf b/fonts/mathgifg/sample.pdf Binary files differnew file mode 100644 index 0000000000..26513ba8b4 --- /dev/null +++ b/fonts/mathgifg/sample.pdf diff --git a/fonts/mathgifg/sample.tex b/fonts/mathgifg/sample.tex new file mode 100644 index 0000000000..249b8bf40e --- /dev/null +++ b/fonts/mathgifg/sample.tex @@ -0,0 +1,757 @@ +\documentclass{article} +\usepackage{lipsum,url} +\usepackage{textcomp} +\usepackage{mathgifg,amsfonts,amsmath} +\usepackage{ifpdf} +\ifpdf + \pdfmapfile{+mathgifg.map} +\fi + +\newcounter{lipsumnum} +\setcounter{lipsumnum}{1} + +\newcommand{\samplefont}[2]{{#1\selectfont #2: +0123456789, \$20, \texteuro30, \pounds60. +Na\"ive \AE sop's \OE uvres in fran\c cais were my first reading. +\lipsum[\value{lipsumnum}]\stepcounter{lipsumnum}\par}} + +\DeclareMathSymbol{\dit}{\mathord}{letters}{`d} +\DeclareMathSymbol{\dup}{\mathord}{operators}{`d} + + +\def\test#1{#1} + +\def\testnums{% + \test 0 \test 1 \test 2 \test 3 \test 4 \test 5 \test 6 \test 7 + \test 8 \test 9 } +\def\testupperi{% + \test A \test B \test C \test D \test E \test F \test G \test H + \test I \test J \test K \test L \test M } +\def\testupperii{% + \test N \test O \test P \test Q \test R \test S \test T \test U + \test V \test W \test X \test Y \test Z } +\def\testupper{% + \testupperi\testupperii} + +\def\testloweri{% + \test a \test b \test c \test d \test e \test f \test g \test h + \test i \test j \test k \test l \test m } +\def\testlowerii{% + \test n \test o \test p \test q \test r \test s \test t \test u + \test v \test w \test x \test y \test z + \test\imath \test\jmath } +\def\testlower{% + \testloweri\testlowerii} + +\def\testupgreeki{% + \test A \test B \test\Gamma \test\Delta \test E \test Z \test H + \test\Theta \test I \test K \test\Lambda \test M } +\def\testupgreekii{% + \test N \test\Xi \test O \test\Pi \test P \test\Sigma \test T + \test\Upsilon \test\Phi \test X \test\Psi \test\Omega + \test\nabla } +\def\testupgreek{% + \testupgreeki\testupgreekii} + +\def\testlowgreeki{% + \test\alpha \test\beta \test\gamma \test\delta \test\epsilon + \test\zeta \test\eta \test\theta \test\iota \test\kappa \test\lambda + \test\mu } +\def\testlowgreekii{% + \test\nu \test\xi \test o \test\pi \test\rho \test\sigma \test\tau + \test\upsilon \test\phi \test\chi \test\psi \test\omega } +\def\testlowgreekiii{% + \test\varepsilon \test\vartheta \test\varpi \test\varrho + \test\varsigma \test\varphi} +\def\testlowgreek{% + \testlowgreeki\testlowgreekii\testlowgreekiii} + + + + +\begin{document} + +\section{Text Tests} +\label{sec:text} + + + +\samplefont{\normalfont}{Georgia} +\samplefont{\itshape}{Georgia Italic} +\samplefont{\bfseries}{Georgia Bold} +\samplefont{\bfseries\itshape}{Georgia Bold Italic} +\samplefont{\sffamily\fontseries{k}}{Franklin Gothic Book} +\samplefont{\sffamily\fontseries{k}\itshape}{Franklin Gothic Book Italic} +\samplefont{\sffamily}{Franklin Gothic Medium} +\samplefont{\sffamily\itshape}{Franklin Gothic Medum Italic} +\samplefont{\sffamily\fontseries{mc}}{Franklin Gothic Medium Condensed} +\samplefont{\sffamily\bfseries}{Franklin Gothic Demibold} +\samplefont{\sffamily\bfseries\itshape}{Franklin Gothic Demibold + Italic} +\samplefont{\sffamily\fontseries{dc}}{Franklin Gothic Demibold Condensed} +\samplefont{\sffamily\fontseries{h}}{Franklin Gothic Heavy} +\samplefont{\sffamily\fontseries{h}\itshape}{Franklin Gothic Heavy Italic} + +\section{Math Tests} +\label{sec:mthtests} + + + +Math test are taken from\cite{Schmidt04:PSNFSS9.2}. Note that we do +not have \texttt{\string\jmath}, so we took one from CM. + +\parindent 0pt +%\mathindent 1em + + +\subsection{Math Alphabets} + +Math Italic (\texttt{\string\mathnormal}) +\def\test#1{\mathnormal{#1},} +\begin{eqnarray*} + && {\testnums}\\ + && {\testupper}\\ + && {\testlower}\\ + && {\testupgreek}\\ + && {\testlowgreek} +\end{eqnarray*}% + +Math Roman (\texttt{\string\mathrm}) +\def\test#1{\mathrm{#1},} +\begin{eqnarray*} + && {\testnums}\\ + && {\testupper}\\ + && {\testlower}\\ + && {\testupgreek}\\ + && {\testlowgreek} +\end{eqnarray*}% + +%Math Italic Bold +%\def\test#1{\mathbm{#1},} +%\begin{eqnarray*} +% && {\testnums}\\ +% && {\testupper}\\ +% && {\testlower}\\ +% && {\testupgreek}\\ +% && {\testlowgreek} +%\end{eqnarray*}% + +Math Bold (\texttt{\string\mathbf}) +\def\test#1{\mathbf{#1},} +\begin{eqnarray*} + && {\testnums}\\ + && {\testupper}\\ + && {\testlower}\\ + && {\testupgreek} +\end{eqnarray*}% + +Math Sans Serif (\texttt{\string\mathsf}) +\def\test#1{\mathsf{#1},} +\begin{eqnarray*} + && {\testnums}\\ + && {\testupper}\\ + && {\testlower}\\ + && {\testupgreek} +\end{eqnarray*}% + + + +%Caligraphic (\texttt{\string\mathcal}) +%\def\test#1{\mathcal{#1},} +%\begin{eqnarray*} +% && {\testupper} +%\end{eqnarray*}% + +%Script (\texttt{\string\mathscr}) +%\def\test#1{\mathscr{#1},} +%\begin{eqnarray*} +% && {\testupper} +%\end{eqnarray*}% + +%Fraktur (\texttt{\string\mathfrak}) +%\def\test#1{\mathfrak{#1},} +%\begin{eqnarray*} +% && {\testupper}\\ +% && {\testlower} +%\end{eqnarray*}% + +%Blackboard Bold (\texttt{\string\mathbb}) +%\def\test#1{\mathbb{#1},} +%\begin{eqnarray*} +% && {\testupper} +%\end{eqnarray*}% + + +\clearpage +\subsection{Character Sidebearings} + +\def\test#1{|#1|+} +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii}\\ + && {\testlowgreeki}\\ + && {\testlowgreekii}\\ + && {\testlowgreekiii} +\end{eqnarray*}% +% +\def\test#1{|\mathrm{#1}|+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii} +\end{eqnarray*}% +% +%\def\test#1{|\mathbm{#1}|+}% +%\begin{eqnarray*} +% && {\testupperi}\\ +% && {\testupperii}\\ +% && {\testloweri}\\ +% && {\testlowerii}\\ +% && {\testupgreeki}\\ +% && {\testupgreekii}\\ +% && {\testlowgreeki}\\ +% && {\testlowgreekii}\\ +% && {\testlowgreekiii} +%\end{eqnarray*}% +%% +%\def\test#1{|\mathbf{#1}|+}% +%\begin{eqnarray*} +% && {\testupperi}\\ +% && {\testupperii}\\ +% && {\testloweri}\\ +% && {\testlowerii}\\ +% && {\testupgreeki}\\ +% && {\testupgreekii} +%\end{eqnarray*}% +% +\def\test#1{|\mathcal{#1}|+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii} +\end{eqnarray*}% + + +\clearpage +\subsection{Superscript positioning} + +\def\test#1{#1^{2}+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii}\\ + && {\testlowgreeki}\\ + && {\testlowgreekii}\\ + && {\testlowgreekiii} +\end{eqnarray*}% +% +\def\test#1{\mathrm{#1}^{2}+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii} +\end{eqnarray*}% +% +%\def\test#1{\mathbm{#1}^{2}+}% +%\begin{eqnarray*} +% && {\testupperi}\\ +% && {\testupperii}\\ +% && {\testloweri}\\ +% && {\testlowerii}\\ +% && {\testupgreeki}\\ +% && {\testupgreekii}\\ +% && {\testlowgreeki}\\ +% && {\testlowgreekii}\\ +% && {\testlowgreekiii} +%\end{eqnarray*}% +% +%\def\test#1{\mathbf{#1}^{2}+}% +%\begin{eqnarray*} +% && {\testupperi}\\ +% && {\testupperii}\\ +% && {\testloweri}\\ +% && {\testlowerii}\\ +% && {\testupgreeki}\\ +% && {\testupgreekii} +%\end{eqnarray*} +% +\def\test#1{\mathcal{#1}^{2}+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii} +\end{eqnarray*}% + + +\clearpage +\subsection{Subscript positioning} + +\def\test#1{\mathnormal{#1}_{i}+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii}\\ + && {\testlowgreeki}\\ + && {\testlowgreekii}\\ + && {\testlowgreekiii} +\end{eqnarray*}% +% +\def\test#1{\mathrm{#1}_{i}+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii} +\end{eqnarray*}% +% +%\def\test#1{\mathbm{#1}_{i}+}% +%\begin{eqnarray*} +% && {\testupperi}\\ +% && {\testupperii}\\ +% && {\testloweri}\\ +% && {\testlowerii}\\ +% && {\testupgreeki}\\ +% && {\testupgreekii}\\ +% && {\testlowgreeki}\\ +% && {\testlowgreekii}\\ +% && {\testlowgreekiii} +%\end{eqnarray*} +%% +%\def\test#1{\mathbf{#1}_{i}+}% +%\begin{eqnarray*} +% && {\testupperi}\\ +% && {\testupperii}\\ +% && {\testloweri}\\ +% && {\testlowerii}\\ +% && {\testupgreeki}\\ +% && {\testupgreekii} +%\end{eqnarray*}% +% +\def\test#1{\mathcal{#1}_{i}+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii} +\end{eqnarray*}% + + +\clearpage +\subsection{Accent positioning} + +\def\test#1{\hat{#1}+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii}\\ + && {\testlowgreeki}\\ + && {\testlowgreekii}\\ + && {\testlowgreekiii} +\end{eqnarray*}% +% +\def\test#1{\hat{\mathrm{#1}}+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii} +\end{eqnarray*}% +% +%\def\test#1{\hat{\mathbm{#1}}+}% +%\begin{eqnarray*} +% && {\testupperi}\\ +% && {\testupperii}\\ +% && {\testloweri}\\ +% && {\testlowerii}\\ +% && {\testupgreeki}\\ +% && {\testupgreekii}\\ +% && {\testlowgreeki}\\ +% && {\testlowgreekii}\\ +% && {\testlowgreekiii} +%\end{eqnarray*}% +%% +%\def\test#1{\hat{\mathbf{#1}}+}% +%\begin{eqnarray*} +% && {\testupperi}\\ +% && {\testupperii}\\ +% && {\testloweri}\\ +% && {\testlowerii}\\ +% && {\testupgreeki}\\ +% && {\testupgreekii} +%\end{eqnarray*} +% +\def\test#1{\hat{\mathcal{#1}}+}% +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii} +\end{eqnarray*}% + + +\clearpage +\subsection{Differentials} + +\begin{eqnarray*} +\gdef\test#1{\dit #1+}% + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii}\\ + && {\testlowgreeki}\\ + && {\testlowgreekii}\\ + && {\testlowgreekiii}\\ +\gdef\test#1{\dit \mathrm{#1}+}% + && {\testupgreeki}\\ + && {\testupgreekii} +\end{eqnarray*}% +% +\begin{eqnarray*} +\gdef\test#1{\dup #1+}% + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii}\\ + && {\testlowgreeki}\\ + && {\testlowgreekii}\\ + && {\testlowgreekiii}\\ +\gdef\test#1{\dup \mathrm{#1}+}% + && {\testupgreeki}\\ + && {\testupgreekii} +\end{eqnarray*}% +% +\begin{eqnarray*} +\gdef\test#1{\partial #1+}% + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii}\\ + && {\testlowgreeki}\\ + && {\testlowgreekii}\\ + && {\testlowgreekiii}\\ +\gdef\test#1{\partial \mathrm{#1}+}% + && {\testupgreeki}\\ + && {\testupgreekii} +\end{eqnarray*}% + + +\clearpage +\subsection{Slash kerning} + +\def\test#1{1/#1+} +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii}\\ + && {\testlowgreeki}\\ + && {\testlowgreekii}\\ + && {\testlowgreekiii} +\end{eqnarray*} + +\def\test#1{#1/2+} +\begin{eqnarray*} + && {\testupperi}\\ + && {\testupperii}\\ + && {\testloweri}\\ + && {\testlowerii}\\ + && {\testupgreeki}\\ + && {\testupgreekii}\\ + && {\testlowgreeki}\\ + && {\testlowgreekii}\\ + && {\testlowgreekiii} +\end{eqnarray*} + + +\clearpage +\subsection{Big operators} + +\def\testop#1{#1_{i=1}^{n} x^{n} \quad} +\begin{displaymath} + \testop\sum + \testop\prod + \testop\coprod + \testop\int + \testop\oint +\end{displaymath} +\begin{displaymath} + \testop\bigotimes + \testop\bigoplus + \testop\bigodot + \testop\bigwedge + \testop\bigvee + \testop\biguplus + \testop\bigcup + \testop\bigcap + \testop\bigsqcup +% \testop\bigsqcap +\end{displaymath} + + +\subsection{Radicals} + +\begin{displaymath} + \sqrt{x+y} \qquad \sqrt{x^{2}+y^{2}} \qquad + \sqrt{x_{i}^{2}+y_{j}^{2}} \qquad + \sqrt{\left(\frac{\cos x}{2}\right)} \qquad + \sqrt{\left(\frac{\sin x}{2}\right)} +\end{displaymath} + +\begingroup +\delimitershortfall-1pt +\begin{displaymath} + \sqrt{\sqrt{\sqrt{\sqrt{\sqrt{\sqrt{\sqrt{x+y}}}}}}} +\end{displaymath} +\endgroup % \delimitershortfall + + +\subsection{Over- and underbraces} + +\begin{displaymath} + \overbrace{x} \quad + \overbrace{x+y} \quad + \overbrace{x^{2}+y^{2}} \quad + \overbrace{x_{i}^{2}+y_{j}^{2}} \quad + \underbrace{x} \quad + \underbrace{x+y} \quad + \underbrace{x_{i}+y_{j}} \quad + \underbrace{x_{i}^{2}+y_{j}^{2}} \quad +\end{displaymath} + + +\subsection{Normal and wide accents} + +\begin{displaymath} + \dot{x} \quad + \ddot{x} \quad + \vec{x} \quad + \bar{x} \quad + \overline{x} \quad + \overline{xx} \quad + \tilde{x} \quad + \widetilde{x} \quad + \widetilde{xx} \quad + \widetilde{xxx} \quad + \hat{x} \quad + \widehat{x} \quad + \widehat{xx} \quad + \widehat{xxx} \quad +\end{displaymath} + + +\subsection{Long arrows} + +\begin{displaymath} + \leftarrow \mathrel{-} \rightarrow \quad + \leftrightarrow \quad + \longleftarrow \quad + \longrightarrow \quad + \longleftrightarrow \quad + \Leftarrow = \Rightarrow \quad + \Leftrightarrow \quad + \Longleftarrow \quad + \Longrightarrow \quad + \Longleftrightarrow \quad +\end{displaymath} + + +\subsection{Left and right delimters} + +\def\testdelim#1#2{ - #1 f #2 - } +\begin{displaymath} + \testdelim() + \testdelim[] + \testdelim\lfloor\rfloor + \testdelim\lceil\rceil + \testdelim\langle\rangle + \testdelim\{\} +\end{displaymath} + +\def\testdelim#1#2{ - \left#1 f \right#2 - } +\begin{displaymath} + \testdelim() + \testdelim[] + \testdelim\lfloor\rfloor + \testdelim\lceil\rceil + \testdelim\langle\rangle + \testdelim\{\} +% \testdelim\lgroup\rgroup +% \testdelim\lmoustache\rmoustache +\end{displaymath} +\begin{displaymath} + \testdelim)( + \testdelim][ + \testdelim// + \testdelim\backslash\backslash + \testdelim/\backslash + \testdelim\backslash/ +\end{displaymath} + + +\clearpage +\subsection{Big-g-g delimters} + +\def\testdelim#1#2{% + - \left#1\left#1\left#1\left#1\left#1\left#1\left#1\left#1 - + \right#2\right#2\right#2\right#2\right#2\right#2\right#2\right#2 -} + +\begingroup +\delimitershortfall-1pt +\begin{displaymath} + \testdelim\lfloor\rfloor + \qquad + \testdelim() +\end{displaymath} +\begin{displaymath} + \testdelim\lceil\rceil + \qquad + \testdelim\{\} +\end{displaymath} +\begin{displaymath} + \testdelim[] + \qquad + \testdelim\lgroup\rgroup +\end{displaymath} +\begin{displaymath} + \testdelim\langle\rangle + \qquad + \testdelim\lmoustache\rmoustache +\end{displaymath} +\begin{displaymath} + \testdelim\uparrow\downarrow \quad + \testdelim\Uparrow\Downarrow \quad +\end{displaymath} +\endgroup % \delimitershortfall + +\subsection{Miscellanneous formulae} + +Taken from~\cite{Downes04:amsart} + +\label{sec:misc} +\begin{displaymath} + \hbar\nu=E +\end{displaymath} + +Let $\mathbf{A}=(a_{ij})$ be the adjacency matrix of graph $G$. The +corresponding Kirchhoff matrix $\mathbf{K}=(k_{ij})$ is obtained from +$\mathbf{A}$ by replacing in $-\mathbf{A}$ each diagonal entry by the +degree of its corresponding vertex; i.e., the $i$th diagonal entry is +identified with the degree of the $i$th vertex. It is well known that +\begin{equation} +\det\mathbf{K}(i|i)=\text{ the number of spanning trees of $G$}, +\quad i=1,\dots,n +\end{equation} +where $\mathbf{K}(i|i)$ is the $i$th principal submatrix of +$\mathbf{K}$. + +\newcommand{\abs}[1]{\left\lvert#1\right\rvert} +\newcommand{\wh}{\widehat} +Let $C_{i(j)}$ be the set of graphs obtained from $G$ by attaching edge +$(v_iv_j)$ to each spanning tree of $G$. Denote by $C_i=\bigcup_j +C_{i(j)}$. It is obvious that the collection of Hamiltonian cycles is a +subset of $C_i$. Note that the cardinality of $C_i$ is $k_{ii}\det +\mathbf{K}(i|i)$. Let $\wh X=\{\hat x_1,\dots,\hat x_n\}$. Define multiplication for the elements of $\wh X$ by +\begin{equation}\label{multdef} +\hat x_i\hat x_j=\hat x_j\hat x_i,\quad \hat x^2_i=0,\quad +i,j=1,\dots,n. +\end{equation} +Let $\hat k_{ij}=k_{ij}\hat x_j$ and $\hat k_{ij}=-\sum_{j\not=i} \hat +k_{ij}$. Then the number of Hamiltonian cycles $H_c$ is given by the +relation +\begin{equation}\label{H-cycles} +\biggl(\prod^n_{\,j=1}\hat x_j\biggr)H_c=\frac{1}{2}\hat k_{ij}\det +\wh{\mathbf{K}}(i|i),\qquad i=1,\dots,n. +\end{equation} +The task here is to express \eqref{H-cycles} +in a form free of any $\hat x_i$, +$i=1,\dots,n$. The result also leads to the resolution of enumeration of +Hamiltonian paths in a graph. + +It is well known that the enumeration of Hamiltonian cycles and paths +in a complete graph $K_n$ and in a complete bipartite graph +$K_{n_1n_2}$ can only be found from \textit{first combinatorial + principles}. One wonders if there exists a formula which can be used +very efficiently to produce $K_n$ and $K_{n_1n_2}$. Recently, using +Lagrangian methods, Goulden and Jackson have shown that $H_c$ can be +expressed in terms of the determinant and permanent of the adjacency +matrix. However, the formula of Goulden and +Jackson determines neither $K_n$ nor $K_{n_1n_2}$ effectively. In this +paper, using an algebraic method, we parametrize the adjacency matrix. +The resulting formula also involves the determinant and permanent, but +it can easily be applied to $K_n$ and $K_{n_1n_2}$. In addition, we +eliminate the permanent from $H_c$ and show that $H_c$ can be +represented by a determinantal function of multivariables, each +variable with domain $\{0,1\}$. Furthermore, we show that $H_c$ can be +written by number of spanning trees of subgraphs. Finally, we apply +the formulas to a complete multigraph $K_{n_1\dots n_p}$. + +The conditions $a_{ij}=a_{ji}$, $i,j=1,\dots,n$, are not required in +this paper. All formulas can be extended to a digraph simply by +multiplying $H_c$ by 2. + +The boundedness, property of $\Phi_ 0$, then yields +\[\int_{\mathcal{D}}\abs{\overline\partial u}^2e^{\alpha\abs{z}^2}\geq c_6\alpha +\int_{\mathcal{D}}\abs{u}^2e^{\alpha\abs{z}^2} ++c_7\delta^{-2}\int_ A\abs{u}^2e^{\alpha\abs{z}^2}.\] + +Let $B(X)$ be the set of blocks of $\Lambda_{X}$ +and let $b(X) = \abs{B(X)}$. If $\phi \in Q_{X}$ then +$\phi$ is constant on the blocks of $\Lambda_{X}$. +\begin{equation}\label{far-d} + P_{X} = \{ \phi \in M \mid \Lambda_{\phi} = \Lambda_{X} \}, +\qquad +Q_{X} = \{\phi \in M \mid \Lambda_{\phi} \geq \Lambda_{X} \}. +\end{equation} +If $\Lambda_{\phi} \geq \Lambda_{X}$ then +$\Lambda_{\phi} = \Lambda_{Y}$ for some $Y \geq X$ so that +\[ Q_{X} = \bigcup_{Y \geq X} P_{Y}. \] +Thus by M\"obius inversion +\[ \abs{P_{Y}}= \sum_{X\geq Y} \mu (Y,X)\abs{Q_{X}}.\] +Thus there is a bijection from $Q_{X}$ to $W^{B(X)}$. +In particular $\abs{Q_{X}} = w^{b(X)}$. + + +\renewcommand{\arraystretch}{2.2} +\[W(\Phi)= \begin{Vmatrix} +\dfrac\varphi{(\varphi_1,\varepsilon_1)}&0&\dots&0\\ +\dfrac{\varphi k_{n2}}{(\varphi_2,\varepsilon_1)}& +\dfrac\varphi{(\varphi_2,\varepsilon_2)}&\dots&0\\ +\hdotsfor{5}\\ +\dfrac{\varphi k_{n1}}{(\varphi_n,\varepsilon_1)}& +\dfrac{\varphi k_{n2}}{(\varphi_n,\varepsilon_2)}&\dots& +\dfrac{\varphi k_{n\,n-1}}{(\varphi_n,\varepsilon_{n-1})}& +\dfrac{\varphi}{(\varphi_n,\varepsilon_n)} +\end{Vmatrix}\] + + + +\bibliography{mathgifg} +\bibliographystyle{unsrt} + + +\end{document} |