diff options
Diffstat (limited to 'fonts/shuffle')
-rw-r--r-- | fonts/shuffle/README | 10 | ||||
-rw-r--r-- | fonts/shuffle/shuffle.dtx | 205 | ||||
-rw-r--r-- | fonts/shuffle/shuffle.ins | 19 | ||||
-rw-r--r-- | fonts/shuffle/shuffle.mf | 42 | ||||
-rw-r--r-- | fonts/shuffle/shuffle.pdf | bin | 0 -> 295904 bytes | |||
-rw-r--r-- | fonts/shuffle/shuffle10.mf | 99 | ||||
-rw-r--r-- | fonts/shuffle/shuffle7.mf | 100 |
7 files changed, 475 insertions, 0 deletions
diff --git a/fonts/shuffle/README b/fonts/shuffle/README new file mode 100644 index 0000000000..895c673490 --- /dev/null +++ b/fonts/shuffle/README @@ -0,0 +1,10 @@ +A symbol for the shuffle product, which is used +in some part of mathematics and physics. + +These files provides both a Metafont source for +the symbol (designed by J. Gilbey) and a +style file for an easy access. + +This work is released in the public domain. + +October 27, 2008 diff --git a/fonts/shuffle/shuffle.dtx b/fonts/shuffle/shuffle.dtx new file mode 100644 index 0000000000..5b80bc6897 --- /dev/null +++ b/fonts/shuffle/shuffle.dtx @@ -0,0 +1,205 @@ +% \iffalse meta-comment +% +% The Metafont source of the shuffle product has +% been produced by Julian Gilbey and have been +% released in the public domain. +% +% The documentation has been provided by Antoine Lejay +% and has been released in the public domain. +% +% The current maintainer of this work is Antoine Lejay. +% +% This work consists of the source file shuffle.dtx +% and the derived files shuffle.ins, +% shuffle.sty, +% shuffle.pdf, +% \fi +% \iffalse +%<*driver> +\documentclass[a4paper]{ltxdoc} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +%\OnlyDescription +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[english]{babel} +\usepackage{fancyvrb} +%\usepackage[dvipdfm]{hyperref} +\usepackage{hyperref} +\usepackage{shuffle} +\usepackage{amssymb,amsmath} +\usepackage{mflogo} +\hypersetup{ + pdftitle={The shuffle product symbol}, + pdfauthor={Julian Gilbey (Font) and Antoine Lejay (Documentation)} +} + +\begin{document} + \DocInput{\jobname.dtx} +\PrintIndex +\PrintChanges +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{0} +% +% \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 \~} +% +%\changes{1.0}{2008/10/28}{First released} +% +%\GetFileInfo{\jobname.sty} +%\DoNotIndex{\@auxout,\@@end,\@empty,\@latex@warning,\@latex@warning@no@line} +%\DoNotIndex{\@mainaux,\@namedef,\@nameuse,\AtEndDocument,\begingroup,\endgroup} +%\DoNotIndex{\csname,\endcsname,\expandafter,\elseif,\def,\closeout,\if,\fi} +%\DoNotIndex{\gdef,\global,\if@filesw,\if@tempswa,\ifx,\immediate,\input} +%\DoNotIndex{\makeatletter,\NeedsTeXFormat,\newcommand,\newcounter,\jobname} +%\DoNotIndex{\setcounter,\nfss@text,\null,\RequirePackage,\reset@font} +%\DoNotIndex{\textbf,\textrm,\textsuperscript,\thepage,\z@,\stepcounter} +%\DoNotIndex{\space,\string,\relax,\clearpage,\deadcycles,\else,\long,\let} +%\DoNotIndex{\PackageError,\PackageInfo,\protect,\protected@edef,\protected@write} +%\DoNotIndex{\ProvidesPackage,\@bsphack,\@esphack,\@gobbletwo,\@ifundefined} +%\DoNotIndex{\@tempswfalse,\@testdef,\bfseries} +%\MakeShortVerb{\|} +% +% \title{\texttt{\filename},\\ a shuffle product symbol% +% \thanks{This file describes version \fileversion, last revised +% \filedate.}} +% \author{Julian Gilbey (font) and Antoine Lejay (documentation)} +% \date{Released \filedate} +% +% \maketitle +% +% \begin{abstract} +% This package provides an interface to the symbol of shuffle product +% which is used in some area of mathematics such as algebra. +% \end{abstract} +% +% \section{The shuffle product symbol} +% +% \begin{quote} +% \textbf{Dependencies: } this package uses the \MF\ files |shuffle.mf|, +% |shuffle7.mf| and |shuffle10.mf|. These files should be put +% into the |font/source/| directory of your |texmf| tree (do not +% forget to perform |texhash| or an equivalent command). +% \end{quote} +% +% This package provides the following two symbols +% \begin{center} +% \begin{tabular}{l l l} +% Shuffle product & $\shuffle$ & \verb+\shuffle+ \\ +% Complete shuffle product & $\cshuffle$ & \verb+\cshuffle+ \\ +% \end{tabular} +% \end{center} +% +% In a space of formal non-commutative polynomials whose indeterminates +% are identified with letters (and then the product of indeterminates +% are identified with words), the shuffle product +% $u\shuffle v$ of two words +% $u=u_1\dotsb u_n$ and $v=v_1\dotsb v_n$ +% is defined as the sum of the all words it is possible to +% construct from $u$ and $v$ by preserving +% the order of all the letters in each of the words. +% For example +% \[ +% \alpha\beta \shuffle \gamma= \gamma\alpha\beta+\alpha \gamma \beta+\alpha \beta\gamma. +% \] +% +% The shuffle product is used in combinatorics and algebra +% (notably for free Lie algebra \cite{reutenauer} and Hopf algebra) and +% has applications for example in the formal resolution +% of controlled differential equations. +% +% The symbol $\shuffle$ is a standard notation +% but is does not seem to have already been provided for \LaTeX{}. +% The \MF{} source of this symbol has +% been designed by J. Gilbey for his own usage \cite{gilbey}, +% where the notion of complete shuffle product~$\cshuffle$ +% is also defined. +% +% The symbol $\shuffle$ is also defined as a Unicode +% symbol at position |29E2| \cite{unicode} under +% the name |SHUFFLE PRODUCT|. +% +% \begin{thebibliography}{0} +% +% \bibitem{gilbey} +% J. Gilbey. +% \newblock Permutation Groups, a Related Algebra and a Conjecture of Cameron, +% \newblock \emph{Journal of Algebraic Combinatorics}, 19 (2004) 25--45. +% +% \bibitem{reutenauer} +% C. Reutenauer. +% \newblock \emph{Free Lie algebras}, Oxford University Press, 1993. +% +% \bibitem{unicode} +% The Unicode Consortium. +% \newblock \emph{The Unicode Standard 5.1}, 2007. +% \end{thebibliography} +% +% +% \StopEventually{} +% +% \section{The font definition files} +% +% The content of this file is standard. +% +% \iffalse +%<*Ushuffle> +% \fi +% \begin{macrocode} +\ProvidesFile{Ushuffle.fd}% +\DeclareFontFamily{U}{shuffle}{} +\DeclareFontShape{U}{shuffle}{m}{n}{% +<5-8>shuffle7% +<8->shuffle10% +}{} +% \end{macrocode} +% \iffalse +%</Ushuffle> +% \fi +% +% \iffalse +%<*package> +% \fi +% \section{The code} +% +% The content of this file is standard. It starts by declaring +% the font as a symbol font. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{shuffle}[2008/10/27 Shuffle product symbol] +\DeclareSymbolFont{Shuffle}{U}{shuffle}{m}{n} +% \end{macrocode} +% +% \begin{macro}{\shuffle} +% \begin{macro}{\cshuffle} +% Two commands are defined access to the symbols defined as binary symbols. +% \begin{macrocode} +\DeclareMathSymbol\shuffle{\mathbin}{Shuffle}{"001} +\DeclareMathSymbol\cshuffle{\mathbin}{Shuffle}{"002} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \iffalse +%</package> +% \fi +% \Finale +\endinput diff --git a/fonts/shuffle/shuffle.ins b/fonts/shuffle/shuffle.ins new file mode 100644 index 0000000000..840fc1f60f --- /dev/null +++ b/fonts/shuffle/shuffle.ins @@ -0,0 +1,19 @@ +\input docstrip.tex +\preamble + ---------------------------------------------------------------- + A symbol for the shuffle product + Metafont symbol by Julian Gilbey (in public domain) + Documentation by Antoine Lejay + Released in the public domain + ---------------------------------------------------------------- +\endpreamble +\Msg{Generating the LaTeX package ...} +\generate{\file{shuffle.sty}{\from{shuffle.dtx}{package}}} +\Msg{Generating the .fd files ..} +\generate{\file{Ushuffle.fd}{\from{shuffle.dtx}{Ushuffle}}} +\endbatchfile +\endinput +%% +%% End of file `shuffle.ins'. + + diff --git a/fonts/shuffle/shuffle.mf b/fonts/shuffle/shuffle.mf new file mode 100644 index 0000000000..ab2010b804 --- /dev/null +++ b/fonts/shuffle/shuffle.mf @@ -0,0 +1,42 @@ +% This is shuffle.mf for creating a shuffle product symbol in the +% same format as the CM symbols. It is based on the cmsy font. +% Written by Julian Gilbey <J.D.Gilbey@qmul.ac.uk> +% This file is in the public domain + +font_coding_scheme:="TeX math symbols"; +mode_setup; font_setup; + +font_slant slant; font_x_height x_height#; +font_quad 18u# if not monospace:+4letter_fit# fi; +% (The spacing is zero so that \TeX\ will always add the italic correction.) +% (The calling file should give the other math symbol font parameters.) + +slant:=mono_charic#:=0; % the remaining characters will not be slanted +currenttransform:=identity yscaled aspect_ratio scaled granularity; + +cmchar "Shuffle product sign"; +beginchar(oct"001",16u#,.7asc_height#,0); +adjust_fit(0,0); pickup rule.nib; +lft x1=hround 1.1u; x2=x1; x4=x5=w-x1; +x3=good.x 0.5[x2,x4]; x6=x3; +y1=good.y h+o; bot y2=0; y4=y2; y5=y1; +y3=y2; y6=y1; +draw z1---z2---z4---z5; % stems and bar +draw z3--z6; % middle bar +labels(1,2,3,4,5,6); endchar; + +cmchar "Complete shuffle product sign"; +beginchar(oct"002",16u#,asc_height#,0); +adjust_fit(0,0); pickup rule.nib; +lft x1=hround 1.1u; x2=x1; x4=x5=w-x1; +x3=good.x 0.5[x2,x4]; x6=x3; +y1=good.y 7/10h+o; bot y2=0; y4=y2; y5=y1; +y3=y2; y6=y1; +x7=good.x 0.05[x2,x4]; x8=w-x7; +y7=good.y h; y8=y7; +draw z1---z2---z4---z5; % stems and bar +draw z3--z6; % middle bar +draw z7--z8; % overline +labels(1,2,3,4,5,6,7,8); endchar; + +bye. diff --git a/fonts/shuffle/shuffle.pdf b/fonts/shuffle/shuffle.pdf Binary files differnew file mode 100644 index 0000000000..c07a0cd16b --- /dev/null +++ b/fonts/shuffle/shuffle.pdf diff --git a/fonts/shuffle/shuffle10.mf b/fonts/shuffle/shuffle10.mf new file mode 100644 index 0000000000..268d9162d8 --- /dev/null +++ b/fonts/shuffle/shuffle10.mf @@ -0,0 +1,99 @@ +% This is a driver file to create a 10 point shuffle symbol. +% It is just a barely modified cmsy10.mf file. +% Written by Julian Gilbey <J.D.Gilbey@qmul.ac.uk> +% This file is in the public domain + +if unknown cmbase: input cmbase fi + +font_identifier:="CMSHUF"; font_size 10pt#; + +u#:=20/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=8/36pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=9/36pt#; % lowercase hairline breadth +stem#:=24/36pt#; % lowercase stem breadth +curve#:=29/36pt#; % lowercase curve breadth +ess#:=27/36pt#; % breadth in middle of lowercase s +flare#:=32/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_stem#:=30/36pt#; % uppercase stem breadth +cap_curve#:=35/36pt#; % uppercase curve breadth +cap_ess#:=33/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.4pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=20/36pt#; % vertical distance from serif base to tangent +jut#:=30/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=10pt#; % maximum breadth above or below notches +bar#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/36pt#; % uppercase bar thickness +cap_band#:=11/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=4/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=8/36pt#; % amount of overshoot for curves +apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions + +slant:=.25; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=true; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=true; % should math-mode spacing be used? + +% the following font parameters are explained in {\sl The \TeX book}, Appendix G +subs:=7/10; % subscripts to 10pt will normally be in 7pt type +rth#:=.4pt#; % assume that rules will come from cmex10 +fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed + math_axis#+3.51rth#+54/36pt#+subs*desc_depth#, % num1 + math_axis#+1.51rth#+30/36pt#, % num2 + math_axis#+1.51rth#+48/36pt#, % num3 + -(math_axis#-3.51rth#-subs*fig_height#-124/36pt#), % denom1 + -(math_axis#-1.51rth#-subs*fig_height#-30/36pt#), % denom2 + 8.99pt#-subs*asc_height#, % sup1 + 8.49pt#-subs*asc_height#, % sup2 + 104/36pt#, % sup3 + 54/36pt#, % sub1 + -(8.49pt#-2subs*asc_height#-3.1rth#), % sub2 + subs*asc_height#-36/36pt#, % sup\_drop + 18/36pt#, % sub\_drop + 23.9pt#, % delim1 + 10.1pt#, % delim2 + math_axis#; % axis\_height + +generate shuffle % switch to the driver file diff --git a/fonts/shuffle/shuffle7.mf b/fonts/shuffle/shuffle7.mf new file mode 100644 index 0000000000..2e1d3a0472 --- /dev/null +++ b/fonts/shuffle/shuffle7.mf @@ -0,0 +1,100 @@ +% This is a driver file to create a 7 point shuffle symbol. +% It is just a barely modified cmsy7.mf file. +% Written by Julian Gilbey <J.D.Gilbey@qmul.ac.uk> +% This file is in the public domain + +if unknown cmbase: input cmbase fi + +font_identifier:="CMSHUF"; font_size 7pt#; + +u#:=15.5/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=3.5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=4/36pt#; % extra space added to all sidebars + +body_height#:=189/36pt#; % height of tallest characters +asc_height#:=175/36pt#; % height of lowercase ascenders +cap_height#:=172.2/36pt#; % height of caps +fig_height#:=162.4/36pt#; % height of numerals +x_height#:=108.5/36pt#; % height of lowercase without ascenders +math_axis#:=63/36pt#; % axis of symmetry for math symbols +bar_height#:=60.9/36pt#; % height of crossbar in lowercase e +comma_depth#:=49/36pt#; % depth of comma below baseline +desc_depth#:=49/36pt#; % depth of lowercase descenders + +crisp#:=7/36pt#; % diameter of serif corners +tiny#:=7/36pt#; % diameter of rounded corners +fine#:=6/36pt#; % diameter of sharply rounded corners +thin_join#:=6/36pt#; % width of extrafine details +hair#:=8.5/36pt#; % lowercase hairline breadth +stem#:=19.5/36pt#; % lowercase stem breadth +curve#:=22.5/36pt#; % lowercase curve breadth +ess#:=21/36pt#; % breadth in middle of lowercase s +flare#:=23.5/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=29/36pt#; % diameter of dots +cap_hair#:=9/36pt#; % uppercase hairline breadth +cap_stem#:=23.5/36pt#; % uppercase stem breadth +cap_curve#:=26.5/36pt#; % uppercase curve breadth +cap_ess#:=22.5/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.34pt#; % thickness of lines in math symbols + +dish#:=.9/36pt#; % amount erased at top or bottom of serifs +bracket#:=14/36pt#; % vertical distance from serif base to tangent +jut#:=21/36pt#; % protrusion of lowercase serifs +cap_jut#:=26/36pt#; % protrusion of uppercase serifs +beak_jut#:=7.6/36pt#; % horizontal protrusion of beak serifs +beak#:=49/36pt#; % vertical protrusion of beak serifs +vair#:=7/36pt#; % vertical diameter of hairlines +notch_cut#:=7pt#; % maximum breadth above or below notches +bar#:=9/36pt#; % lowercase bar thickness +slab#:=9/36pt#; % serif and arm thickness +cap_bar#:=9/36pt#; % uppercase bar thickness +cap_band#:=9/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=7pt#; % max breadth above/below uppercase notches +serif_drop#:=2.8/36pt#; % vertical drop of sloped serifs +stem_corr#:=.9/36pt#; % for small refinements of stem breadth +vair_corr#:=.9/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=5/36pt#; % amount of overshoot for curves +apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions + +slant:=.25; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=.6; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=true; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=true; % should math-mode spacing be used? + +% the following font parameters are explained in {\sl The \TeX book}, Appendix G +subs:=5/7; % subscripts to 7pt will normally be in 5pt type +rth#:=.4pt#; % assume that rules will come from cmex10 +fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed + math_axis#+3.51rth#+36/36pt#+subs*desc_depth#, % num1 + math_axis#+1.51rth#+12/36pt#, % num2 + math_axis#+1.51rth#+34/36pt#, % num3 + -(math_axis#-3.51rth#-subs*fig_height#-86/36pt#), % denom1 + -(math_axis#-1.51rth#-subs*fig_height#-12/36pt#), % denom2 + 6.99pt#-subs*asc_height#, % sup1 + 6.49pt#-subs*asc_height#, % sup2 + 72/36pt#, % sup3 + 36/36pt#, % sub1 + 72/36pt#, % sub2 + subs*asc_height#-36/36pt#, % sup\_drop + 18/36pt#, % sub\_drop + 11.9pt#, % delim1 + 8.1pt#, % delim2 + math_axis#; % axis\_height + +generate shuffle % switch to the driver file + |