У меня проблема, которую я не могу исправить. Я хотел бы определить математический символ, показанный в фрагменте кода, который я часто использую в тексте. Когда я хочу включить этот же символ в уравнение, я получаю много ошибок «вставлен пропущенный символ», а форматирование на другой стороне неправильное.
\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}