我想买一个大胆的双击,我试着用
\symbf{\symbb{1}}
但遗憾的是,这不起作用。 有什么方法可以仍然获得所需的结果吗?
感谢您的帮助 :-)
更新:这是我最终使用的代码,与接受的答案中提出的类似。
\makeatletter
\DeclareRobustCommand{\pmbv}{\mathpalette\pmbv@}
\def\pmbv@#1#2{\setbox8\hbox{$\m@th#1{#2}$}%
\setboxz@h{$\m@th#1\mkern.13mu$}\pmbraise@\wdz@
\binrel@{#2}%
\dimen@-\wd8 %
\binrel@@{%
\mkern-.4mu\copy8 %
\kern\dimen@\mkern.25mu\raise\pmbraise@\copy8 %
\kern\dimen@\mkern.25mu\raise2\pmbraise@\box8 %
}
}
\makeatother
生成如下结果:
答案1
您可以使用穷人的大胆从amsbsy
包装上看,该包装上打印的符号三次略有偏移(例如,LaTeX 书法字体粗体)。
对于下面示例中的双击伽玛等符号,这看起来或多或少还不错,但在许多其他情况下,您可以清楚地看到看起来不太好看的套印(这就是为什么它被称为穷人的大胆……)。在下面的 MWE 中,我复制了\pmb
三个副本中的其中一个的定义并删除了它,以稍微改善结果。
代码:
\documentclass{memoir}
\usepackage{amsmath}
\usepackage{unicode-math}
\usepackage{amsbsy}
\setmathfont{Asana Math}
\makeatletter
\DeclareRobustCommand{\pmbd}{\mathpalette\pmbd@}
\def\pmbd@#1#2{\setbox8\hbox{$\m@th#1{#2}$}%
\setboxz@h{$\m@th#1\mkern.5mu$}\pmbraise@\wdz@
\binrel@{#2}%
\dimen@-\wd8 %
\binrel@@{%
\mkern-.4mu\copy8 %
%\kern\dimen@\mkern.4mu\raise\pmbraise@\copy8 %
\kern\dimen@\mkern.4mu\box8 }%
}
\makeatother
\begin{document}
% regular
$1 2 \symbf{1} \symbf{2} \symbb{1} \symbb{2} \Gamma \symbf{\Gamma} \symbb{\Gamma}$
% poor man's bold double (from redefinition)
$\pmbd{1 2 \symbf{1} \symbf{2} \symbb{1} \symbb{2} \Gamma \symbf{\Gamma} \symbb{\Gamma}}$
% poor man's bold triple (from package)
$\pmb{1 2 \symbf{1} \symbf{2} \symbb{1} \symbb{2} \Gamma \symbf{\Gamma} \symbb{\Gamma}}$
\end{document}
结果:
答案2
不知道这种方法是否有吸引力。适用于 pdf specials (pdflatex)。第一列是\mathbb{R}
。其他列是描边粗细的变化。顶行用黑色填充,第二行用白色填充。
\documentclass[10pt]{article}
\usepackage{xcolor,amssymb}
\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%
}
\bordercolor{black}
\def\thickness{.3}% TO CHANGE THICKNESS OF SHADOW
\fillcolor{black}
\begin{document}
\fillcolor{black}
$\mathbb{R}$
\def\thickness{.1}% TO CHANGE THICKNESS OF SHADOW
\outline{$\mathbb{R}$}
\def\thickness{.2}% TO CHANGE THICKNESS OF SHADOW
\outline{$\mathbb{R}$}
\def\thickness{.3}% TO CHANGE THICKNESS OF SHADOW
\outline{$\mathbb{R}$}
\fillcolor{white}
$\mathbb{R}$
\def\thickness{.1}% TO CHANGE THICKNESS OF SHADOW
\outline{$\mathbb{R}$}
\def\thickness{.2}% TO CHANGE THICKNESS OF SHADOW
\outline{$\mathbb{R}$}
\def\thickness{.3}% TO CHANGE THICKNESS OF SHADOW
\outline{$\mathbb{R}$}
\end{document}
答案3
您可以使用粗体数学样式来获得粗体数学符号。unicode-math
例如,在 中,您可以使用 XITS Math Bold:
\documentclass[varwidth, preview]{standalone}
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchUppercase}
\setmainfont{xits}[
Scale = 1.0 ,
Ligatures = {Common, TeX} ,
UprightFont = *-regular ,
BoldFont = *-bold ,
ItalicFont = *-italic ,
BoldItalicFont = *-bolditalic ,
Extension = .otf
]
\setmathfont{xits-math.otf}
\setmathfont[version=bold]{xits-mathbold.otf}
\newcommand\mathbbbf[1]{\mbox{\boldmath\(\symbb{#1}\)}}
\newcommand\mathbbbfit[1]{\mbox{\boldmath\(\symbbit{#1}\)}}
\begin{document}
\( \mathbb{D} \mathbbbf{D} \mathbbit{D} \mathbbbfit{D} \)
\end{document}
更简单,更方便:\boldmath\mathbb
来自amsmath
。
您还可以使用 声明这些新的数学字母\setmathfontface
。
在旧版 NFSS 中,有几个包提供粗体双击字母表。我推荐mathalpha
包(以前mathalfa
),它会自动加载粗体双击字母表,就像\mathbbb
您选择具有相应粗体版本的黑板字母表一样:
\documentclass[varwidth, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % The default since 2018
\usepackage{textcomp} % Not used here.
\usepackage[bb = boondox]{mathalpha}
\begin{document}
\( \mathbb{D} \mathbbb{D} \)
\end{document}