答案1
该stackengine
软件包允许高度定制堆栈。在这里,我在序言中设置了 3 件事:
堆栈以数学模式处理
堆放材料的宽度不会影响“锚点”的间距(在本例中为
\times
)锚固装置与堆放材料之间的间隙将
0pt
由于堆栈是其内容的包装器,因此相对于s 而言,\times
失去了其特性。这似乎是 OP 所希望的;但是,它始终可以手动添加回堆栈周围。\mathbin
A
妇女权利委员会:
\documentclass{article}
\usepackage{stackengine}
\stackMath
\renewcommand\useanchorwidth{T}
\setstackgap{S}{0pt}
\begin{document}
$A\stackunder{\times}{\scriptscriptstyle f\cdot g} A$
\end{document}
当然,这一切都可以包装成一个宏。这里,我以还原\mathbin
的性质来展示它\times
。我称其为宏\quork{}{}
。
\documentclass{article}
\usepackage{stackengine}
\stackMath
\renewcommand\useanchorwidth{T}
\setstackgap{S}{0pt}
\newcommand\quork[2]{\mathbin{\stackunder{#1}{\scriptscriptstyle #2}}}
\begin{document}
$A\quork{\times}{f\cdot g} A$
\end{document}
答案2
这是一个基于以下想法的版本https://tex.stackexchange.com/a/169603/15925:
\documentclass{article}
\usepackage{mathtools}
\newcommand*{\sunderbin}[3][0pt]{%
\mathbin{\renewcommand*{\arraystretch}{0}%
\begin{array}[t]{@{}c@{}}%
#3\\[{#1}]%
\mathclap{\scriptstyle #2}%
\end{array}}%
}
\begin{document}
\begin{equation*}
A \underset{f,g}{\times} B
\qquad
A \sunderbin{f,g}{\times} B
\end{equation*}
\end{document}
有一个可选参数可以增加运算符和下标之间的空间。
答案3
我认为这是一种视觉错觉,因为 中的升部f
。您可以使用负薄空间来纠正它。我还建议另一种可能的布局,将“索引”稍微放在 × 的右侧。在下面的代码中,我为它们定义了两个命令:\pullback
和\varpullbback
:
\documentclass{article}
\usepackage{mathtools}
\newcommand\pullback[1]{\underset{\mathclap{#1}}{\times}}
\newcommand\varpullback[1]{\times_{\clap{\raisebox{-1.2ex}{$\scriptstyle #1 $}}}\mkern-1mu}
\begin{document}
\[ A \pullback{\!f\mkern-2.5mu, g}B\qquad A \varpullback{f\mkern-2.5mu, g}B\]%
\end{document}