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
    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. – David Carlisle Feb 16 '18 at 15:15
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

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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