\underbrace を使用した数式環境で予期しない displaymath が発生する

\underbrace を使用した数式環境で予期しない displaymath が発生する

$ 区切り文字を使用して数式モードを維持したいのですが、次のコードを使用すると:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\begin{document}

$\big(\sum_{j=1}^n\delta_{j,k}x_k\big)_{1\leq k\leq n}
=\big(\underbrace{\sum_{j=1}^n\delta_{j,k}}_{1_A}x_k\big)_{1\leq k\leq n}$

\end{document}

私はこれを理解します:

ここに画像の説明を入力してください

右側では、displaymath にいるように見えます。なぜでしょうか?\textstyleを使用するときは常にを使用する必要がありますか\underbrace?

答え1

アンダーブレースはLaTeX形式では次のように定義されます。

\def\underbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr
   $\hfil\displaystyle{#1}\hfil$\crcr
          %%%%%%%%%%%%
   \noalign{\kern3\p@\nointerlineskip}%
   \upbracefill\crcr\noalign{\kern3\p@}}}}\limits}

ここでは誰もテキストスタイルを望まないだろうという仮定があります (不合理ではありません:-)。したがって、本当にテキストスタイルが必要な場合は、質問で示唆しているように、議論の中でそれを再主張する必要があります。

答え2

David がなぜそうなっているのかを説明してくれたので、その情報を使ってできることがいくつかあります。既存の定義を変更することで、テキスト スタイルでまったく\tunderbrace同じマクロを独自に作成できます。\underbrace

\Tunderbraceまたは、楽しみのために、スタックを使用して独自のバージョンを作成することもできます。

\documentclass{article}
\usepackage{stackengine, scalerel, graphicx}
\makeatletter
\def\tunderbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr
   $\hfil\textstyle{#1}\hfil$\crcr
          %%%%%%%%%%%%
   \noalign{\kern3\p@\nointerlineskip}%
   \upbracefill\crcr\noalign{\kern3\p@}}}}\limits}
\makeatother
\newcommand\Tunderbrace[2]{\mathop{\ensurestackMath{%
  \def\tmp{#1}%
  \setbox0=\hbox{$\tmp$}%
  \stackunder[1pt]{%
    \stackunder[0pt]{\tmp}{\rotatebox{90}{\scaleto[2ex]{\{}{\wd0}}}%
  }{%
    \scriptstyle #2%
  }%
}}}
\parskip 1em
\begin{document}
$\tunderbrace{\sum_{j=1}^n \delta_{j,k}}_{1_A}x_k$\par
$\Tunderbrace{\sum_{j=1}^n \delta_{j,k}}{1_A}x_k$
\end{document}

ここに画像の説明を入力してください

関連情報