如何在 LaTeX 中使用 Boondox 书法字体而不替换 \mathcal 命令

如何在 LaTeX 中使用 Boondox 书法字体而不替换 \mathcal 命令

这是对上一个问题我问了如何将Boondox书法字体与标准字体一起使用\mathcal字体一起使用。解决方案涉及\mathalfa运行包,用 Boondox 字体替换原始字体(由\mathcal命令生成)。第二步是创建一个单独的命令(例如\mathcalorig),该命令将用于再次调用原始的“标准”书法字体。

我现在的问题是:是否有可能实现两种字体协同工作而无需直接替换\mathcal?例如,我希望\mathcal输出原始的“标准”书法字体,并为 boondox 字体(我几乎不经常使用)提供自己的命令,例如\mathcalboondox。那么总结一下,我们将得到:

  • 打字\mathcal会产生您期望的常规行为,即为您提供我们熟悉的标准书法风格
  • 打字时,\mathcalboondox如果你偶尔想使用 boondox 风格的字体,而不是常规字体,那么输入时就会出现这种字体\mathcal

这是一张描述我所寻找内容的图片:

在此处输入图片描述

这可以实现吗?提前感谢您的帮助!

答案1

手动操作更简单mathalfa

\documentclass{article}

\DeclareFontFamily{U}{BOONDOX-calo}{\skewchar\font=45 }
\DeclareFontShape{U}{BOONDOX-calo}{m}{n}{
  <-> s*[1.05] BOONDOX-r-calo}{}
\DeclareFontShape{U}{BOONDOX-calo}{b}{n}{
  <-> s*[1.05] BOONDOX-b-calo}{}
\DeclareMathAlphabet{\mathcalboondox}{U}{BOONDOX-calo}{m}{n}
\SetMathAlphabet{\mathcalboondox}{bold}{U}{BOONDOX-calo}{b}{n}
\DeclareMathAlphabet{\mathbcalboondox}{U}{BOONDOX-calo}{b}{n}

\begin{document}
$\mathcal{ABC}$ $\mathcalboondox{ABC}$
\end{document}

在此处输入图片描述

但是还有一种不同的方法,使用mathalfa,可以这样调用字母表\mathscr

\documentclass{article}
\usepackage[scr=boondoxo,scrscaled=1.05]{mathalfa}

\begin{document}
$\mathcal{ABC}$ $\mathscr{ABC}$
\end{document}

答案2

您可以定义一个新的数学字母表,并使用和命令加载BOONDOX-scr包来代替和,从原始包转置。以下是新包的小代码:\mathscr\\mathbscr\mathcalmathbcalBOONDOX-cal

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{boondox-scr}[2015/05/29 v1 U/BOONDOX-scr]
\RequirePackage{xkeyval}%
\define@key{BOONDOX-scr.sty}{scaled}[1.0]{%
\expandafter\def\csname BOONDOX-scr@scale\endcsname {#1}}%
\ExecuteOptionsX<BOONDOX-scr.sty>{scaled}%
\ProcessOptionsX<BOONDOX-scr.sty>\relax%
\DeclareMathAlphabet{\mathscr}{U}{BOONDOX-cal}{m}{n}
\SetMathAlphabet{\mathscr}{bold}{U}{BOONDOX-cal}{b}{n}
\DeclareMathAlphabet{\mathbscr} {U}{BOONDOX-cal}{b}{n}
\endinput


        \documentclass[12pt]{article}
        \usepackage[utf8]{inputenc}
        \usepackage{boondox-scr}
        \pagestyle{empty}

        \begin{document}%
        \textbf{%
        Boondox :
        }%

        \[ \begin{array}[t]{c@{\quad}c@{\quad}c}
            \verb+ \mathcal + & \verb+ \mathscr + & \verb+ \mathbscr +\\[6pt]
            \mathcal{EMTS} & \mathscr{LnS} & \mathbscr{LnS}
            \end{array} \]%

        \end{document}

结果:

在此处输入图片描述序言中包含的代码:

        \documentclass[12pt]{article}
        \usepackage[utf8]{inputenc}
         \DeclareMathAlphabet{\mathscr}{U}{BOONDOX-cal}{m}{n}
         \SetMathAlphabet{\mathscr}{bold}{U}{BOONDOX-cal}{b}{n}
         \DeclareMathAlphabet{\mathbscr} {U}{BOONDOX-cal}{b}{n}
        \pagestyle{empty}

        \begin{document}%
        \textbf{%
        Boondox :
        }%

        \[ \begin{array}[t]{c@{\quad}c@{\quad}c}
            \verb+ \mathcal + & \verb+ \mathscr + & \verb+ \mathbscr +\\[6pt]
            \mathcal{EMTS} & \mathscr{LnS} & \mathbscr{LnS}
            \end{array} \]%

        \end{document} 

相关内容