I am actually looking for tweak to this post Composition of \mathbb and \mathcal
In particular would it be possible to get the same letters but with thin lines instead of think lines featured in the nice answer of this post?
I am actually looking for tweak to this post Composition of \mathbb and \mathcal
In particular would it be possible to get the same letters but with thin lines instead of think lines featured in the nice answer of this post?
Like this? (pdflatex only)
To summarize what is being done, I am using pdf specials (pdflatex only) to print the glyph core and outline as two separate colors \fillcolor defining the core color and \bordercolor defining the outline color. The "thickness" (a scalar value) of the outline is defined by \thickness and, in several of the cases, I overlay two glyphs atop each other with a slight kerning offset, where the \kern is specified in the stack.
This first example is not overlaid with two glyphs, but merely a simple pdf special setting the letter core white and the outline black, with a chosen \thickness of .1.
\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]{\outline{$\mathcal{#2}$}}
\bordercolor{black}
\fillcolor{white}
\def\thickness{.1}% 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}
...or maybe like this, which includes a kerned offset overlay:
\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}$}}{\kern.3pt\outline{$\mathcal{#2}$}}{O}{l}{F}{F}{L}}
\bordercolor{black}
\fillcolor{white}
\def\thickness{.1}% 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}
...or, lastly,
\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}{\def\thickness{.15}\outline{$\mathcal{#2}$}}{\kern.1pt\outline{$\mathcal{#2}$}}{O}{l}{F}{F}{L}}
\bordercolor{black}
\fillcolor{white}
\def\thickness{.1}% 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}
SUPPLEMENT
In this gratuitous example, I reverse the colors (border white, fill black) for the thicker of the two stacked glyphs. By increasing the thickness of the white border, I reduce the apparent thickness of the black core. However, the offset overlay is done in the other fashion, with a thin black border.
\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}{\bordercolor{black}%
\fillcolor{white}%
\def\thickness{.2}\outline{$\mathcal{#2}$}}{\kern.15pt\outline{$\mathcal{#2}$}}{O}{l}{F}{F}{L}}
\bordercolor{white}
\fillcolor{black}
\def\thickness{.25}% 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}
\def\thickness{.1}defines the line thickness. In the two latter examples, two offset copies are overlaid. the horizontal offset is defined by the\kern.15ptinside the stack. – Steven B. Segletes May 31 '19 at 12:21