
У меня есть набор уравнений в частных производных, которые я пытаюсь ввести, и некоторые члены более высокого порядка в них уже имеют верхний индекс.
Я использую physics
функцию пакета \pdv[n]{}{}
, вот код, который я написал
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{physics}
\numberwithin{equation}{section}
\begin{document}
\newcommand\vt{v_{\theta}}
\newcommand\vr{v_{r}}
\newcommand\vx{v_{x}}
\newcommand\vts{v_{\theta}^{*}}
\newcommand\vrs{v_{r}^{*}}
\newcommand\vxs{v_{x}^{*}}
\newcommand\ts{t^{*}}
\newcommand\rs{r^{*}}
\newcommand\xs{x^{*}}
\section{Governing Equations}
\begin{multline}
\pdv{\vrs}{\ts}+\vrs\pdv{\vrs}{\rs}+\vts\frac{1}{\rs}\pdv{\vrs}{\ts}+\vxs\pdv{\vrs}{\xs}-\frac{\vt^{*^2}}{\rs}= \\ -\frac{1}{\rho}\pdv{p^{*}}{\rs}+\frac{1}{\mu}\left[\frac{1}{\rs}\pdv{\vrs}{\rs}+\pdv[2]{\vxs}{\rs}+\frac{1}{\rs}\pdv[2]{\vxs}{\theta}+\pdv[2]{\vxs}{\vxs}\right]
\end{multline}
\end{document}
Когда я попытался скомпилировать это, я получил сообщение об ошибке
"! Double superscript.\l__deriv_p_denom_tl ...ariable:nn {pdv}{\xs }\sp{2} \end{multline} ".
Как это можно решить? Я считаю, что это вытекает из членов уравнения в частных производных более высокого порядка.
решение1
Вам нужно стратегически разместить фигурные скобки.
По сути, вы не можете просто набрать a^b^c
в LaTeX, потому что он не поймет, что вся b^c
часть должна быть надстрочным индексом. Вместо этого вам придется заключить это в фигурные скобки, например: a^{b^c}
.
То же самое происходит в вашем уравнении — вам просто нужно добавить еще несколько скобок. Самое простое решение — добавить дополнительную пару в каждое из ваших \newcommand
определений, содержащих ^
.
\newcommand\vt{v_{\theta}}
\newcommand\vr{v_{r}}
\newcommand\vx{v_{x}}
\newcommand\vts{{v_{\theta}^{*}}} % extra {}
\newcommand\vrs{{v_{r}^{*}}} % extra {}
\newcommand\vxs{{v_{x}^{*}}} % extra {}
\newcommand\ts{{t^{*}}} % extra {}
\newcommand\rs{{r^{*}}} % extra {}
\newcommand\xs{{x^{*}}} % extra {}
решение2
Я отследил проблему следующим образом:
При определении newcommand
команды s не используется единый токен, поэтому вы не можете добавить супериндекс, если другой существует.
Вам необходимо добавить дополнительные скобки к newcommand
определениям s.
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{physics}
\numberwithin{equation}{section}
\begin{document}
\newcommand\vt{{v_{\theta}}}
\newcommand\vr{{v_{r}}}
\newcommand\vx{{v_{x}}}
\newcommand\vts{{v_{\theta}^{*}}}
\newcommand\vrs{{v_{r}^{*}}}
\newcommand\vxs{{v_{x}^{*}}}
\newcommand\ts{{t^{*}}}
\newcommand\rs{{r^{*}}}
\newcommand\xs{{x^{*}}}
\section{Governing Equations}
\begin{multline}
\pdv{\vrs}{\ts}
+\vrs \pdv{\vrs}{\rs}
+\vts \frac{1}{\rs} \pdv{\vrs}{\ts}
+\vxs \pdv{\vrs}{\xs}
-\frac{\vt^{*2}}{\rs}= \\
-\frac{1}{\rho}\pdv{p^{*}}{\rs}+\frac{1}{\mu}\left[\frac{1}{\rs}\pdv{\vrs}{\rs}+\pdv[2]{\vxs}{\rs}+\frac{1}{\rs}\pdv[2]{\vxs}{\theta}+\pdv[2]{\vxs}{\vxs}\right]
\end{multline}
\end{document}
Тогда все работает так, как и ожидалось.