如何在纯 TeX 中定义 \bigplus 运算符?

如何在纯 TeX 中定义 \bigplus 运算符?

如何定义一个大加号运算符,其行为与大加号完全相同bigsum,但使用加号而不是大写西格玛?

我知道最好的选择(或者至少是 Don 会采用的方式)可能是使用元字体来设计这个符号,但缩放对我来说已经足够了。

答案1

在此处输入图片描述

您可以\mathchoice在每种数学样式中使用适当缩放的字体。


\font \zzz = cmr10 at 14pt
\font\zzzb  cmr10 at 20pt
\font\zzzsy =cmsy10 at 14pt
\font\zzzsyb =cmsy10 at 20pt

\def\bigplus{\mathop{\mathchoice{\hbox{\zzzb+}}{\hbox{\zzz+}}{\scriptstyle+}{\scriptscriptstyle+}}}
\def\bigtimes{\mathop{\mathchoice{\hbox{\zzzsyb\char2}}{\hbox{\zzzsy\char2}}{\scriptstyle\times}{\scriptscriptstyle\times}}}

\def\test{\sum_{i=0}^nx^i \rightarrow \bigplus_{i=0}^nx^i \rightarrow \bigtimes_{i=0}^nx^i}
$$
\test
$$
or..

\bigskip

This $\test$

\bigskip

Or this $x^{\test}$
\bye

或者为 Barbara 设置垂直居中

在此处输入图片描述

\def\bigplus{\mathop{\mathchoice{\vcenter{\hbox{\zzzb+}}}{\vcenter{\hbox{\zzz+}}}{\scriptstyle+}{\scriptscriptstyle+}}}
\def\bigtimes{\mathop{\mathchoice{\vcenter{\hbox{\zzzsyb\char2}}}{\vcenter{\hbox{\zzzsy\char2}}}{\scriptstyle\times}{\scriptscriptstyle\times}}}

答案2

你可以通过缩放来实现,只要你加载即可eplain。以下代码基于https://tex.stackexchange.com/a/23436/4427。这个想法是用\sum当前的数学风格来衡量,并缩放所选的符号来匹配。

进行实验并选择正确的因素\genericbigop和所选的符号。

\input eplain
\beginpackages
\usepackage{graphicx}
\endpackages

% add scaled versions of the cmex font
\font\sevenex=cmex7
\font\fiveex=cmex7 at 5pt
\scriptfont3=\sevenex
\scriptscriptfont3=\fiveex
%

\catcode`@=11
\def\genericbigop#1#2{% #1=factor, #2=symbol
  \mathop{\vphantom{\sum}\mathpalette\genericbigop@{{#1}{#2}}}\displaylimits
}
\def\genericbigop@#1#2{\genericbigop@@#1#2}
\def\genericbigop@@#1#2#3{%
  \vcenter{%
    \setbox\z@=\hbox{$#1\sum$}%
    \dimen@=\ht\z@ \advance\dimen@\dp\z@
    \hbox{\resizebox{#2\dimen@}{!}{$\m@th#3$}}%
  }%
}
\catcode`@=12

\def\bigplus{\genericbigop{1.1}{+}}
\def\bigtimes{\genericbigop{1.1}{\times}}

$$
\sum_{i=0}^nx^i \quad \bigplus_{i=0}^nx^i \quad \bigtimes_{i=0}^nx^i
$$
\centerline{%
  $\sum_{i=0}^nx^i \quad \bigplus_{i=0}^nx^i \quad \bigtimes_{i=0}^nx^i$
}
\centerline{%
  $\scriptstyle\sum_{i=0}^nx^i \quad \bigplus_{i=0}^nx^i \quad \bigtimes_{i=0}^nx^i$
}
\centerline{%
  $\scriptscriptstyle\sum_{i=0}^nx^i \quad \bigplus_{i=0}^nx^i \quad \bigtimes_{i=0}^nx^i$
}

\bye

在此处输入图片描述

相关内容