방정식에서 새 명령을 사용할 때 누락된 문자가 삽입됩니다.

방정식에서 새 명령을 사용할 때 누락된 문자가 삽입됩니다.

고칠 수 없을 것 같은 문제가 있습니다. 수학 기호를 정의하고 텍스트 전체에서 자주 사용하는 코드 조각에 표시하고 싶습니다. 동일한 기호를 방정식에 포함하려고 하면 "문자 삽입 누락" 오류가 많이 발생하고 반대편의 형식도 잘못되었습니다.

\documentclass[12pt]{article}
\usepackage{amsmath,amssymb}

\newcommand{\WPT}{$p_{\text{T}}^W$}

\begin{document}
The result for \WPT is shown below.

\begin{equation}
  r_s^{\WPT} &= 100.00
\end{equation}

\end{document}

도움을 주셔서 미리 감사드립니다.

답변1

게시한 코드를 실행하면 오류가 발생합니다.

! Missing } inserted.
<inserted text> 
                }
l.10   r_s^{\WPT
                } = 100.00
?

이 오류는 명령이 확장될 때 기본적으로(오류가 발생하는 지점까지) 다음과 같은 결과를 갖기 때문에 발생합니다.

$$ r_s^{ $

이는 유효한 TeX 구성이 아닙니다. 디스플레이 수학을 시작하고 그룹을 시작한 다음 인라인 수학을 종료합니다. 나중에 TeX에서는 다음과 같이 말할 것입니다:

! Display math should end with $$.
<to be read again> 
                   p
l.13   r_s^{$p
              _{\text{T}}^W$} = 100
?

그리고 그 모든 것을 고치려고 하면 더욱 혼란스러워질 것입니다.


\ensuremath이름에서 알 수 있듯이 해당 내용이 수학 모드에서 조판되도록 보장하는 which를 사용할 수 있습니다 ( 여기 텍스트에서 {}뒤에 추가 내용이 있음을 확인하세요).\WPT

\documentclass[12pt]{article}
\usepackage{amsmath,amssymb}

\newcommand{\WPT}{\ensuremath{p_{\text{T}}^W}}

\begin{document}
The result for \WPT{} is shown below.

\begin{equation}
  r_s^{\WPT} = 100.00
\end{equation}

\end{document}

하지만 본질적으로 수학 콘텐츠이기 때문에 \WPT적절한 마크업을 선택하고 ... 텍스트로 \WPT묶 겠습니다.$$

\documentclass[12pt]{article}
\usepackage{amsmath,amssymb}

\newcommand{\WPT}{p_{\text{T}}^W}

\begin{document}
The result for $\WPT$ is shown below.

\begin{equation}
  r_s^{\WPT} = 100.00
\end{equation}

\end{document}

관련 정보