%\manfnttrue ^^A remove this line if the manualfont is not on your system %\UsersGuidetrue ^^A remove this line to print the full documentation. % %\iffalse metacomment % (c)1995--99 Peter Møller Neergaard % % This files may be distributed under the terms of the LaTeX Project Public % License, as described in lppl.txt in the base LaTeX distribution. % Either version 1.0 or, at your option, any later version. % % For information about the copyright of the metafont sources for bbding, % please refer to the file ..... % % Install by running tex with "bbding.ins". % % To get the documentation run latex twice on this file and then print the % file bbding.dvi. Note that the documentation can be processed without % the fontmetrices available, the symbols will however be missing. % % This file is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. %\fi % \CheckSum{643} % \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 \~} % % % ^^A I would not like to have the standard LaTeX commands in the index % ^^A This is taken from `doc.dtx' % \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty} % \DoNotIndex{\@flushglue,\@gobble,\@input} % \DoNotIndex{\@makefnmark,\@makeother,\@maketitle} % \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa} % \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue} % \DoNotIndex{\@thanks,\@thefnmark,\@topnum} % \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin} % \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces} % \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup} % \DoNotIndex{\mathcal,\csname,\def,\documentstyle,\dospecials,\edef} % \DoNotIndex{\egroup} % \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist} % \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global} % \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocolumn} % \DoNotIndex{\ifcase} % \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item} % \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower} % \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing} % \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc} % \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut} % \DoNotIndex{\strutbox} % \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt} % \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@} % \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim} % \DoNotIndex{\`,\catcode,\end,\escapechar,\frenchspacing,\glossary} % \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle} % \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode} % \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip} % \DoNotIndex{\nopagebreak} % \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle} % \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb} % \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar} % \DoNotIndex{\[,\{,\},\]} % \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode} % \DoNotIndex{\baselineskip,\begin,\tw@} % \DoNotIndex{\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k,\l,\m,\n,\o,\p,\q} % \DoNotIndex{\r,\s,\t,\u,\v,\w,\x,\y,\z,\A,\B,\C,\D,\E,\F,\G,\H} % \DoNotIndex{\I,\J,\K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z} % \DoNotIndex{\1,\2,\3,\4,\5,\6,\7,\8,\9,\0} % \DoNotIndex{\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_} % \DoNotIndex{\discretionary,\immediate,\makeatletter,\makeatother} % \DoNotIndex{\meaning,\newenvironment,\par,\relax,\renewenvironment} % \DoNotIndex{\repeat,\scriptsize,\selectfont,\the,\undefined} % \DoNotIndex{\arabic,\do,\makeindex,\null,\number,\show,\write,\@ehc} % \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title,\everypar} % \DoNotIndex{\if@minipage,\if@restonecol,\ifeof,\ifmmode} % \DoNotIndex{\lccode,\newtoks,\onecolumn,\openin,\p@,\SelfDocumenting} % \DoNotIndex{\settowidth,\@resetonecoltrue,\@resetonecolfalse,\bf} % \DoNotIndex{\clearpage,\closein,\lowercase,\@inlabelfalse} % \DoNotIndex{\selectfont,\mathcode,\newmathalphabet,\rmdefault} % \DoNotIndex{\bfdefault} % % ^^A Exclude commands used for generating the index % \DoNotIndex{\CodelineIndex,\DeleteShortVerb,\DisableCrossrefs} % \DoNotIndex{\EnableCrossrefs,\OnlyDescription,\RecordChanges} % % \ifUsersGuide % \OnlyDescription % \DisableCrossrefs % \else % \RecordChanges % \fi % % \GetFileInfo{bbding.sty} % % \title{The \bbding-package\thanks % {This file has \fileversion\ and is dated \filedate}} % \author{Karel Horak\thanks{Made the \METAFONT-source for the font.} \\ % Peter Møller Neergaard\thanks{Implemented the \LaTeXe-package.} \\ % \texttt{turtle}@\texttt{diku.dk} \quad \texttt{http://www.diku.dk/students/turtle}\\ % Sergue{\"i} Dachian\thanks{Fixed a bug in the symbols for scissors}} % % \maketitle % % \begin{abstract} % This package provides an easy-to-use interface to the \texttt{bbding} symbol % set developed by \emph{Karel Horak}. The naming conventions is made % close to \emph{Zapf-Dingbat} as it can be found in \package{Wordperfect % 6.0}, however, sometimes shortening the names. % \end{abstract} % % ^^A Two column table of contents --- borrowed from ``doc.dtx'' % \ifmulticols % \addtocontents{toc}{\protect\begin{multicols}{2}} % \fi % % {\parskip 0pt ^^A We have to reset \parskip % ^^A (bug in \LaTeX) % \tableofcontents % } % % A special thought should be given to \emph{Mauro Orlandini} and \emph{Max % Hailperin} who developed a macro for setting paragraphs in parallel. This % saved me for a lot of work, when developing this manual. % % \section{Usage and Symbols} % % \noindent % \bbding\ provides an easy to use interface to the |bbding|-symbolfont % set. It is loaded by issusing the command % |\usepackage{bbding}| in your document preamble. % % You have the symbols shown in the following tables at your disposal. All % the symbols are used issuing the command written to the right of the symbol. % % \begin{figure} \small % \begin{commandsInColumns}{2} % \ScissorRight % \ScissorRightBrokenBottom % \ScissorRightBrokenTop % \ScissorHollowRight % \ScissorLeft % \ScissorLeftBrokenBottom % \ScissorLeftBrokenTop % \ScissorHollowLeft % \end{commandsInColumns} % \caption{Scissors} % \end{figure} % % \begin{figure} \small % \begin{commandsInColumns}{3} % \HandRight % \HandRightUp % \HandCuffRight % \HandCuffRightUp % \HandLeft % \HandLeftUp % \HandCuffLeft % \HandCuffLeftUp % \HandPencilLeft % \end{commandsInColumns} % \caption{Hands} % \end{figure} % % \begin{figure} \small % \begin{commandsInColumns}{3} % \PencilRight % \PencilRightUp % \PencilRightDown % \PencilLeft % \PencilLeftUp % \PencilLeftDown % \NibRight % \NibSolidRight % \NibLeft % \NibSolidLeft % \end{commandsInColumns} % \caption{Writing tools} % \end{figure} % % \begin{figure} \small % \begin{commandsInColumns}{3} % \XSolid % \XSolidBold % \XSolidBrush % \Plus % \PlusOutline % \PlusCenterOpen % \PlusThinCenterOpen % \Cross % \CrossOpenShadow % \CrossOutline % \CrossBoldOutline % \CrossClowerTips % \CrossMaltese % \end{commandsInColumns} % \caption{Crosses, plusses and the like} % \end{figure} % % \begin{figure} \small % \begin{commandsInColumns}{3} % \DavidStar % \DavidStarSolid % \JackStar % \JackStarBold % \FourStar % \FourStarOpen % \FiveStar % \FiveStarLines % \FiveStarOpen % \FiveStarOpenCircled % \FiveStarCenterOpen % \FiveStarOpenDotted % \FiveStarOutline % \FiveStarOutlineHeavy % \FiveStarConvex % \FiveStarShadow % \SixStar % \EightStar % \EightStarBold % \EightStarTaper % \EightStarConvex % \TwelweStar % \SixteenStarLight % \Asterisk % \AsteriskBold % \AsteriskCenterOpen % \AsteriskThin % \AsteriskThinCenterOpen % \AsteriskRoundedEnds % \FourAsterisk % \EightAsterisk % \end{commandsInColumns} % \caption{All kind of stars} % \end{figure} % % \begin{figure} \small % \begin{commandsInColumns}{2} % \FiveFlowerOpen % \FiveFlowerPetal % \SixFlowerOpenCenter % \SixFlowerRemovedOpenPetal % \SixFlowerAlternate % \SixFlowerAltPetal % \SixFlowerPetalDotted % \SixFlowerPetalRemoved % \EightFlowerPetalRemoved % \EightFlowerPetal % \FourClowerOpen % \FourClowerSolid % \Sparkle % \SparkleBold % \SnowflakeChevron % \SnowflakeChevronBold % \Snowflake % \end{commandsInColumns} % \caption{Flowers, snowflakes and the like} % \end{figure} % % \begin{figure} \small % \begin{commandsInColumns}{2} % \CircleSolid % \CircleShadow % \HalfCircleRight % \HalfCircleLeft % \Ellipse % \EllipseSolid % \EllipseShadow % \Square % \SquareSolid % \SquareShadowBottomRight % \SquareShadowTopRight % \SquareShadowTopLeft % \SquareCastShadowBottomRight % \SquareCastShadowTopRight % \SquareCastShadowTopLeft % \TriangleUp % \TriangleDown % \DiamondSolid % \OrnamentDiamondSolid % \RectangleThin % \Rectangle % \RectangleBold % \end{commandsInColumns} % \caption{Geometrical Shapes} % \end{figure} % % \begin{figure} \small % \begin{commandsInColumns}{3} % \Phone % \PhoneHandset % \Tape % \Plane % \Envelope % \Peace % \Checkmark % \CheckmarkBold % \SunshineOpenCircled % \ArrowBoldRightStrobe % \ArrowBoldUpRight % \ArrowBoldDownRight % \ArrowBoldRightShort % \ArrowBoldRightCircled % \end{commandsInColumns} % \caption{Miscellaneous} % \end{figure} % \clearpage % \section{How to Install \texttt{bbding}} % % I suppose that you have already got the file |bbding10.mf| containing the \METAFONT-source for the % \bbding-symbol set from your nearest CTAN-site. It should be placed in a % directory, where it can be found by \METAFONT. % % Then generate the font-metrices |bbding10.tfm| using \METAFONT\ (ask your % system administrator for details). This is done from a command line issusing, say: % \begin{code} % |metafont \mode=|\meta{localmode}|; input bbding10| % \end{code} % where \meta{localmode} is one of the modes defined in your local setup % file, |local.mf|, for \METAFONT. Move the resulting |bbding10.tfm| % to a directory in the path, where \LaTeX\ looks for |.tfm|-files. If it % had also generated the bitmap-file, move it to a location, where you % favourite DVI-viewer can find it. % % As the last thing install the package file, by running \TeX\ % with the file |bbding.ins|. This generates two files: |bbding.sty| and % |Uding.fd|. |bbding.sty| is the packages file, which is loaded by % \LaTeX\ and |Uding.fd| contains the loading information about the font. % % If the manualfont |manfnt.tfm|---which is only used to generate the logo % for \METAFONT---is not installed at your system, you should % remove the first line of this file % \begin{code} % |%\manfnttrue ^^A remove this line if|\lttdots\hss % \end{code} % % This file is documented using \package{doc}. This means that documentation % and commented packagecode is contained in the single file % |bbding.dtx|. If you want to see the full documentation, you should remove % the second line of the file |bbding.dtx| % \begin{code} % |%\UsersGuidetrue ^^A remove this line|\lttdots % \end{code} % and then run \LaTeX\ on the changed file. After this you should generate % the change history using |makeindex|: % \begin{code} % |makeindex -s gglo.ist -o bbding.gls bbding.glo|\hss % \end{code} % After this process the file once more. % % \medskip % \parmark[\copyright]^^A % At last the borrowing formal stuff: You a encouraged to copy, use, delete % etc.\ the package (|bbding.dtx|, |dingbat.fd| and |semantic.ins|) as much as % your heart desires as long as you pass it on in complete. % You are welcome to sneak in the code and get inspiration. You should just % remember: {\small \copyright 1993 Karel Horak for the \METAFONT-source and % \copyright 1995--1996 Peter Møller Neergaard for the style file} % % \StopEventually{ % \ifmulticols % \addtocontents{toc}{\protect\end{multicols}} % \fi % } % % \section{The Code of \texttt{bbding.dtx}} % % \ifmulticols % \begin{multicols}{2}[\subsection{To e Done (In Priority)}] % \else % \subsection{To Be Done (Priority)} % \fi % % \begin{columnItemize} % \item Add check for the existence of |manfnt.tfm| instead of using the % flag |\ifmanfnt|. |\checkfont| in |ltxcheck.tex| should be the right % place to get the inspiration (thanks to \emph{David Carlisle}). % \end{columnItemize} % % \ifmulticols % \end{multicols} % \fi % % \subsection{Overview of the Code} % \changes{1.0}{1996/02/02}{Finished the naming and documentation} % \changes{1.01}{1999/04/15}{Fixed a bug in the \METAFONT\ source for scissors} % % The code consits of five parts: % % \begin{itemize} % \item A hack making it possible to process the rest of the file without % the package yet installed. % \item The package header for |bbding.sty|. % \item The font definitions, which will be put in |Uding.fd| by % \package{docstrip} and which alse should be used, when printing the % documentation. % \item The name definitions, which primarily is intended for % |bbding.sty|. It is also used in the documentation, thereby making the % processing of the documentaion possible without the documentation % installed. % \item The driver program for preparing the documentation. % \end{itemize} % % \subsection{Stub for Users Guide and Documentation} % % First comes a little hack, that makes \LaTeX\ thinks it is loading the % package \texttt{bbding.sty}. In this way the commands in the % package can be used---without warnings---when printing the documentation. % \begin{macrocode} %<*documentation> \makeatletter \def\@currname{bbding} \def\@currext{sty} % % \end{macrocode} % |\@currname| and |\@currext| is internal \LaTeX-macros containg the name % respectively extension of the package currently being loaded. The code is % encapsulated in |<*documentation>|\lttdots|| so that it is % not included in the style-file, when installing the package. % % \subsection{Header of \texttt{bbding.sty}} % % First in |bbding.sty| comes the code that identifies the file as a % \LaTeXe-package % \begin{macrocode} %<*sty> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{bbding}% [1999/04/15 v1.01 Dingbats symbols% ] % % \end{macrocode} % % \subsection{Defining the Fonts for Use} % % Before using the fonts the declaration of the font family should be done. % This is (by convention) kept in |Uding.fd|, which starts by introducing % itself to \LaTeX. Then the family |ding| is declared and defined in % one shape (medium (|n|) weight and width) and it is told that all sizes % comes from scaling the 10pt font. % % \begin{macrocode} %<*fd> \ProvidesFile{Uding.fd} [1996/02/01 v1.0 BBding font definitions% ] \DeclareFontFamily{U}{ding}{} \DeclareFontShape{U}{ding}{m}{n}{% <-> bbding10 }{} % % \end{macrocode} % % |Uding.fd| is not loaded until the font is actually used, which is % the first time that the command |\dingfamily| is used. This command is % defined in the packagefile: % % \begin{macrocode} %<*sty> \newcommand{\dingfamily}{\fontencoding{U}\fontfamily{ding}\selectfont} % \end{macrocode} % % \subsection{Definition of Each Symbol} % % \begin{macro}{\@chooseSymbol} % It would unnormal to use more than one symbol at a time, so I % define a macro for chosing one symbol in the font. This macro is % called by each of symbolsmacros. This keeps the definitions of the % names simple and probably saves memory. I see no reason to define a % ``|\textding|'' command as symbols would be used only one (or perhaps % two) at a time. % \begin{macrocode} \newcommand{\@chooseSymbol}[1]{{\dingfamily\symbol{#1}}} % \end{macrocode} % This macro does the fontchange locally by encapsulating it in a group and % then sets the symbol with the desired number. % \end{macro} % % Then comes the definition of for each symbol: % As mentioned in the abstract the naming convention is inspired by the % names used in \package{Wordperfect 6.0} font set 5. I have however % shortened the % names. I have made a sligtly difference from the \LaTeX\ convention % by capitalizing the first letter of each word, which seems more % readable to me. % \begin{macrocode} \newcommand{\ScissorRightBrokenBottom}{\@chooseSymbol{'000}} \newcommand{\ScissorRight}{\@chooseSymbol{'001}} \newcommand{\ScissorRightBrokenTop}{\@chooseSymbol{'002}} \newcommand{\ScissorLeftBrokenBottom}{\@chooseSymbol{'003}} \newcommand{\ScissorLeft}{\@chooseSymbol{'004}} \newcommand{\ScissorLeftBrokenTop}{\@chooseSymbol{'005}} \newcommand{\ScissorHollowRight}{\@chooseSymbol{'006}} \newcommand{\ScissorHollowLeft}{\@chooseSymbol{'007}} \newcommand{\Phone}{\@chooseSymbol{'010}} \newcommand{\PhoneHandset}{\@chooseSymbol{'011}} \newcommand{\Tape}{\@chooseSymbol{'012}} \newcommand{\Plane}{\@chooseSymbol{'013}} \newcommand{\Envelope}{\@chooseSymbol{'014}} \newcommand{\HandCuffRight}{\@chooseSymbol{'015}} \newcommand{\HandCuffLeft}{\@chooseSymbol{'016}} \newcommand{\HandCuffRightUp}{\@chooseSymbol{'017}} \newcommand{\HandCuffLeftUp}{\@chooseSymbol{'020}} \newcommand{\HandRight}{\@chooseSymbol{'021}} \newcommand{\HandLeft}{\@chooseSymbol{'022}} \newcommand{\HandRightUp}{\@chooseSymbol{'023}} \newcommand{\HandLeftUp}{\@chooseSymbol{'024}} \newcommand{\Peace}{\@chooseSymbol{'025}} \newcommand{\HandPencilLeft}{\@chooseSymbol{'026}} \newcommand{\PencilRight}{\@chooseSymbol{'027}} \newcommand{\PencilLeft}{\@chooseSymbol{'030}} \newcommand{\PencilRightUp}{\@chooseSymbol{'031}} \newcommand{\PencilLeftUp}{\@chooseSymbol{'032}} \newcommand{\PencilRightDown}{\@chooseSymbol{'033}} \newcommand{\PencilLeftDown}{\@chooseSymbol{'034}} \newcommand{\NibRight}{\@chooseSymbol{'035}} \newcommand{\NibLeft}{\@chooseSymbol{'036}} \newcommand{\NibSolidRight}{\@chooseSymbol{'037}} \newcommand{\NibSolidLeft}{\@chooseSymbol{'040}} \newcommand{\Checkmark}{\@chooseSymbol{'041}} \newcommand{\CheckmarkBold}{\@chooseSymbol{'042}} \newcommand{\XSolid}{\@chooseSymbol{'043}} \newcommand{\XSolidBold}{\@chooseSymbol{'044}} \newcommand{\XSolidBrush}{\@chooseSymbol{'045}} \newcommand{\PlusOutline}{\@chooseSymbol{'046}} \newcommand{\Plus}{\@chooseSymbol{'047}} \newcommand{\PlusCenterOpen}{\@chooseSymbol{'050}} \newcommand{\PlusThinCenterOpen}{\@chooseSymbol{'051}} \newcommand{\Cross}{\@chooseSymbol{'052}} \newcommand{\CrossOpenShadow}{\@chooseSymbol{'053}} \newcommand{\CrossOutline}{\@chooseSymbol{'054}} \newcommand{\CrossBoldOutline}{\@chooseSymbol{'055}} \newcommand{\CrossMaltese}{\@chooseSymbol{'056}} \newcommand{\DavidStarSolid}{\@chooseSymbol{'057}} \newcommand{\DavidStar}{\@chooseSymbol{'060}} \newcommand{\FourAsterisk}{\@chooseSymbol{'061}} \newcommand{\JackStar}{\@chooseSymbol{'062}} \newcommand{\JackStarBold}{\@chooseSymbol{'063}} \newcommand{\CrossClowerTips}{\@chooseSymbol{'064}} \newcommand{\FourStar}{\@chooseSymbol{'065}} \newcommand{\FourStarOpen}{\@chooseSymbol{'066}} \newcommand{\FiveStarLines}{\@chooseSymbol{'067}} \newcommand{\FiveStar}{\@chooseSymbol{'070}} \newcommand{\FiveStarOpen}{\@chooseSymbol{'071}} \newcommand{\FiveStarOpenCircled}{\@chooseSymbol{'072}} \newcommand{\FiveStarCenterOpen}{\@chooseSymbol{'073}} \newcommand{\FiveStarOpenDotted}{\@chooseSymbol{'074}} \newcommand{\FiveStarOutline}{\@chooseSymbol{'075}} \newcommand{\FiveStarOutlineHeavy}{\@chooseSymbol{'076}} \newcommand{\FiveStarConvex}{\@chooseSymbol{'077}} \newcommand{\FiveStarShadow}{\@chooseSymbol{'100}} \newcommand{\AsteriskBold}{\@chooseSymbol{'101}} \newcommand{\AsteriskCenterOpen}{\@chooseSymbol{'102}} \newcommand{\AsteriskThin}{\@chooseSymbol{'103}} \newcommand{\AsteriskThinCenterOpen}{\@chooseSymbol{'104}} \newcommand{\EightStarTaper}{\@chooseSymbol{'105}} \newcommand{\EightStarConvex}{\@chooseSymbol{'106}} \newcommand{\SixStar}{\@chooseSymbol{'107}} \newcommand{\EightStar}{\@chooseSymbol{'110}} \newcommand{\EightStarBold}{\@chooseSymbol{'111}} \newcommand{\TwelweStar}{\@chooseSymbol{'112}} \newcommand{\SixteenStarLight}{\@chooseSymbol{'113}} \newcommand{\SixFlowerPetalRemoved}{\@chooseSymbol{'114}} \newcommand{\SixFlowerOpenCenter}{\@chooseSymbol{'115}} \newcommand{\Asterisk}{\@chooseSymbol{'116}} \newcommand{\SixFlowerAlternate}{\@chooseSymbol{'117}} \newcommand{\FiveFlowerPetal}{\@chooseSymbol{'120}} \newcommand{\SixFlowerPetalDotted}{\@chooseSymbol{'121}} \newcommand{\FiveFlowerOpen}{\@chooseSymbol{'122}} \newcommand{\EightFlowerPetal}{\@chooseSymbol{'123}} \newcommand{\SunshineOpenCircled}{\@chooseSymbol{'124}} \newcommand{\SixFlowerAltPetal}{\@chooseSymbol{'125}} \newcommand{\FourClowerOpen}{\@chooseSymbol{'126}} \newcommand{\FourClowerSolid}{\@chooseSymbol{'127}} \newcommand{\AsteriskRoundedEnds}{\@chooseSymbol{'130}} \newcommand{\EightFlowerPetalRemoved}{\@chooseSymbol{'131}} \newcommand{\EightAsterisk}{\@chooseSymbol{'132}} \newcommand{\SixFlowerRemovedOpenPetal}{\@chooseSymbol{'133}} \newcommand{\SparkleBold}{\@chooseSymbol{'134}} \newcommand{\Sparkle}{\@chooseSymbol{'135}} \newcommand{\SnowflakeChevron}{\@chooseSymbol{'136}} \newcommand{\SnowflakeChevronBold}{\@chooseSymbol{'137}} \newcommand{\Snowflake}{\@chooseSymbol{'140}} \newcommand{\CircleSolid}{\@chooseSymbol{'141}} \newcommand{\Ellipse}{\@chooseSymbol{'142}} \newcommand{\EllipseSolid}{\@chooseSymbol{'143}} \newcommand{\CircleShadow}{\@chooseSymbol{'144}} \newcommand{\EllipseShadow}{\@chooseSymbol{'145}} \newcommand{\Square}{\@chooseSymbol{'146}} \newcommand{\SquareSolid}{\@chooseSymbol{'147}} \newcommand{\SquareShadowBottomRight}{\@chooseSymbol{'150}} \newcommand{\SquareShadowTopRight}{\@chooseSymbol{'151}} \newcommand{\SquareShadowTopLeft}{\@chooseSymbol{'152}} \newcommand{\SquareCastShadowBottomRight}{\@chooseSymbol{'153}} \newcommand{\SquareCastShadowTopRight}{\@chooseSymbol{'154}} \newcommand{\SquareCastShadowTopLeft}{\@chooseSymbol{'155}} \newcommand{\TriangleUp}{\@chooseSymbol{'156}} \newcommand{\TriangleDown}{\@chooseSymbol{'157}} \newcommand{\DiamondSolid}{\@chooseSymbol{'160}} \newcommand{\OrnamentDiamondSolid}{\@chooseSymbol{'161}} \newcommand{\HalfCircleRight}{\@chooseSymbol{'162}} \newcommand{\HalfCircleLeft}{\@chooseSymbol{'163}} \newcommand{\RectangleThin}{\@chooseSymbol{'164}} \newcommand{\Rectangle}{\@chooseSymbol{'165}} \newcommand{\RectangleBold}{\@chooseSymbol{'166}} \newcommand{\ArrowBoldRightStrobe}{\@chooseSymbol{'167}} \newcommand{\ArrowBoldUpRight}{\@chooseSymbol{'170}} \newcommand{\ArrowBoldDownRight}{\@chooseSymbol{'171}} \newcommand{\ArrowBoldRightShort}{\@chooseSymbol{'172}} \newcommand{\ArrowBoldRightCircled}{\@chooseSymbol{'173}} % % \end{macrocode} % When naming I have tried to keep a maxium of four words per name. I have % however made a few exception to have a consistent naming. % % \subsection{Driver for the Documentation} % % The package-file (|bbding.dtx|) is ended by the \LaTeX-preamble to produce % the documentation. By placing it at the end, all the commands in the % package can be used when processing the documentation, though the % package is not yet installed on the system. The fontmetrices and -bitmaps % should however be generated before. % \begin{macrocode} %<*documentation> \documentclass{ltxdoc} \usepackage[T1]{fontenc} \newif\ifmulticols \IfFileExists{multicol.sty}{\multicolstrue}{} \newif\ifmanfnt \newif\ifUsersGuide \newcommand{\lttdots}{\ensuremath{\mathtt{\ldots}}} \newcommand{\CSname}[1]{\texttt{\protect\bslash#1}} \newcommand{\package}[1]{\textsf{#1}} \newcommand{\bbding}{\texttt{bbding}} \DeclareFontFamily{U}{manual}{} \DeclareFontShape{U}{manual}{m}{n}{<-> manfnt }{} \newcommand{\METAFONT}{% \ifmanfnt {\fontencoding{U}\fontfamily{manual}\selectfont \symbol{47}\symbol{48}\symbol{49}\symbol{50}\-% \symbol{51}\symbol{52}\symbol{53}\symbol{49}}% \else METAFONT\fi} \def\GetInfo#1{% \def\filename{#1}% {\def\ver##1(##2)##3\relax{% \def\tc{##1}% \def\td{##2}% \ifx \td\empty % \else % \edef\td{$\csname ##2\endcsname$}% \fi}% \def\tb##1 v##2 ##3\end{% \gdef\filedate{##1}% \ver ##2()\relax% \xdef\fileversion{\tc\expandafter\noexpand\td}% \gdef\fileinfo{##3}}% \edef\ta{\csname ver@#1\endcsname}% \expandafter\tb\ta\end\relax}} \def\setn@me#1#2{$\backslash$#2} {\catcode`\^^M=12% \gdef\st@rtenv{\@ifnextchar^^M{\dropnext\setCommand}{\setCommand}}% \gdef\setCommand#1#2^^M{% \hbox to 1cm{#1}\hbox{\expandafter\setn@me\string#1} % \@ifnextchar\end{}{\setCommand}% }} \newtoks\p@rm@rk \newcommand{\setparagraphmark}[1]{\p@rm@rk={#1}} \newcommand{\parmark}[1][\the\p@rm@rk]{% \setbox0=\hbox{\huge #1}% \clubpenalty=10000% \noindent\hangindent=\wd0 \hangafter=-2% \llap{\raise.35em\hbox{\vbox to0pt{\box0 \vss}\hfill}}} \newenvironment{code}{\begin{verse}\small}{\end{verse}} \newenvironment{columnItemize}% {\begin{list}% {$\bullet$}% {\settowidth{\labelwidth}{$\bullet$}% \setlength{\leftmargin}{5mm}% \setlength{\labelsep}{\leftmargin}% \addtolength{\labelsep}{-\labelwidth}}}% {\end{list}} \newcount\c@lumnsleft \newcount\t@talcolumns \newdimen\c@lumnwidth \newenvironment{commandsInColumns}[1]{% \t@talcolumns=#1\advance\t@talcolumns-1\c@lumnsleft=\t@talcolumns% \c@lumnwidth=-2em\multiply\c@lumnwidth by \t@talcolumns% \advance\c@lumnwidth by\hsize \divide\c@lumnwidth by #1% \vskip\z@ % Ensures vertical mode \catcode`\^^M=12% \hbox\bgroup% \st@rtenv% } {\ifnum\c@lumnsleft=\t@talcolumns \egroup \else \egroup \fi} {\catcode`\^^M=12% \gdef\st@rtenv{\@ifnextchar^^M{\dr@pnext\doNextComm@nd}{\doNextComm@nd}}% \gdef\setComm@nd#1#2^^M{% \hbox to \c@lumnwidth% {\hbox to .5cm{#1\hss}\hbox{\expandafter\setn@me\string#1.}\hss}% \advance\c@lumnsleft-1% \ifnum\c@lumnsleft>0% \hskip2em% \else% \egroup% \hbox\bgroup% \c@lumnsleft\t@talcolumns% \fi% \doNextComm@nd% }} \def\dr@pnext#1#2{#1} \def\doNextComm@nd{\@ifnextchar\end{}{\setComm@nd}}% \def\setn@me#1#2.{\CSname{#2}} % Removes the first character (^^M) of the name generated by string {\catcode`\%=11 \typeout{} \typeout{NOTE: If LaTeX complains} \typeout{\@spaces\@spaces Font U/manual/m/n/9 manfnt at 9.0 not loadable: ...} \typeout{\@spaces\space\space then remove the very first line of this file} \typeout{\@spaces\@spaces %\protect\manfnttrue\space ...} \typeout{} } \makeatother \begin{document} \DocInput{bbding.dtx} \end{document} % % \end{macrocode} % The documentpreamble loads \package{ltxdoc}, which is the standard % \LaTeXe-class for documentation and issues commands about % charactertables. Then it defines a bunch of commands (described below), % that had eased my typing of the documentation. % It issues some ``relaxing'' typeouts to the user, and at last it is ready % to really process the documenation, which is done by % loading itself once more using \package{docstrip}. % % The commands defined are % \begin{description} % \item[\CSname{ifmulticols}] conditional ensuring that \TeX\ branches over % parts setting up multiple columns, when this is not provided. % \item[\CSname{ifmanfnt}] conditional telling whether the manualfont used % for the \emph{The \TeX-book} is available. The font is used to generate % the \METAFONT-logo and it is declared to NFSS anyway, as it will only be % loaded up on request. The user will have to manually set this conditional to % false to avoid using the |manfnt|, which is done by removing the first % line. I thought it safer to ask the user to remove something written, % than adding something ``unwritten''.% % \item[\CSname{ifUsersGuide}] conditional telling wether only the users % guide is wanted. As with |\ifmanfnt| the user will have to remove the % first line of the file to get the full documentation. % \item[\CSname{lttdots}] gives ellipsis in a typewriter-font % \item[\CSname{CSname}] typeset a commandname when it is not possible using % the standard notation, \verb+|+\lttdots\verb+|+, from \package{ltxdoc} (eg.\ in % headers). Intentionally given a name close to \TeX's |\csname|. % \item[\CSname{package}] sets the name of \LaTeX-package. % \item[\CSname{bbding}] gives the package-symbol (name in a typewriter-font) % \item[\CSname{GetInfo}] defines the commands |\fileversion|, |\filedate| % and |\fileinfo| with information about \bbding\ % as provided in % |\providespackage|. It is mainly borrowed from a command with the same % name in \package{ltxdoc} but has been changed to type the additional % greek letter in the package version provided in parenthesis. % \item[\CSname{parmark} and \CSname{setparagraphmark}] is used to set a % given symbol in front of a paragraph. |\setparagraphmark| defines the % symbol to be used by |\parmark|, if no argument is given explicit. % \item[\texttt{code}] Environment for displaying examples in the Users Guide. % \item[\texttt{columnitemize}] Makes an itemizing where the bullet is not % idented, which would make the text too narrow when using columns. % \item[\texttt{commandsInColumns}] Is as specialized environment---nearly % deserving its own package. I owe a special thanks to \emph{Mauro % Orlandini} and \emph{Max Hailperin} for developing a much-like % environment, which gave me much inspiration. % % The environment is used to show the commands of \bbding\ in % columns. Inside the environment each line contains a entry, which is set % across the page in the number of columns given by the parameter. On each % line the first token not being a space is taken as the command. It is % first set and then its name is set in a \texttt{typewriter} font. % % \textbf{Some notes on the code}: First thing in the environment is to % calculate the width of the columns, % \[ % \CSname{c@lumnwidth} = \frac{\textrm{textwidth} - (\textrm{no.\ of columns}-1)*\textrm{column skip}}{\textrm{no.\ of columns}} % \] % Then the counters are initialised and \TeX\ is forced into vertical % mode. Each line is being build in a |\hbox|, which is first started in % the \emph{beginning definition} of the environment. When the given % number of columns have been set, the box is ended (and thereby % added to the vertical list) and a new one is started. % % |\setComm@nd| finds one line and sets in a |\hbox| with the calculated % width. It is therefore declared in a group, where \emph{carriage return} % (\verb+^^M+) is turned into a \emph{other} character. The actual setting is % done by |\setn@me|, which matches out the relevant part produced by the % primitive |\string|. After the command is set, it is tested if this line is % done, ie.\ the correct number of columns have been set. In that case % it is ended as described above, otherwise \LaTeX\ skips to the % next column. At last |\doNextComm@nd| testes if there is a new command % or it has reaced the |\end| of the environment. % \end{description} % % \Finale \sloppy \PrintChanges \endinput