答案1
OP 引用了这个问题,谁可以为如图所示的、与 Computer Modern 字体兼容的新 mathbb 字体编写一个包?,作为期望的端点,其中似乎提供了轮廓字体。
对于 pdflatex 中的工作,并在这里调整我的答案:使用 TrueType 字体勾勒文本轮廓,可以设置边框颜色,填充和线条粗细度量,并使用pdf特效完成轮廓。
\documentclass{article}
\usepackage{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\outline[1]{\leavevmode%
\def\maltext{\mydelim #1\mydelim}%
\setbox\qbox=\hbox{\maltext}%
\boxgs{Q q 2 Tr \bbthickness\space w \fillcol\space \bordercol\space}{}%
\copy\qbox%
}
\newcommand\mathbb[1]{\def\mydelim{$}\outline{#1}}
\newcommand\textbb[1]{\def\mydelim{}\outline{#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
}
\bordercolor{black}
\fillcolor{white}
\newcommand\bbthickness{.15}
\begin{document}
$y=\mathbb{\beta}+\textbb{R}$
\end{document}
答案2
答案3
黑板上的粗体字母过去是通过在基本字母上稍微移动一点来伪造的,比如这有关 (La)TeX 的旧常见问题解答:
A set of LaTeX macros for a ``lazy person's'' blackboard bold are:
\newcommand{\R}{{\sf R\hspace*{-0.9ex}\rule{0.15ex}%
{1.5ex}\hspace*{0.9ex}}}
\newcommand{\N}{{\sf N\hspace*{-1.0ex}\rule{0.15ex}%
{1.3ex}\hspace*{1.0ex}}}
\newcommand{\Q}{{\sf Q\hspace*{-1.1ex}\rule{0.15ex}%
{1.5ex}\hspace*{1.1ex}}}
\newcommand{\C}{{\sf C\hspace*{-0.9ex}\rule{0.15ex}%
{1.3ex}\hspace*{0.9ex}}}
你必须对你自己制造的假货进行修改。
答案4
如果您有支持希腊字母的 TrueType 或 OpenType 轮廓字体,您可以使用它来unicode-math
加载
\setmathfontface\varbb{SomeFont-Outline.otf}[
Scale=MatchUppercase]
不幸的是,我手头没有带有希腊字母的免费轮廓字体的良好示例。
这样做的一个缺点是,unicode-math
可能会尝试查找 Unicode 数学字母数字符号(例如 U+1D8FC,