Хорошая практика набора длинных уравнений

Хорошая практика набора длинных уравнений

В моей диссертации есть следующее (довольно ужасное) уравнение:

\begin{align*}
\frac{\partial^2}{\partial t_1^2} f(t_0,t_1) = 
( \delta+2t_0+2t_1)^{\alpha( w-t_0+t_1 )-1} \cdot \bigl(  
\frac{\partial^2}{\partial t_1^2}\alpha(w-t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot  \log ( \delta+2t_0+2t_1) +\\
\alpha'(w-t_0+t_1) \cdot 2 \cdot  \log ( \delta+2t_0+2t_1)+
\alpha'(w-t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot  \frac{2}{\delta+2t_0+2t_1} +\\
2 \frac{\partial}{\partial t_1} \alpha( w-t_0+t_1 ) \bigr) +
( \delta+2t_0+2t_1)^{\alpha( w-t_0+t_1 )-2}\cdot\\
 \bigl( \frac{\partial}{\partial t_1} \alpha(w-t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot \log ( \delta+2t_0+2t_1) + (\alpha (w-t_0+t_1) -2) \bigr) \cdot \\
\bigl( \alpha'(w -t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot  \log ( \delta+2t_0+2t_1) +
2\alpha( w-t_0+t_1)\bigr) = \\
( \delta+2t_0+2t_1)^{\alpha( w-t_0+t_1 )-1} \cdot \Bigl( 
 \frac{\partial^2}{\partial t_1^2}\alpha(w -t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot  \log ( \delta+2t_0+2t_1) +\\
2 \cdot \alpha'(w-t_0+t_1)  \cdot  \bigl( 2 + \log ( \delta+2t_0+2t_1) \bigr) \Bigr) +
( \delta+2t_0+2t_1)^{\alpha( w-t_0+t_1)-2} \cdot \Bigl( \\
\alpha '(w-t_0+t_1) \cdot 
(\delta + 2t_0+2t_1) \cdot \log (\delta + 2t_0+2t_1) +  
\bigl(\alpha (w-t_0+t_1) -2) \bigr) \cdot
 \bigl(   \\
\alpha'(w-t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot  \log ( \delta+2t_0+2t_1) +2\alpha( w-t_0+t_1)\bigr) \Bigr)  < 0
\end{align*}

Используя именно этот фрагмент кода, без специальных команд форматирования, таких как & или \[2mm], получаем совершенно нечитаемый математический текст: Уравнение

Как бы вы отформатировали такие уравнения в LaTeX и что, по вашему мнению, является хорошей практикой при наборе таких больших уравнений?

решение1

Я бы попытался сократить уравнение, сгруппировав части:

  • Не используйте \cdotтам, где это не нужно. Я использую его только для скалярных произведений векторов и для чисел, но не для символических множителей или перед скобками.
  • Производные часто записываются как \partial_{t_1}вместо \frac{\partial}{\partial t_1}. Это может сэкономить место.
  • Введение подстановок может быть полезным. В вашем коде (\delta+2t_0+2t_1)встречается довольно часто и может быть заменен новым символом, который будет определен до или после уравнения
  • Выровняйте уравнение по крайней мере по всем знакам равенства:&=
  • Другие переносы строк могут быть перед +знаками для «группировки» слагаемых (это показывает, что уравнение состоит из схожих частей, которые складываются вместе).

решение2

введите описание изображения здесь

ломатьдоне после операторов и определения имен для подтерминов

\documentclass{article}
\usepackage{amsmath}

\begin{document}


\begin{align*}
\frac{\partial^2}{\partial t_1^2} f(t_0,t_1)
 &= 
b^{a-1} \cdot \bigl(  
\frac{\partial^2}{\partial t_1^2}a \cdot b \cdot  \log ( b) +
a' \cdot 2 \cdot  \log ( b)+
a' \cdot b \cdot  \frac{2}{b} +
2 \frac{\partial}{\partial t_1} a \bigr) \\
 &\quad+
 b^{a-2}\cdot
 \bigl( \frac{\partial}{\partial t_1}a \cdot b \cdot \log ( b) + (a -2) \bigr) \cdot 
\bigl( a' \cdot b \cdot  \log ( b) + 2a\bigr)\\
  & = 
b^{a-1} \cdot \Bigl( 
 \frac{\partial^2}{\partial t_1^2}a \cdot  b \cdot  \log ( b) +
2 \cdot a'  \cdot  \bigl( 2 + \log ( b) \bigr) \Bigr)\\
&\quad +
b^{a-2} \cdot \bigl(a' \cdot 
c \cdot \log (c) +  
\bigl(a -2) \bigr) \cdot
 \bigl(a' \cdot  b \cdot  \log ( b) +2a)\bigr)\bigr)\\
  &< 0
\end{align*}
where:\\
$a=\alpha( w-t_0+t_1 )$\\
$a'=\alpha'(w-t_0+t_1)$\\
$b=\delta+2t_0+2t_1$\\
$c=\delta + 2t_0+2t_1$
\end{document}

решение3

На самом деле, я хотел бы начать ответ с вопроса: насколько информативно отображать такое длинное уравнение?

Я бы попытался выделить части в вашем уравнении и записал что-то вроде

\[a (A + B + C) < 0\]
where
\[a = ... \]
and
\begin{align} 
A &= ... \\
B &= ... \\
C &= ...
\end{align}

это значительно облегчает чтение, и вы, возможно, также сможете дать объяснение каждому термину.

решение4

Попробуйте использовать breqnпакет. Начните с usepackage{breqn}, затем замените align*окружение на dmath*. Затем удалите все ручные переносы строк \\, потому что breqnделает перенос строк и выравнивание автоматически. Также вы можете заменить \biglи \bigrна \leftи \right, потому что breqnпозволяет переносы строк внутри пары \left- \right.

\documentclass{article}
\usepackage{breqn}  % from the "mh" bundle

\begin{document}

\begin{dmath*}
\frac{\partial^2}{\partial t_1^2} f(t_0,t_1) = 
( \delta+2t_0+2t_1)^{\alpha( w-t_0+t_1 )-1} \cdot \left(  
\frac{\partial^2}{\partial t_1^2}\alpha(w-t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot  
\log ( \delta+2t_0+2t_1) +
\alpha'(w-t_0+t_1) \cdot 2 \cdot  \log ( \delta+2t_0+2t_1)+
\alpha'(w-t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot  \frac{2}{\delta+2t_0+2t_1} +
2 \frac{\partial}{\partial t_1} \alpha( w-t_0+t_1 ) \right) +
( \delta+2t_0+2t_1)^{\alpha( w-t_0+t_1 )-2}\cdot
 \left( \frac{\partial}{\partial t_1} \alpha(w-t_0+t_1) \cdot ( \delta+2t_0+2t_1) 
\cdot \log ( \delta+2t_0+2t_1) + (\alpha (w-t_0+t_1) -2) \right) \cdot 
\left( \alpha'(w -t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot  \log ( \delta+2t_0+2t_1) +
2\alpha( w-t_0+t_1)\right) = 
( \delta+2t_0+2t_1)^{\alpha( w-t_0+t_1 )-1} \cdot \left( 
\frac{\partial^2}{\partial t_1^2}\alpha(w -t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot  
\log ( \delta+2t_0+2t_1) +
2 \cdot \alpha'(w-t_0+t_1)  \cdot  \left( 2 + \log ( \delta+2t_0+2t_1) \right) \right)
+ ( \delta+2t_0+2t_1)^{\alpha( w-t_0+t_1)-2} \cdot \Bigl( 
\alpha '(w-t_0+t_1) \cdot 
(\delta + 2t_0+2t_1) \cdot \log (\delta + 2t_0+2t_1) +  
\left(\alpha (w-t_0+t_1) -2 \right) \cdot
 \left(   
\alpha'(w-t_0+t_1) \cdot ( \delta+2t_0+2t_1) \cdot  \log ( \delta+2t_0+2t_1) +2\alpha(
 w-t_0+t_1)\right) \Bigr)  < 0
\end{dmath*}
\end{document}

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