答案1
我建议你加载马塔尔法包,其中包含选项cal=mt
和scr=kp
。前者将 Math Time Pro 书法字体分配给\mathcal
—— 但请注意,mtpro2 包不是免费的 —— 并将 KP 字体脚本字体分配给\mathscr
。
请查看该mathalfa
包的用户指南的第 8 页和第 9 页以了解其他可能的选择\mathscr
。
楼主截图中第一个字母和的匹配\mathcal{B}
看起来是完美的。楼主截图中的第二个字母似乎位于和\mathscr{B}
的中间\bm{\mathscr{B}
。
\documentclass{article}
\usepackage[cal=mt,scr=kp]{mathalpha}
\usepackage{bm}
\begin{document}
$\mathcal{B} \quad \mathscr{B} \quad \bm{\mathscr{B}}$
\end{document}
答案2
举个例子回答@Philippe Goutet,我做了一些小改动,同时考虑到@Mico 的回答,你可以定义你的乙书法字母:
\documentclass[a4paper,12pt]{article}
\usepackage{mathtools}
\usepackage[cal=mt]{mathalfa}
\DeclareSymbolFont{mathscrUC}{U}{rsfs}{m}{n}
%%%% from the answer and http://ctan.epst-tlemcen.dz/tex-archive/fonts/txfonts/input/txfonts.sty
\makeatletter
\DeclareRobustCommand*{\mathscr}[1]{\gdef\F@ntPrefix{mathscr@char@}%
\@EachCharacter #1\@EndEachCharacter}
\long\def\DoLongFutureLet #1#2#3#4{%
\def\@FutureLetDecide{#1#2\@FutureLetToken
\def\@FutureLetNext{#3}\else
\def\@FutureLetNext{#4}\fi\@FutureLetNext}
\futurelet\@FutureLetToken\@FutureLetDecide}
\def\DoFutureLet #1#2#3#4{\DoLongFutureLet{#1}{#2}{#3}{#4}}
\def\@EachCharacter{\DoFutureLet{\ifx}{\@EndEachCharacter}%
{\@EachCharacterDone}{\@PickUpTheCharacter}}
\def\m@keCharacter#1{\csname\F@ntPrefix#1\endcsname}
\def\@PickUpTheCharacter#1{\m@keCharacter{#1}\@EachCharacter}
\def\@EachCharacterDone \@EndEachCharacter{}
% It has been declared only the letter B.
\DeclareMathSymbol{\mathscr@char@B}{\mathord}{mathscrUC}{`B}
\makeatother
\begin{document}
$\mathcal{B}, \mathscr{B}$
\end{document}