排版回调 - 调整“underset”

排版回调 - 调整“underset”

有时我想排版一个×带有 的符号f,g。输出命令\underset{f,g}{\times}对我来说有点笨拙。

我怎样才能排版出更像下面右边的表达式的内容?

在此处输入图片描述

答案1

stackengine软件包允许高度定制堆栈。在这里,我在序言中设置了 3 件事:

  1. 堆栈以数学模式处理

  2. 堆放材料的宽度不会影响“锚点”的间距(在本例中为\times

  3. 锚固装置与堆放材料之间的间隙将0pt

由于堆栈是其内容的包装器,因此相对于s 而言,\times失去了其特性。这似乎是 OP 所希望的;但是,它始终可以手动添加回堆栈周围。\mathbinA

妇女权利委员会:

\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} 

在此处输入图片描述

相关内容