summaryrefslogtreecommitdiff
path: root/fonts/doublestroke/dsdoc.tex
blob: 9c6b3b4e9bd0df44cc44381e2d2ef734f4dbf813 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
\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}