
Ich möchte im Mathematikmodus bleiben und $-Trennzeichen verwenden. Aber wenn ich diesen Code verwende:
\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}
Ich bekomme Folgendes:
Rechts sieht es so aus, als wäre ich in Displaymath. Warum? Sollte ich \textstyle
immer verwenden, wenn ich verwende \underbrace
?
Antwort1
underbrace wird im Latex-Format wie folgt definiert:
\def\underbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr
$\hfil\displaystyle{#1}\hfil$\crcr
%%%%%%%%%%%%
\noalign{\kern3\p@\nointerlineskip}%
\upbracefill\crcr\noalign{\kern3\p@}}}}\limits}
Es besteht die (nicht unvernünftige:-) Annahme, dass hier niemand Textstyle möchte. Wenn Sie das also wirklich wollen, müssten Sie es im Argument erneut geltend machen, wie Sie in Ihrer Frage vorschlagen.
Antwort2
Nachdem David Ihnen erklärt hat, warum das so ist, können Sie mit dieser Information mehrere Dinge tun. Sie können Ihr eigenes Makro erstellen, \tunderbrace
das genau so ist, \underbrace
aber im Textstil, indem Sie die vorhandene Definition ändern.
Oder Sie erstellen einfach zum Spaß Ihre eigene Version \Tunderbrace
mithilfe von Stapeln:
\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}