%\iffalse % ==================================================================== % @LaTeX-documentation-file{ % author = "Alan Jeffrey", % version = "1.01", % date = "08 April 2002", % filename = "bbold.dtx", % address = "CTI, DePaul University, % 243 S. Wabash Ave., Chicago IL 60604, USA", % email = "ajeffrey@cs.depaul.edu", % codetable = "ISO/ASCII", % keywords = "LaTeX math fonts", % supported = "yes", % abstract = "This is the documentation and % self-extracting archive for the bbold % package. If you run latex2e on it, it will % produce the documentation, as well as % the bbold package and font definition % file.", % package = "stands alone", % dependencies = "none", % } % ==================================================================== %\fi %% \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 \~} % % \setcounter{StandardModuleDepth}{1} % \def\dst{\expandafter{\normalfont\scshape docstrip}} % % \changes{1.00}{1991/05/23}{File created} % \changes{1.01}{2002/04/08}{Moved to Modified Free BSD license} % % \title{The \textbb{bbold} symbol font} % \author{Alan Jeffrey} % \date{April 2002} % % \maketitle % % \section*{Introduction} % % This document describes the \textbb{bbold} math alphabet. This % is an open (or `blackboard bold') geometric sans serif, intended % mainly for use in mathematics, but which may prove useful for % decorative work. % % To use the fonts in \LaTeXe, you select the |bbold| package, % and then use the |\mathbb| command to get blackboard bold % mathematics, |\textbb| for text, or |\bbfamily| for longer text. % The full font is: % \begin{center} % \bbfamily % \fonttable % The bbold font family. % \end{center} % This was the first full font I implemented, and has a number of % dubious design features. It is very geometric, and the stress % does not conform to that of most Latin fonts---this was an attempt to % imitate real blackboard handwriting. The difference in widths % between `\textbb{a}' and `\textbb{b}' is very noticable. The lip of % the `\textbb{r}' is horrible. However, the uppercase latin letters % look passable, and they're almost the only ones anyone ever uses. % % \section*{Legal rubbish} % % This package is copyright \copyright~1989--2002 Alan Jeffrey. % All rights are reserved. % The moral right of the author has been asserted. % % % Redistribution and use in source and binary forms, with or without % modification, are permitted provided that the following conditions % are met: % % \begin{enumerate} % % \item Redistributions of source code must retain the above copyright % notice, this list of conditions and the following disclaimer. % % \item 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. % % \item The name of the author may not be used to endorse or promote products % derived from this software without specific prior written permission. % % \end{enumerate} % % THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. % % \StopEventually{} % % \section{Installation} % % To begin with, the |bbold| package is % installed by running \LaTeXe{} on this document, so we begin with % the installation procedure. This needs to use \LaTeXe: % \begin{macrocode} %<*install> \NeedsTeXFormat{LaTeX2e} % \end{macrocode} % First of all, we write out a little |.ins| file which creates the % |bbold| package: % \begin{macrocode} \begin{filecontents}{bbold.ins} \generateFile{bbold.sty}{f}{ \from{bbold.dtx}{package}} \generateFile{fonttabl.sty}{f}{ \from{bbold.dtx}{fonttabl}} \generateFile{Ubbold.fd}{f}{ \from{bbold.dtx}{fontdef}} \end{filecontents} % \end{macrocode} % Then we do some horrible low-level hacks to run docstrip on % |bbold.ins|: % \begin{macrocode} \bgroup \makeatletter \let\@@end=\relax \def\batchfile{bbold.ins} \input{docstrip} \egroup % \end{macrocode} % That's it for the installation: % \begin{macrocode} % % \end{macrocode} % % \section{Documentation} % % We now provide the documentation driver for this document: % \begin{macrocode} %<*driver> \documentclass{ltxdoc} \DisableCrossrefs \OnlyDescription \usepackage{bbold,fonttabl} % \end{macrocode} % Then we produce the documentation: % \begin{macrocode} \begin{document} \DocInput{bbold.dtx} \end{document} % % \end{macrocode} % % \section{The package} % % We can now implement the |bbold| package. % \begin{macrocode} %<*package> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{bbold}[1994/04/06 Bbold symbol package] % \end{macrocode} % \begin{macro}{\mathbb} % \begin{macro}{\textbb} % \begin{macro}{\bbfamily} % These are the three user commands. They are just simple calls to % \LaTeXe{} font selection. % \begin{macrocode} \newcommand{\bbfamily}{\fontencoding{U}\fontfamily{bbold}\selectfont} \newcommand{\textbb}[1]{{\bbfamily#1}} \DeclareMathAlphabet{\mathbb}{U}{bbold}{m}{n} % % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \section{The font definitions} % % The font definitions for the \textbb{bbold} fonts are: % \begin{macrocode} %<*fontdef> \DeclareFontFamily{U}{bbold}{} \DeclareFontShape{U}{bbold}{m}{n} { <5> <6> <7> <8> <9> gen * bbold <10> <10.95> bbold10 <12> <14.4> bbold12 <17.28> <20.74> <24.88> bbold17 }{} % % \end{macrocode} % % \section{A font table package} % % The following macros are stolen from |testfont.tex| and can be used % to print font samples. % \begin{macrocode} %<*fonttabl> \newcount\m \newcount\n \newcount\p \newdimen\dim \chardef\other=12 \def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant \def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant \def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal \m=\n \divide\m by 64 \xdef\0{\the\m}% \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}} \def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}% \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F% \global\p=\lastpenalty}} % \p=1 if none of the characters exist \def\oddline{\cr \noalign{\nointerlineskip} \multispan{19}\hrulefill& \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr \noalign{\nointerlineskip}} \newif\ifskipping \def\evenline{\loop\skippingfalse \ifnum\n<256 \m=\n \divide\m 16 \chardef\next=\m \expandafter\setdigs\meaning\next \testrow \ifnum\p=1 \skippingtrue \fi\fi \ifskipping \global\advance\n 16 \repeat \ifnum\n=256 \let\next=\endchart\else\let\next=\morechart\fi \next} \def\morechart{\cr\noalign{\hrule\penalty5000} \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m} \chartline \evenline} \def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&} \def\chartstrut{\lower4.5pt\vbox to14pt{}} \def\fonttable{$$ \@namedef{T@OT1}{}% Switch off loading of ot1.def \@namedef{T@T1}{}% and t1.def in the table axes \global\n=0 \halign to\hsize\bgroup \chartstrut##\tabskip0pt plus10pt& &\hfil##\hfil&\vrule##\cr \lower6.5pt\null &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline} \def\endchart{\cr\noalign{\hrule} \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B& &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$\par} \def\:{\setbox0=\hbox{\char\n}% \ifdim\ht0>7.5pt\reposition \else\ifdim\dp0>2.5pt\reposition\fi\fi \box0\global\advance\n 1 } \def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0 \advance\dim 2pt \dp0=\dim} \def\centerlargechars{ \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}} % % \end{macrocode} % % \Finale \endinput