3

I am using in my document the concmath package, but there is no blackboard bold font linked to the command \mathbb{} with this font package. I already asked this question elsewhere and I got this solution :

\makeatletter \def\afterfi#1#2\fi{\fi#1} \def\map#1#2{\mapA{}#1#2\@nnil} \def\mapA#1#2#3{\ifx\@nnil#3\empty \afterfi{#1}\else \afterfi {\mapA{#1#2{#3}}#2}\fi} \protected\def\mathbb#1{\leavevmode\textup{\map\mathbbA{#1}}} \def\mathbbA#1{\setbox\z@\hbox{#1}\copy\z@\kern-\wd\z@ \kern.13em\box\z@} \makeatother $u=\{u(t)\}_{t\in\mathbb R^2} \quad \mathbb{NZQIRCOSABC}$ 

which slightly shifts the letter to produce the blackboard font, but this looks horrible for some letters.

Is there a way to generate a decent looking blackboard bold font for concrete ?

Thank you in advance for any advice.

4
  • 1
    Are you asking about a blackboard-bold font, \mathbb, or a heavier math font, such as \mathbf or \boldmath? Commented Nov 17, 2021 at 17:38
  • I note that, when DEK commissioned the Concrete font for his book Concrete Mathematics: A Foundation for Computer Science, he also commissioned Hermann Zapf to create AMS Euler as its companion math font. Commented Nov 17, 2021 at 17:41
  • @Davislor I was asking for a font linked with \mathbb as I said at the beginning of my post. I don't want to use Euler, I really like the style of concrete math font. Commented Nov 17, 2021 at 19:57
  • Thanks for clarifying! And that’s a perfectly reasonable preference. Commented Nov 17, 2021 at 20:17

3 Answers 3

3

An alternative is to use the ccfonts package, which is still being updated. The concmath package is from last century.

\usepackage[T1]{fontenc} \usepackage{amssymb} \usepackage{ccfonts} 

loads either the AMS or Concrete version of all the standard math alphabets.

Otherwise, you can pick a blackboard font you like from mathalpha and load that after ccfonts or concmath.

Be aware, either of these will give you pixelated METAFONT math fonts, unless you pay money for the Micropress Concrete Math font in Type 1 format. You don’t need to do that, though: either you’re publishing in a journal that licenses the font, or you’re free to use a modern TeX engine that supports OpenType.

In LuaLaTeX or XeLaTeX, you might try pairing Concrete with the math symbols from the slab serif font GFS Neohellenic:

\documentclass{article} \usepackage[math-style=upright]{unicode-math} \usepackage[paperwidth=10cm]{geometry} % Format a MWE for TeX.SX \setmainfont{CMU Concrete}[ Ligatures=Common, UprightFont=cmunorm.otf, BoldFont=cmunobx.otf, ItalicFont=cmunoti.otf, BoldItalicFont=cmunobi.otf ] \setmathfont{GFS Neohellenic Math}[Scale=MatchLowercase] \setmathfont{cmunoti.otf}[range=it] \setmathfont{cmunorm.otf}[range=up] \begin{document} \noindent% Let \( (x,y) \in \mathbb{R} \times \mathbb{R} \) such that \( \sqrt{x^2 + y^2} \leq \varepsilon \). \end{document} 

CMU Concrete + GFS Neohellenic Math sample

Or load unicode-math without math-style=upright to get italic math symbols more like the legacy packages. Changing the option to math-style=ISO will slant your upright Greek letters, too.

\documentclass{article} \usepackage[math-style=ISO]{unicode-math} \usepackage[paperwidth=10cm]{geometry} % Format a MWE for TeX.SX \setmainfont{CMU Concrete}[ Ligatures=Common, UprightFont=cmunorm.otf, BoldFont=cmunobx.otf, ItalicFont=cmunoti.otf, BoldItalicFont=cmunobi.otf ] \setmathfont{GFS Neohellenic Math}[Scale=MatchLowercase] \setmathfont{cmunoti.otf}[range=it] \setmathfont{cmunorm.otf}[range=up] \begin{document} \noindent% Let \( (x,y) \in \mathbb{R} \times \mathbb{R} \) such that \( \sqrt{x^2 + y^2} \leq \varepsilon \). \end{document} 

CMU Concrete + GFS Neohellenic Math sample

In either case, you can swap in a different blackboard bold alphabet with a command like

\setmathfont{STIX Two Math}[range=bb, Scale=MatchUppercase] 
1
  • 1
    Makes sense. I first discovered this font package in the LaTeX Companion from 2004 ! Thank you for your answer. Commented Nov 17, 2021 at 21:00
2

The concmath-otf package has recently been upgraded to include upright blackboard capital letters, in normal and bold weights. Concrete Math OTF blackboard doublestruck capital letters, normal weight and bold weight

\documentclass{article} \usepackage{concmath-otf} \begin{document} \[\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\] \mathversion{bold}\[\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]\mathversion{normal} \end{document} 

But since Concrete-Math.otf and Concrete-Math-Bold.otf are OTF fonts, one needs to use XeLaTeX or LuaLaTeX.

2
  • Thank you for this recommendation ! This is exactly what I was looking for Commented Dec 14, 2023 at 14:02
  • @Elyo I have added bold letters to the answer as well. Commented Dec 14, 2023 at 14:54
1

From the documentation:

The ‘amsfonts’ and ‘amssymb’ options: These options provide the functionality of the standard ‘amsfonts’ and ‘amssymb’ packages, but using the Concrete versions of the AMS symbol fonts and math alphabets.

\documentclass{article} \usepackage[amssymb]{concmath} \begin{document} $\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ \end{document} 

enter image description here

5
  • but it doesn't change anything at all, I added the option amssymb and the bold font looks exactly the same as before. My question was in this post, if there was an other bold font that matches the concrete font style. Commented Nov 17, 2021 at 19:56
  • @Elyo There is a slight difference. Try removing the amssymb option and loading it as a separate package to see it. That being said, these are the blackboard-bold of the concrete font. If you don't like the font, you could use a different one (or are you trying to mix and match fonts within the mathmode?). Commented Nov 17, 2021 at 20:00
  • @Elyo If you do want to mix and match you'll need to find a different font you like and do something like tex.stackexchange.com/questions/14386/…. Commented Nov 17, 2021 at 20:05
  • \documentclass{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[french]{babel} \usepackage{amsmath} \usepackage{amssymb} \usepackage{lmodern} %\usepackage[amssymb]{concmath} \begin{document} $\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ $x\in\mathbb{R}$ \end{document} Thank you for taking time to help me. I tried to compare the output between standard lmodern and concrete, and I can confirm that the output is exactly the same. Commented Nov 17, 2021 at 20:49
  • @Elyo Zoom in closely when you compare. The amssymb option makes the blackboard letters less smooth (I confirmed with your above comments code). Commented Nov 17, 2021 at 20:56

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.