我正在制作一些新命令,例如 的版本,\prod
但用 代替\Psi
,\Pi
但它非常复杂,因为上标和下标分别位于顶部和底部,以及 、 和 之间的变化\displaystyle
以及其他一些东西\textstyle
。\scriptstyle
\scriptscriptstyle
因此,我正在考虑一种复制命令的方法\prod
,但要用 替换∏
。\Psi
这存在吗?如果存在,如何使用它?
如果代码也适用于 KaTeX 那就太好了。
答案1
像这样的扩展\prod
可能不是真正的解决方案,但差不多。
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\makeatletter
\NewDocumentCommand{\Psiop}{}{%
\DOTSB\mathop{%
\vphantom{\prod}\mathpalette\Psiop@\relax
}\slimits@
}
\newcommand{\Psiop@}[2]{%
\begingroup
\sbox\z@{\raisebox{\depth}{$#1\prod$}}%
\vcenter{\hbox{\resizebox{!}{%
\Psiop@adjust{#1}\ht\z@}{$\m@th#1\Psi$%
}}}%
\endgroup
}
\newcommand{\Psiop@adjust}[1]{%
\ifx#1\displaystyle 0.88\else % 1 for newtx,newpx; 1.04 for kpfonts
\ifx#1\textstyle 1\else
\ifx#1\scriptstyle 1\else
1\fi\fi\fi
}
\makeatother
\begin{document}
\[
\prod_{i=1}^{n} \Psiop_{i=1}^n
\]
\begin{center}
$\prod\Psiop\scriptstyle\prod\Psiop\scriptscriptstyle\prod\Psiop$
\end{center}
\end{document}
代码包含缩放因子的垂直调整。通过视觉实验,似乎只有 displaystyle 需要调整,但为了以防万一,我还留下了其他样式的因子。我发现
- 0.88 适用于 Computer Modern 或 Latin Modern(在后一种情况下记得加载
fixcmex
) - 1 适用于 NewTX 或 NewPX
- 1.04 适用于 KpFonts
其他字体可能需要其他因素。
与现代计算机的图片
使用 KaTeX 你可以尝试
\mathop{\Psi}\limits_{n=1}^{2}
但效果很差。
答案2
这采用了 的垂直布局\prod
,但改用\Psi
。脚本样式被识别和遵循。如果这不是您需要的,请帮助我了解您需要的是什么。
\documentclass{article}
\usepackage{amsmath}
\usepackage{scalerel}
\DeclareMathOperator*{\foo}{\scalerel*{\Psi}{\prod}}
\begin{document}
\[
\foo_{i=3}^{6}(f^2(i))
\]
This is inline: \(\foo_{i=3}^{6}(f^2(i)) \)
\[
\foo_{i=3}^{6}(f^2(i))_{
\foo_{i=3}^{6}(f^2(i)) _
{\foo_{i=3}^{6}(f^2(i))}}
\]
\end{document}