\documentclass[a4paper]{article} \usepackage{dsfont} % We need both the roman and the sans serif version of % the font in this document for example purposes. % Do not do this at home, unless you really know why. % Chances are you will not end up with a % masterpiece of digital typography. \DeclareMathAlphabet{\varmathds}{U}{dsss}{m}{n} \newcommand{\MF}{\textsf{Metafont}} \begin{document} \title{\bf The Doublestroke Font V1.111} \author{Olaf Kummer} \maketitle \section{Introduction} This font is useful for typesetting the mathematical symbols for the natural numbers ($\mathds{N}$), whole numbers ($\mathds{Z}$), rational numbers ($\mathds{Q}$), real numbers ($\mathds{R}$), complex numbers ($\mathds{C}$), and a couple of others which are sometimes needed. The easiest possibility to represent these sets using \TeX{} is to use boldface, where you get $\mathbf{N}$ after entering \verb:$\mathbf{N}$:. Then one can assemble the glyphs from other ones. For example the expression \verb:$\mathrm{I\!N}$: yields $\mathrm{I\!N}$. The calligraphic symbol $\mathcal{N}$ generated by \verb:$\mathcal{N}$: is another option. But if none of the above suits your needs or personal taste, you should use a special font. These fonts are known as the blackboard bold fonts. There is a well-known font distributed by the AMS as \texttt{amsyb}, but the fonts \texttt{bbold} by Alain Jeffery and \texttt{bbm} by Gilles F.~Robert are viable options, too. And there is this font, too, which was designed to be as similar to the Computer Modern family of fonts by Donald E.~Knuth as possible. Which of these options you prefer is a matter of personal taste, so read on to find out whether you like this font. \section{License} You may use and distribute these fonts as you like. You may modify these fonts as long as you do not rename the files to one of those names that Donald E.~Knuth chose for the Computer Modern fonts. (And seriously, who would want to do that?) \section{Installation} Here are the instructions to install the doublestroke package. \begin{enumerate} \item If a previous version of this font is installed, remove all the files, especially the font files that were generated by \MF{} after the first installation. \item Depending on how you obtained this package it might be necessary to unpack/uncompress an archive. Now the files \begin{verbatim} dsdoc.dvi dsrom12.pfb dsss10.mf dsss8.tfm dsdoc.ps dsrom12.tfm dsss10.pfb dstroke.map dsdoc.tex dsrom8.mf dsss10.tfm readme dsfont.sty dsrom8.pfb dsss12.mf Udsrom.fd dsrom10.mf dsrom8.tfm dsss12.pfb Udsss.fd dsrom10.pfb dsrom.mf dsss12.tfm dsrom10.tfm dsromo.mf dsss8.mf dsrom12.mf dsromu.mf dsss8.pfb \end{verbatim} should be present. \item Make sure that you have \TeX, \LaTeX{} (with NFSS), and \MF{} installed. Make sure that \texttt{cmbase.mf} is accessible by \MF. \item Move the files to their destination. \begin{tabular}{lll} The files & are & and are needed by \\[1ex] \texttt{*.tfm} & font metric files & \TeX \\ \texttt{*.fd} & font defintions & \TeX \\ \texttt{*.sty} & style files & \TeX \\ \texttt{*.mf} & \MF sources & \MF \\ \texttt{*.pfb} & PostScript fonts & \TeX \\ \texttt{*.map} & font map files & \texttt{dvips}, PDF\TeX \end{tabular} The exact location where the files belong depends on your installation. As a first approximation, install them near other files with the same extension. Unlike previous versions of this font, no pregenerated fonts at 300\,dpi are included, because these fonts should always be generated with the proper \MF{} mode. The metric files are included, however, because they do not depend on the printer. \item Verify the installation by generating this documentation file from its source \texttt{dsdoc.tex}. The resulting file \texttt{dsdoc.dvi} should be identical to this text. \item If you want to use the PostScript fonts, you have to make them known to \texttt{dvips} and/or PDF\TeX. The details of this process depend on your system installation. For example, if you are working in a Unix-style environment with a recent \TeX\ installation, you can configure \texttt{dvips} by setting the environment variable \texttt{DVIPSRC} to point to a configuration file \texttt{myconfig}, which would look as follows: \begin{verbatim} p +dstroke.map \end{verbatim} This will tell \texttt{dvips} to load the font map file. PDF\TeX\ looks for a configuration file called \texttt{pdftex.cfg}, into which you should put the line \begin{verbatim} map +dstroke.map \end{verbatim} for it to find the PostScript fonts. Note that for this to work, all files need to be put into their appropriate places. If you are unsure about where to put things, consult your system administrator or the manual of your \TeX\ system. \end{enumerate} You have probably done all of the above, because you are reading this documentation. But maybe you got this documentation from somewhere else and ran into trouble during the installation. In this case try the following: \begin{itemize} \item If \LaTeX{} complains about a missing input file, check whether the files \texttt{*.fd} and \texttt{*.sty} are accessible and readable. \item If \LaTeX{} complains about a missing font, check the placement of the files \texttt{*.tfm}. \item If \LaTeX{} issues strange errors, you might have an old version of \LaTeX{} or NFSS. Try using the fonts with low-level font commands instead of dsfont.sty and check the next item, too. \item If \LaTeX{} issues strange errors, the files might have been corrupted during transmission. Conversions of CR, LF, and so on might cause this problem. \item If the previewer or the printer driver complains about missing fonts and does not automatically call \MF{} to generate these font, either adapt your installation or generate the fonts by hand. Depending on your installation you must run something like \begin{verbatim} mf '\mode=localfont; input dsrom10' \end{verbatim} for each of the fonts. \item If \MF{} is called and complains about missing source files, check whether these (\texttt{*.mf}) are placed correctly. \item If \MF{} is called and complains about strange paths or about paths that do not intersect, you are probably generating the font at a lower resolution than 100\,dpi. There is little you can do except ignoring the errors or telling \MF{} to do so. Please report such errors only if they occur at resolutions above 100\,dpi. \item If the previewer or the printer driver complains about missing characters, check whether you have deleted all files from previous versions of this font. \item If the previewer or the printer driver complains about a checksum error, check whether you have deleted all files from previous versions of this font. \end{itemize} If that does not help and your friendly \TeX nician is unavailable, drop me a mail. I will try to help you, if time permits. \section{Usage} You can use the fonts with all versions of \TeX{} and \LaTeX, if you apply the low-level command \verb:\font:. For example we can write \begin{verbatim} \font\dsrom=dsrom10 $$\hbox{\dsrom N}=\{0,1,2,\ldots\}$$ $$\hbox{\dsrom ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ \bye \end{verbatim} to obtain \[\mathds{N}=\{0,1,2,\ldots\}\] \[\mathds{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\] using \TeX{} alone. If \LaTeX{} and NFSS are available as suggested in the installation section, you can use the style \texttt{dsfont} for an easier and more flexible approach. The style provides a single command \verb:\mathds: which can be used in math mode to typeset a doublestroke symbol. It use is similar to that of \verb:\mathbb: from the AMS package. For example \begin{verbatim} \documentclass{article} \usepackage{dsfont} \begin{document} \[\mathds{N}=\{0,1,2,\ldots\}\] \[\mathds{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\] \end{document} \end{verbatim} will again result in \[\mathds{N}=\{0,1,2,\ldots\}\] \[\mathds{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\] as we have already done in \TeX. The uppercase letters shown here are the most common, but there are a few others in use. \begin{verbatim} \[\mathds{1}\;\mathds{h}\;\mathds{k}\] \end{verbatim} results in \[\mathds{1}\;\mathds{h}\;\mathds{k}\] Why are the other lowercase letters and numerals missing? Well, they would be ugly if treated in the same way as the uppercase letters. Hence I considered the beauty of each individual letter more important than the completeness of the whole character set. Using \verb:\mathds{a}: we can get the letter $\mathds{a}$. This is the way the letter $\mathds{A}$ looked in previous versions of this font. It is provided in case somebody likes the old version better. The two other letters $\mathds{V}$ and $\mathds{W}$ have changed significantly, too, but there will be nobody who prefers the old glyphs, I think. Let us look at some examples. \begin{verbatim} \[\mathds{N}\subset\mathds{Z}\subset\mathds{Q} \subset\mathds{R}\subset\mathds{C}\] \[\{a_i\}_{i\in\mathds{N}}\textrm{~where~}a_i\in\mathds{C}\] \[\forall x\in\mathds{X}:\exists s\in\mathds{S}: x\circ t\in\mathds{T}^\mathds{1}\] \end{verbatim} After running \LaTeX{} we get \[\mathds{N}\subset\mathds{Z}\subset\mathds{Q} \subset\mathds{R}\subset\mathds{C}\] \[(a_i)_{i\in\mathds{N}}\textrm{~where~}a_i\in\mathds{R}\] \[\forall x\in\mathds{X}:\exists s\in\mathds{S}: x\circ s\in\mathds{T}^\mathds{1}\] We can see that the font can occur in subscripts or superscripts without any problems. The last formula shows the possibility to use the doublestroke font for custom defined objects. Some caution is required here. Usually it is best to stick to those symbols whose usage is common, like the natural numbers $\mathds{N}$ etc. But there are reasons to use own glyphs, of course. Some people prefer a sans serif doublestroke font. This can be accomplished by a minimal change of the \TeX{} source. \begin{verbatim} \documentclass{article} \usepackage[sans]{dsfont} \begin{document} \[\mathds{N}=\{0,1,2,\ldots\}\] \[\mathds{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\] \end{document} \end{verbatim} Did you spot the change? The result is \[\varmathds{N}=\{0,1,2,\ldots\}\] \[\varmathds{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\] In this document I had to use both fonts for example purposes. Do not do this at home, unless you really know why. I discourage the simultaneous use of serif and sans serif doublestroke fonts in a single document, because it results in confused readers. \section{Changes} \subsection*{Changes in Version 1.0} \begin{itemize} \item The characters $\mathds{1}$, $\mathds{h}$, and $\mathds{k}$ were added. \item The characters $\mathds{A}$, $\mathds{V}$, and $\mathds{W}$ were completely redone. \item For several characters the size of the serifs was adjusted. \item Several characters were made more robust at low resolutions. In order to achieve this goal, the appearance of the letter $\mathds{S}$ had to be changed for some extreme parameter settings. \item The sans serif version of the font was added. The metaness required to generate a sans serif font was already present in the earlier version. The style file was rewritten to allow a choice between the two fonts. \item 8-point fonts for subscripts were added. \item The pregenerated fonts were removed from the distribution. \item This document was written. \end{itemize} \subsection*{Changes in Version 1.1} \begin{itemize} \item The license section was added. \end{itemize} \subsection*{Changes in Version 1.11} \begin{itemize} \item Documentation bugs were corrected \end{itemize} \subsection*{Changes in Version 1.111} \begin{itemize} \item PostScript versions of the fonts were added. These were generated from the \MF\ sources using the \texttt{mftrace} program by Han-Wen Nienhuys. \end{itemize} \section{Thanks} Thanks go to D.~E.~Knuth who gave \TeX, \MF, and Computer Modern to the world. Marco Kuhlmann added the PostScript version of the fonts and commented on the installation process. J\"urgen Vollmer provided some ideas that were used in this documentation file. Han-Wen Nienhuys created \texttt{mftrace}, which was required for creating PostScript versions of this font. Reinhard Zierke did not only provide the most complete \TeX{} installation I can imagine, but also motivated this improved version of the font. \end{document}