如何从不同的预定义集合中构建包含小写和大写的数学字母表?

如何从不同的预定义集合中构建包含小写和大写的数学字母表?

我目前使用 rsfs 字母作为书法符号。但是,没有对应的小写字母,所以我开始尝试使用其他字母。有没有办法让我可以像以前一样写成 ,而不是$\mathscr{Ker}$$\mathscr{K}\mathcal{er}$

答案1

txfonts.sty以下是根据字母表执行此操作的方法\varmathbb。由于您没有提供任何详细信息,我假设小写字母来自 Chancery 字体(代号pzc)。当然,正如 Ker 中糟糕的间距所示,这两者根本不能很好地结合在一起,因此您必须根据需要调整代码:

代码结果

\documentclass{article}

\DeclareSymbolFont{mathscrUC}{U}{rsfs}{m}{n}  % Formal Script for uppercase
\DeclareSymbolFont{mathscrLC}{OT1}{pzc}{m}{n} % Chancery for lowercase

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
%%%%%%%%%%%%%%%%%% code from txfonts.sty (for \varmathbb) %%%%%%%%%%%%%%%%%
\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{}

%%%%%%%%%%%%%%%%%% defining each individual symbols %%%%%%%%%%%%%%%%%%%%%%%
\DeclareMathSymbol{\mathscr@char@A}{\mathord}{mathscrUC}{`A}
\DeclareMathSymbol{\mathscr@char@B}{\mathord}{mathscrUC}{`B}
\DeclareMathSymbol{\mathscr@char@C}{\mathord}{mathscrUC}{`C}
\DeclareMathSymbol{\mathscr@char@D}{\mathord}{mathscrUC}{`D}
\DeclareMathSymbol{\mathscr@char@E}{\mathord}{mathscrUC}{`E}
\DeclareMathSymbol{\mathscr@char@F}{\mathord}{mathscrUC}{`F}
\DeclareMathSymbol{\mathscr@char@G}{\mathord}{mathscrUC}{`G}
\DeclareMathSymbol{\mathscr@char@H}{\mathord}{mathscrUC}{`H}
\DeclareMathSymbol{\mathscr@char@I}{\mathord}{mathscrUC}{`I}
\DeclareMathSymbol{\mathscr@char@J}{\mathord}{mathscrUC}{`J}
\DeclareMathSymbol{\mathscr@char@K}{\mathord}{mathscrUC}{`K}
\DeclareMathSymbol{\mathscr@char@L}{\mathord}{mathscrUC}{`L}
\DeclareMathSymbol{\mathscr@char@M}{\mathord}{mathscrUC}{`M}
\DeclareMathSymbol{\mathscr@char@N}{\mathord}{mathscrUC}{`N}
\DeclareMathSymbol{\mathscr@char@O}{\mathord}{mathscrUC}{`O}
\DeclareMathSymbol{\mathscr@char@P}{\mathord}{mathscrUC}{`P}
\DeclareMathSymbol{\mathscr@char@Q}{\mathord}{mathscrUC}{`Q}
\DeclareMathSymbol{\mathscr@char@R}{\mathord}{mathscrUC}{`R}
\DeclareMathSymbol{\mathscr@char@S}{\mathord}{mathscrUC}{`S}
\DeclareMathSymbol{\mathscr@char@T}{\mathord}{mathscrUC}{`T}
\DeclareMathSymbol{\mathscr@char@U}{\mathord}{mathscrUC}{`U}
\DeclareMathSymbol{\mathscr@char@V}{\mathord}{mathscrUC}{`V}
\DeclareMathSymbol{\mathscr@char@W}{\mathord}{mathscrUC}{`W}
\DeclareMathSymbol{\mathscr@char@X}{\mathord}{mathscrUC}{`X}
\DeclareMathSymbol{\mathscr@char@Y}{\mathord}{mathscrUC}{`Y}
\DeclareMathSymbol{\mathscr@char@Z}{\mathord}{mathscrUC}{`Z}
\DeclareMathSymbol{\mathscr@char@a}{\mathord}{mathscrLC}{`a}
\DeclareMathSymbol{\mathscr@char@b}{\mathord}{mathscrLC}{`b}
\DeclareMathSymbol{\mathscr@char@c}{\mathord}{mathscrLC}{`c}
\DeclareMathSymbol{\mathscr@char@d}{\mathord}{mathscrLC}{`d}
\DeclareMathSymbol{\mathscr@char@e}{\mathord}{mathscrLC}{`e}
\DeclareMathSymbol{\mathscr@char@f}{\mathord}{mathscrLC}{`f}
\DeclareMathSymbol{\mathscr@char@g}{\mathord}{mathscrLC}{`g}
\DeclareMathSymbol{\mathscr@char@h}{\mathord}{mathscrLC}{`h}
\DeclareMathSymbol{\mathscr@char@i}{\mathord}{mathscrLC}{`i}
\DeclareMathSymbol{\mathscr@char@j}{\mathord}{mathscrLC}{`j}
\DeclareMathSymbol{\mathscr@char@k}{\mathord}{mathscrLC}{`k}
\DeclareMathSymbol{\mathscr@char@l}{\mathord}{mathscrLC}{`l}
\DeclareMathSymbol{\mathscr@char@m}{\mathord}{mathscrLC}{`m}
\DeclareMathSymbol{\mathscr@char@n}{\mathord}{mathscrLC}{`n}
\DeclareMathSymbol{\mathscr@char@o}{\mathord}{mathscrLC}{`o}
\DeclareMathSymbol{\mathscr@char@p}{\mathord}{mathscrLC}{`p}
\DeclareMathSymbol{\mathscr@char@q}{\mathord}{mathscrLC}{`q}
\DeclareMathSymbol{\mathscr@char@r}{\mathord}{mathscrLC}{`r}
\DeclareMathSymbol{\mathscr@char@s}{\mathord}{mathscrLC}{`s}
\DeclareMathSymbol{\mathscr@char@t}{\mathord}{mathscrLC}{`t}
\DeclareMathSymbol{\mathscr@char@u}{\mathord}{mathscrLC}{`u}
\DeclareMathSymbol{\mathscr@char@v}{\mathord}{mathscrLC}{`v}
\DeclareMathSymbol{\mathscr@char@w}{\mathord}{mathscrLC}{`w}
\DeclareMathSymbol{\mathscr@char@x}{\mathord}{mathscrLC}{`x}
\DeclareMathSymbol{\mathscr@char@y}{\mathord}{mathscrLC}{`y}
\DeclareMathSymbol{\mathscr@char@z}{\mathord}{mathscrLC}{`z}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

$\mathscr{AaBbCcDdEeFfGgHhIiJjKkLlMm}$

$\mathscr{NnOoPpQqRrSsTtUuVvWwXxYyZz}$

$\mathscr{Ker}$

\end{document}

答案2

解决这个问题的另一种方法是:用给定的字体创建一个虚拟字体,然后将其用作数学字母表。以下是虚拟字体的入门指南:如何创建虚拟字体?

相关内容