仅下标的数学字体更改

仅下标的数学字体更改

目标:我想要一个宏来更改仅下标和上标的数学字体。在 TeX 术语中,我认为这意味着我只想更改使用 scriptfont 排版的 S、S' 样式。

从图形上看,我想要

\bfscript{v_i}

显示为$v_{\mathbf{i}}$

尝试:我一直尝试用 TeX 的方式来做这件事;也就是说

\def\bfscript#1{\hbox{$\scriptfont0=\tenbf #1$}}

但这个方法失败了,因为 LaTeX 似乎完全忽略了 scriptfont 之类的东西。LaTeX 似乎只允许在字体大小上做出区分,使用\DeclareMathSizes

注意:我最初对这个真实案例感兴趣,但我甚至不确定我是否还需要它;我只是真的想知道答案是什么。

答案1

LaTeX 会加载数学字体并根据需要分配它们,因此您需要进行初始数学设置,以确保有字体可用作脚本字体。此外,在通常的设置中,您需要 fam 1 而不是 0。

我不建议你这样做:

\documentclass{article}

\begin{document}
\showoutput

\def\bfscript#1{%
\setbox0\hbox{$\scriptstyle\mathbf{\xdef\tmp{\the\scriptfont\fam}}$}%
\hbox{$\scriptfont1=\tmp #1$}}

$\bfscript{v_i}$

$v_{\mathbf{i}}$

\end{document}

相关内容