在数学模式下缩放单个符号

在数学模式下缩放单个符号

我使用 Baskervald 字体和 KP 字体作为数学字体。它非常好,但需要一些手动微调。

例如,该\star命令给出一个(超大)斜体星,这不应该发生。我想我只是重新定义\star

\renewcommand{\star}{\scalebox{.5}{\bigstar}}

但这似乎不起作用(\star用于显示模式)。

在数学模式下调整特定命令大小的正确命令是什么?

最小示例:

\documentclass{article}
\usepackage{amssymb,amsmath}
\usepackage{kpfonts,baskervald}

\begin{document}
\begin{align*}
  f\star g=fg+\hbar\{f,g\}\\
  f\bigstar g=fg+\hbar\{f,g\}
\end{align*}
\end{document}

\star是倾斜的,但\bigstar不是。

答案1

在这种情况下,我使用\scalerel替换 的定义,并将其缩放到\star\bigstar斜体 相同的垂直占用空间\star。我尝试在它周围放置\mathrel,但 的间距似乎f很奇怪,所以我把它拿走了。

这种方法的优点scalerel在于它也适用于较小的数学风格,如下所示。

\documentclass{article}
\usepackage{amssymb,amsmath}
\usepackage{kpfonts,baskervald}
\usepackage{scalerel}
\let\savestar\star
\renewcommand\star{{\scalerel*{\bigstar}{\savestar}}}
\begin{document}
\begin{align*}
  f\star g=fg+\hbar\{f,g\}\\
 \scriptstyle f\star g=fg+\hbar\{f,g\}
\end{align*}
\end{document}

在此处输入图片描述

正如我在最初的评论中所说,加载不会baskervald给出斜体星号。相反,问题出在包上kpfonts。我加载包时也遇到了同样的错误行为kpfonts。或者,如果我尝试baskervald先加载,就会出现选项冲突,我猜这是在kpfonts抱怨baskervald已经控制了它\star,它也想要控制它。

相关内容