我认为,大型运营商有点大,尤其是线下。那么有没有什么办法可以统一除垢呢?MWE 如下:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[\sum_i x_i+y_i.\]
\end{document}
一种可能的方法是改变大符号使用的字体大小,但我不知道细节。
答案1
您可以在以下位置找到该列表amsmath.sty
:
\ifx\@tempa\@tempc
\global\let\coprod@\coprod
\gdef\coprod{\DOTSB\coprod@\slimits@}
\global\let\bigvee@\bigvee
\gdef\bigvee{\DOTSB\bigvee@\slimits@}
\global\let\bigwedge@\bigwedge
\gdef\bigwedge{\DOTSB\bigwedge@\slimits@}
\global\let\biguplus@\biguplus
\gdef\biguplus{\DOTSB\biguplus@\slimits@}
\global\let\bigcap@\bigcap
\gdef\bigcap{\DOTSB\bigcap@\slimits@}
\global\let\bigcup@\bigcup
\gdef\bigcup{\DOTSB\bigcup@\slimits@}
\global\let\prod@\prod
\gdef\prod{\DOTSB\prod@\slimits@}
\global\let\sum@\sum
\gdef\sum{\DOTSB\sum@\slimits@}
\global\let\bigotimes@\bigotimes
\gdef\bigotimes{\DOTSB\bigotimes@\slimits@}
\global\let\bigoplus@\bigoplus
\gdef\bigoplus{\DOTSB\bigoplus@\slimits@}
\global\let\bigodot@\bigodot
\gdef\bigodot{\DOTSB\bigodot@\slimits@}
\global\let\bigsqcup@\bigsqcup
\gdef\bigsqcup{\DOTSB\bigsqcup@\slimits@}
\fi
您可以使用它来实现您的愿望(而我不会)。
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\makeatletter
\gdef\coprod{\DOTSB\reduce@op\coprod@\slimits@}
\gdef\bigvee{\DOTSB\reduce@op\bigvee@\slimits@}
\gdef\bigwedge{\DOTSB\reduce@op\bigwedge@\slimits@}
\gdef\biguplus{\DOTSB\reduce@op\biguplus@\slimits@}
\gdef\bigcap{\DOTSB\reduce@op\bigcap@\slimits@}
\gdef\bigcup{\DOTSB\reduce@op\bigcup@\slimits@}
\gdef\prod{\DOTSB\reduce@op\prod@\slimits@}
\gdef\sum{\DOTSB\reduce@op\sum@\slimits@}
\gdef\bigotimes{\DOTSB\reduce@op\bigotimes@\slimits@}
\gdef\bigoplus{\DOTSB\reduce@op\bigoplus@\slimits@}
\gdef\bigodot{\DOTSB\reduce@op\bigodot@\slimits@}
\gdef\bigsqcup{\DOTSB\reduce@op\bigsqcup@\slimits@}
\def\reduce@op#1{\mathop{\mathpalette\reduce@@op{#1}}}
\def\reduce@@op#1#2{%
\ifx#1\displaystyle
\vcenter{\hbox{\scalebox{0.8}{$\m@th#1#2$}}}%
\else
#2%
\fi
}
\makeatother
\begin{document}
$\sum\bigcup\bigvee$
\[
\csname sum@\endcsname_{k=1}^n % for comparison
\sum_{k=1}^n \bigcup \bigvee
\]
\end{document}
答案2
如果您只需要一个新的显示版本,那么您可以将缩放版本定义\sum
为新运算符:
\DeclareMathOperator*{\ssum}{\scalebox{1.1}{$\sum$}}
如果您想要更改文档中的所有大型操作符,而又不想手动编辑每个出现的操作符,那么可以使用包\scaleobj
中的命令scalerel
:
\let\oldsum\sum
\let\sum\relax
\DeclareMathOperator*{\sum}{\scaleobj{.8}{\oldsum}}
然后,所有\sum
s 都将缩放到其标准高度的 80%,无论是显示的还是内联的:
完整代码如下:
\documentclass{article}
\usepackage{amsmath,scalerel}
\let\oldsum\sum
\let\sum\relax
\DeclareMathOperator*{\sum}{\scaleobj{.8}{\oldsum}}
\begin{document}
\begin{tabular}{ll}
$\displaystyle{\oldsum_i x_i+y_i\text{ vs. }\sum_i x_i+y_i}$ & \texttt{displaystyle}\\[3ex]
$\oldsum_i x_i+y_i\text{ vs. }\sum_i x_i+y_i$ & \texttt{textstyle}\\
$\scriptstyle \oldsum_i x_i+y_i\text{ vs. }\sum_i x_i+y_i$ & \texttt{scriptstyle}\\
$\scriptscriptstyle \oldsum_i x_i+y_i\text{ vs. }\sum_i x_i+y_i$ & \texttt{scriptscriptstyle}
\end{tabular}
\end{document}