重新定义 \pmb 以获得更好的结果

重新定义 \pmb 以获得更好的结果

我想使用 suetterlin 字体作为数学字母(粗体和中等版本)。

这就是我所取得的进展(无需任何手动字体转换......)

\documentclass[convert={density=10000}]{standalone}
\usepackage{amsmath}
\DeclareMathAlphabet{\mathsuet} {T1} {wesu}{bx}{sl}
\pdfpkmode{dpdfezzz}
\pdfpkresolution=8000
\usepackage{bm}
\begin{document}
\fbox{{
$\bm n n$
$\pmb{\mathsuet n}\, \mathsuet n$
}}
\end{document}

在此处输入图片描述

如我们所见,线条的粗细与正常字母相似......但粗体版本(用制作\pmb)的线条末端不是很好看......

我找到\pmbamsbsy

\DeclareRobustCommand{\pmb}{%
\ifmmode\else \expandafter\pmb@@\fi\mathpalette\pmb@}

以及定义\pmb@

\def\pmb@#1#2{\setbox8\hbox{$\m@th#1{#2}$}%
  \setboxz@h{$\m@th#1\mkern.5mu$}\pmbraise@\wdz@
  \binrel@{#2}%
  \dimen@-\wd8 %
  \binrel@@{%
    \mkern-.8mu\copy8 %
    \kern\dimen@\mkern.4mu\raise\pmbraise@\copy8 %
    \kern\dimen@\mkern.4mu\box8 }%
}

我不知道这段代码有什么作用,但我认为应该可以移动重印的字符(通过重新定义\pmb),以便行尾看起来更平滑?


该问题的先前版本包含的定义\pmb@@,仅适用于非数学模式。

\def\pmb@@#1#2#3{\leavevmode\setboxz@h{#3}%
   \dimen@-\wdz@
   \kern-.5\ex@\copy\z@
   \kern\dimen@\kern.25\ex@\raise.4\ex@\copy\z@
   \kern\dimen@\kern.25\ex@\box\z@
}

答案1

您可以根据需要在不同的偏移量上多次套印,以尝试获得更平滑的外观(但\pmb看起来不会那么好)

\documentclass[convert={density=10000}]{standalone}
\usepackage{amsmath}
\DeclareMathAlphabet{\mathsuet} {T1} {wesu}{bx}{sl}

% I get metafont errors from these settings?
%\pdfpkmode{dpdfezzz}
%\pdfpkresolution=8000

\makeatletter
\def\pmb@@#1#2#3{\leavevmode\setboxz@h{#3}%
\dimen@-\wdz@
\kern-.5\ex@\copy\z@
\kern\dimen@\kern.25\ex@\raise.4\ex@\copy\z@
\kern\dimen@\kern.2\ex@\raise.3\ex@\copy\z@
\kern\dimen@\kern.15\ex@\raise.2\ex@\copy\z@
\kern\dimen@\kern.25\ex@\box\z@
}
\makeatother

\usepackage{bm}
\begin{document}
\fbox{{
$\bm n n$
$\pmb{\mathsuet n}\, \mathsuet n$
}}
\end{document}

答案2

除了 David Carlisle 的回答之外,我现在使用的解决方案:

\documentclass[convert={density=10000}]{standalone}
\usepackage{amsmath}
\DeclareMathAlphabet{\mathsuet} {T1} {wesu}{bx}{sl}
\pdfpkmode{dpdfezzz}
\pdfpkresolution=8000
\usepackage{bm}
\usepackage{relsize}


\makeatletter
\def\pmb@#1#2{\setbox8\hbox{$\m@th#1{#2}$}%
  \setboxz@h{$\m@th#1\mkern.5mu$}\pmbraise@\wdz@
  \binrel@{#2}%
  \dimen@-\wd8 %
  \binrel@@{%
    \mkern-.1mu\copy8 %
    \kern\dimen@\mkern-.2mu\copy8 %
    \kern\dimen@\mkern-.3mu\copy8 %
    \kern\dimen@\mkern.1mu\copy8 %
    \kern\dimen@\mkern.2mu\copy8 %
    \kern\dimen@\mkern.3mu\copy8 %
    %\kern\dimen@\mkern.4mu\raise\pmbraise@\copy8 %
    \kern\dimen@\mkern.4mu\box8 }%
}
\makeatother


\begin{document}
\fbox{
$\bm n n$
$\pmb{\mathlarger{\mathlarger{\mathsuet n}}}\,  \mathlarger{\mathlarger{\mathsuet n}}$
}
\end{document}

输出结果如下:

在此处输入图片描述

相关内容