2

Is there any method to compose \mathbb and \mathcal, that is, to obtain a blackboard version of the caligraphic style?

Something like:

enter image description here

but maybe not so ugly!

1
  • 1
    mathxxx commands do not combine by design, and in this case I don't know of know font that has such characters (but if you have such a font you could define a \mathzzz command to access it. Commented Feb 16, 2018 at 15:15

1 Answer 1

8

Two methods, both involving shifted superposition:

PDF SPECIALS TO ACHIEVE THIN OUTLINE EFFECT + SUPERPOSITION

\documentclass[10pt]{article}
\usepackage{stackengine,xcolor}
\input pdf-trans
\newbox\qbox
\def\usecolor#1{\csname\string\color@#1\endcsname\space}
\newcommand\bordercolor[1]{\colsplit{1}{#1}}
\newcommand\fillcolor[1]{\colsplit{0}{#1}}
\newcommand\colsplit[2]{\colorlet{tmpcolor}{#2}\edef\tmp{\usecolor{tmpcolor}}%
  \def\tmpB{}\expandafter\colsplithelp\tmp\relax%
  \ifnum0=#1\relax\edef\fillcol{\tmpB}\else\edef\bordercol{\tmpC}\fi}
\def\colsplithelp#1#2 #3\relax{%
  \edef\tmpB{\tmpB#1#2 }%
  \ifnum `#1>`9\relax\def\tmpC{#3}\else\colsplithelp#3\relax\fi
}
\newcommand\outline[1]{\leavevmode%
  \def\maltext{#1}%
  \setbox\qbox=\hbox{\maltext}%
  \boxgs{Q q 2 Tr \thickness\space w \fillcol\space \bordercol\space}{}%
  \copy\qbox%
}
\newcommand\mathcalbb[2][1]{%
  \stackengine{0pt}{\outline{$\mathcal{#2}$}}{$\mkern#1mu\mathcal{#2}$}{O}{l}{F}{F}{L}}
\bordercolor{black}
\fillcolor{white}
\def\thickness{.3}% TO CHANGE THICKNESS OF SHADOW
\begin{document}
$\mathcalbb{A}\mathcalbb{B}\mathcalbb{C}\mathcalbb{D}\mathcalbb{E}\mathcalbb{F}
\mathcalbb{G}\mathcalbb{H}\mathcalbb{I}\mathcalbb{J}\mathcalbb{K}\mathcalbb{L}
\mathcalbb{M}$

$\mathcalbb{N}\mathcalbb{O}\mathcalbb{P}\mathcalbb{Q}\mathcalbb{R}
\mathcalbb{S}\mathcalbb{T}\mathcalbb{U}\mathcalbb{V}\mathcalbb{W}\mathcalbb{X}
\mathcalbb{Y}\mathcalbb{Z}
$

$\mathcalbb[.8]{A}\mathcalbb{A}\mathcalbb[1.2]{A}$
\end{document}

enter image description here

SIMPLE SUPERPOSITION (WITHOUT PDF SPECIALS)

With shifted superposition, plus an optional argument for fine tuning.

\documentclass[10pt]{article}
\usepackage{stackengine}
\newcommand\mathcalbb[2][2]{%
  \stackengine{0pt}{$\mathcal{#2}$}{$\mkern#1mu\mathcal{#2}$}{O}{l}{F}{F}{L}}
\begin{document}
$\mathcalbb{A}\mathcalbb{B}\mathcalbb{C}\mathcalbb{D}\mathcalbb{E}\mathcalbb{F}
\mathcalbb{G}\mathcalbb{H}\mathcalbb{I}\mathcalbb{J}\mathcalbb{K}\mathcalbb{L}
\mathcalbb{M}$

$\mathcalbb{N}\mathcalbb{O}\mathcalbb{P}\mathcalbb{Q}\mathcalbb{R}
\mathcalbb{S}\mathcalbb{T}\mathcalbb{U}\mathcalbb{V}\mathcalbb{W}\mathcalbb{X}
\mathcalbb{Y}\mathcalbb{Z}
$

$\mathcalbb[1.5]{A}\mathcalbb{A}\mathcalbb[2.2]{A}$
\end{document}

enter image description here

If the effect is too disorienting, one could always fade one of the glyph-strikes:

\documentclass[10pt]{article}
\usepackage{stackengine,xcolor}
\newcommand\mathcalbb[2][2]{%
  \stackengine{0pt}{$\color{black!30}\mathcal{#2}$}{$\mkern#1mu\mathcal{#2}$}{O}{l}{F}{F}{L}}
\begin{document}
$\mathcalbb{A}\mathcalbb{B}\mathcalbb{C}\mathcalbb{D}\mathcalbb{E}\mathcalbb{F}
\mathcalbb{G}\mathcalbb{H}\mathcalbb{I}\mathcalbb{J}\mathcalbb{K}\mathcalbb{L}
\mathcalbb{M}$

$\mathcalbb{N}\mathcalbb{O}\mathcalbb{P}\mathcalbb{Q}\mathcalbb{R}
\mathcalbb{S}\mathcalbb{T}\mathcalbb{U}\mathcalbb{V}\mathcalbb{W}\mathcalbb{X}
\mathcalbb{Y}\mathcalbb{Z}
$

$\mathcalbb[1.5]{A}\mathcalbb{A}\mathcalbb[2.2]{A}$
\end{document}

enter image description here

7
  • 4
    My first reaction to seeing this screenshot was, "Boy, do I ever need to update my reading glasses!"
    – Mico
    Commented Feb 16, 2018 at 16:17
  • 1
    @Mico, merely set the optional argument to [0] and it should all come into focus for you! ;^b Commented Feb 16, 2018 at 16:18
  • For you, @Mico, I develop an improved approach. Commented Feb 16, 2018 at 16:38
  • almost as lovely as tex.stackexchange.com/questions/344214/… Commented Feb 16, 2018 at 16:51
  • 1
    @DavidCarlisle, only 4 upvotes/137 upvotes = 2.92% as lovely Commented Feb 16, 2018 at 17:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .