The Doublestroke Font V1.11

Olaf Kummer

March 31, 2002

1 Introduction

This font is useful for typesetting the mathematical symbols for the natural numbers (ℕ), whole numbers (ℤ), rational numbers (ℚ), real numbers (ℝ), complex numbers (ℂ), 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 N after entering $\mathbf{N}$.

Then one can assemble the glyphs from other ones. For example the expres-

sion $\mathrm{I\!N}$ yields IN.

The calligraphic symbol N generated by $\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 amsyb, but the fonts bbold by Alain Jeffery and 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.

2 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?)

3 Installation

Here are the instructions to install the doublestroke package.

1. If a previous version of this font is installed, remove all the files, especially the font files that were generated by Metafont after the first installation.

2. Depending on how you obtained this package it might be necessary to unpack/uncompress an archive. Now the files

     Udsrom.fd  dsfont.sty   dsrom12.tfm  dsss10.mf   dsss8.tfm
     Udsss.fd   dsrom.mf     dsrom8.mf    dsss10.tfm  readme

dsdoc.dvi  dsrom10.mf   dsrom8.tfm   dsss12.mf
dsdoc.ps   dsrom10.tfm  dsromo.mf    dsss12.tfm
dsdoc.tex  dsrom12.mf   dsromu.mf    dsss8.mf

should be present.

3. Make sure that you have TEX, L^{A}TEX (with NFSS), and Metafont installed. Make sure that cmbase.mf is accessible by Metafont.

4. Move the files to their destination.

The files are  and are needed by
*.tfm  font metric files TEX
*.fd  font defintions TEX
*.sty style files TEX
*.mf  Metafontsources Metafont

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 Metafont mode. The metric files are included, however, because they do not depend on the printer.

5. Verify the installation by generating this documentation file from its source dsdoc.tex. The resulting file dsdoc.dvi should be identical to this text.

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:

• If L^{A}TEX complains about a missing input file, check whether the files *.fd and *.sty are accessible and readable.

• If L^{A}TEX complains about a missing font, check the placement of the files

*.tfm.

• If L^{A}TEX issues strange errors, you might have an old version of L^{A}TEX or NFSS. Try using the fonts with low-level font commands instead of dsfont.sty and check the next item, too.

• If L^{A}TEX issues strange errors, the files might have been corrupted during transmission. Conversions of CR, LF, and so on might cause this problem.

• If the previewer or the printer driver complains about missing fonts and does not automatically call Metafont to generate these font, either adapt your installation or generate the fonts by hand. Depending on your installation you must run something like

mf '\mode=localfont; input dsrom10'

for each of the fonts.

• If Metafont is called and complains about missing source files, check whether these (*.mf) are placed correctly.

• If Metafont 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 Metafont to do so. Please report such errors only if they occur at resolutions above 100 dpi.

• If the previewer or the printer driver complains about missing characters, check whether you have deleted all files from previous versions of this font.

• 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.

If that does not help and your friendly TEXnician is unavailable, drop me a mail. I will try to help you, if time permits.

4 Usage

You can use the fonts with all versions of TEX and L^{A}TEX, if you apply the low-level command \font. For example we can write

\font\dsrom=dsrom10
$$\hbox{\dsrom N}=\{0,1,2,\ldots\}$$
$$\hbox{\dsrom ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$
\bye

to obtain

ℕ = {0, 1, 2, …}
𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ

using TEX alone. If L^{A}TEX and NFSS are available as suggested in the installation section, you can use the style dsfont for an easier and more flexible approach. The style provides a single command \mathds which can be used in math mode to typeset a doublestroke symbol. It use is similar to that of \mathbb from the AMS package. For example

\documentclass{article}
\usepackage{dsfont}
\begin{document}
\[\mathds{N}=\{0,1,2,\ldots\}\]
\[\mathds{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]
\end{document}

will again result in

ℕ = {0, 1, 2, …}
𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ

as we have already done in TEX. The uppercase letters shown here are the most common, but there are a few others in use.

\[\mathds{1}\;\mathds{h}\;\mathds{k}\]

results in

𝟙 𝕙 𝕜

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 \mathds{a} we can get the letter 𝕒. This is the way the letter 𝔸 looked in previous versions of this font. It is provided in case somebody likes the old version better. The two other letters 𝕍 and 𝕎 have changed significantly, too, but there will be nobody who prefers the old glyphs, I think.

Let us look at some examples.

\[\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}\]

After running L^{A}TEX we get

ℕ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ
(a_{i})_{i∈ℕ} where a_{i} ∈ ℝ
∀x ∈ 𝕏 : ∃s ∈ 𝕊 : x ∘ s ∈ 𝕋^{𝟙}

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 ℕ 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.

\documentclass{article}
\usepackage[sans]{dsfont}
\begin{document}
\[\mathds{N}=\{0,1,2,\ldots\}\]
\[\mathds{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]
\end{document}

Did you spot the change? The result is

ℕ = {0, 1, 2, …}
𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ

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.

5 Changes

Changes in Version 1.0

• The characters 𝟙, 𝕙, and 𝕜 were added.

• The characters 𝔸, 𝕍, and 𝕎 were completely redone.

• For several characters the size of the serifs was adjusted.

• Several characters were made more robust at low resolutions. In order to achieve this goal, the appearance of the letter 𝕊 had to be changed for some extreme parameter settings.

• 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.

• 8-point fonts for subscripts were added.

• The pregenerated fonts were removed from the distribution.

• This document was written.

Changes in Version 1.1

• The license section was added.

Changes in Version 1.11

• Documentation bugs were corrected

6 Thanks

Thanks go to D. E. Knuth who gave TEX, Metafont, and Computer Modern to the world. Jürgen Vollmer provided some ideas that were used in this documentation file. Reinhard Zierke did not only provide the most complete TEX installation I can imagine, but also motivated this improved version of the font.