При использовании новых команд в уравнениях вставляются отсутствующие символы

При использовании новых команд в уравнениях вставляются отсутствующие символы

У меня проблема, которую я не могу исправить. Я хотел бы определить математический символ, показанный в фрагменте кода, который я часто использую в тексте. Когда я хочу включить этот же символ в уравнение, я получаю много ошибок «вставлен пропущенный символ», а форматирование на другой стороне неправильное.

\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команду, которая, как следует из названия, гарантирует, что ее содержимое будет набрано в математическом режиме (обратите внимание на дополнительный символ {}после \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}

Связанный контент