Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

What I have always been looking for in LaTeX were traditional German sans-serif blackboard-bold letters, mainly for: N (natural numbers), Z (integers), Q (rational numbers), R (reals), C (complex numbers).

These five symbols are used widely in German secondary-school math textbooks and in a type of book called "Formelsammlung" (a book that functions as a collection of formulas; usually secondary school students will use one for math and physics each). The most widely used Formelsammlung was (for a long time at least) "Mathematische Formeln / Erweiterte Ausgabe E" by Sieber/Klett.

The standard array of German textbook publishers (such as Cornelsen and Klett; I'm afraid I don't remember which math textbook my school used) always styled the blackboard-bold letters in a particular, uniform way: for sans-serif letters this was with the doublestroke having equal strength as the one that it is doubling, and also without a connection to the original stroke (for vertical-ish doubled strokes). The symbols look very similar (and are I think homotopy-equivalent (a notion from topology)) to the ones of dsfont's sans option (\(\mathds{N},\mathds{Z},\mathds{Q},\mathds{R},\mathds{C}\)), except I see that the vertical stroke for "Q" is rendered imperfectly in my viewer (the vertical stroke is not perfectly connected at the bottom) but not all viewers it seems; also for "A" we'd expect the doubled stroke to be on the left (though technically German secondary school math has no precedent here, since "A" is not commonly used to denote a specific set).

Important: After initially posting my question, I do believe to remember that there are both sans-serif and serif styles in standard German schoolbooks and (at least lower-division) math textbooks. As for serif letters, the \varmathbb symbols of the txfonts package look very close to what I remember. (I initially thought that the doubled stroke for at least Z was too thin there, but now I don't remember whether this perhaps applied only to the German sans-serif style.)

Is anyone aware of a DIN standard defining the proper symbols? I suspect there might be one.

Much more importantly, is anyone aware of a font for (La)TeX that provides the type of blackboard bold symbols that are commonly used in German school literature for both (a) sans-serif and (b) serif styles?

(I can not find online scans of this literature and do not have easy access to it right now. If someone else can help out here that would be much appreciated.)

share|improve this question

3 Answers 3

I suggest you take a look at Michael Sharpe's mathalfa package. In the package's user guide, the author lists five "hollowed-out" and fourteen [!] "geometric" variants of blackboard-bold fonts. (Note that not all of the underlying fonts are free.) I trust that one or more of the math blackboard board fonts listed and/or made available through the mathalfa package will meet your needs. (I'm afraid I don't have access to German-language math textbooks.)

A big plus of using the mathalfa package is that you can "mix and match" various math alphabets (blackboard bold, caligraphic, curly, script, fraktur, etc) with ease. Excerpting from the README file that comes with the mathalfa package:

This package provides a standard means of setting math alphabets associated with the macros \mathcal, \mathbb, \mathfrak and \mathscr and, where available, their bold counterparts \mathbcal, \mathbbb, \mathbfrak and \mathbscr.

It mostly bypasses the usual fd and sty files used to load these alphabets in order to allow each to be scaled independently and without silently quantizing the sizes.

share|improve this answer
Thank you for the pointer! As far as serif styles are concerned, I'd say the following choices would "pass" to an eye used to German-style blackboard bold: pazo (Mathpazo bb), tx (tx bb), px (px bb). Note that one decisive criterion here is the doubling of N with the vertical stroke on the left (and not the diagonal middle stroke). "tx bb" looks closest to my memories, though I like the "S" of Mathpazo bb as being more consistent with the implicit design. –  Lover of Structure Jun 15 '12 at 21:29
For sans-serif: The font mt (Mathtime Pro 2 bb) seems like a candidate, but it violates the fact that the German textbook style I'm looking for has unconnected (not hollowed-out) doubled strokes on the left for "N" and "R" (for the sans-serif style only), and it looks too modern-fancy in glyph design. –  Lover of Structure Jun 15 '12 at 21:29
up vote 4 down vote accepted

The definitive answer turns out to be quite distributed (found through collaborative discussion). Credit goes to multiple people (see the entire discussion). Awarding bounties would have been infeasible in this case as they would have to be distributed over a few people.

Sans-serif: Package mathds with option sans (\usepackage[sans]{dsfont}), except for doublestroke-"A" one needs to use \mathds{a} instead of \mathds{A} to get the doubled stroke on the "correct" (as per expectation) side (i.e., on the left).

Serif: The following fonts mentioned in mathalfa's documentation would "pass" to the eye of a German user used to the traditional lettershapes of German blackboard bold: pazo (Mathpazo bb), tx (tx bb), px (px bb). "tx bb" looks closest to my memories, though I like the "S" of Mathpazo bb as being more consistent with the implicit design. The mathds package also yields letters whose shapes "pass" for "traditional German" appearance, except for the doublestroke-"A", one needs to remember to use the lowercase option (\mathds{aBCDEFGHIJKLMNOPQRSTUVWXYZ}), just like I mentioned above in the sans-serif paragraph.

share|improve this answer

(Note: I overlooked, that the OP already wrote about this package. But according to the comments my answer seems still to be useful.)

There is also the package doublestroke (Texlive)/dstroke (MiKTeX), which provides a serif font (and a sans-serif version), that

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.

To use it, one has despite the package name to add first \usepackage{dsfont} and later a \mathds{<symbol>}. There are glyphs for all capital letters A…Z, for 1, h, k and for the letter a (i.e. the small letter!). The latter gives a different A with the doubled line in the upstroke.

(The source for the following example is the manual.)


To get the sans-serif version, one has to set the package option ‘sans’:


BTW: Found by searching with Detexify LaTeX handwritten symbol recognition and then looking for dsfont on my computer.

share|improve this answer
I did mention the package dsfont in my question already, but your reply is reminding me of the fact that both its serif and its sans-serif fonts are almost there. So far I'd say this: Serif: The best candidates so far are pazo (Mathpazo bb) and tx (tx bb) [tie], with px (px bb) being a close second; I'd normally count mathds, but the doubling of "A" is on the wrong side from "our" expectations. Sans-serif: The closest candidate so far is mathds (with option sans), except the design of "Q" has a minor bug (mentioned above). –  Lover of Structure Jun 16 '12 at 2:29
Oops, I overlooked that. –  Speravir Jun 16 '12 at 3:05
No problem! Btw, I've checked mathds's sans-"Q" in another viewer, and there it looks fine. Hmm, it might be my version of Adobe Reader that doesn't quite render it correctly. Thus, mathds's sans font would be an answer if the "A" has the doubled stroke on the other side. –  Lover of Structure Jun 16 '12 at 5:19
@user14996: You could put the A into a \scalebox{1}[-1] (from graphicx) to get the stroke on the right side. –  Caramdir Jun 16 '12 at 6:09
@user14996: I didn’t check it for the sans-serif version, but according to the manual you could try out \mathds{a} (the small a!). Otherwise Caramdir’s approach. –  Speravir Jun 17 '12 at 0:25

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.