% \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
