\underbrace가 있는 수학 환경에서 예상치 못한 표시 수학이 발생합니다.

\underbrace가 있는 수학 환경에서 예상치 못한 표시 수학이 발생합니다.

$ 구분 기호를 사용하여 수학 모드를 유지하고 싶습니다. 하지만 이 코드를 사용하면:

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

나는 이것을 얻습니다 :

여기에 이미지 설명을 입력하세요

오른쪽은 마치 디스플레이 수학을 하고 있는 것처럼 보입니다. 왜? \textstyle사용할 때마다 사용해야 합니까 \underbrace?

답변1

underbrace는 라텍스 형식으로 다음과 같이 정의됩니다.

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

여기에 이미지 설명을 입력하세요

관련 정보