Разбить встроенную математическую формулу

Разбить встроенную математическую формулу

У меня есть теорема, которая выглядит так:

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

Теперь я хотел бы разбить математическое выражение (A....D). Проблема в том, что я ничего не сделал из решенияэтотответ помог (так как, вероятно, люди направят меня к этому ответу), а именно:

  • Разбиение математического выражения на два разных математических выражения, разделенных запятой, ничего не дало, а если я добавил , \\это разбило выражение, но выглядело некрасиво, так как часть во второй строке не была правильно выровнена по правому краю
  • \allowbreakНичего не сделал
  • добавление

    \makeatletter
    \def\old@comma{,}
     \catcode`\,=13
     \def,{%
       \ifmmode%
         \old@comma\discretionary{}{}{}%
       \else%
         \old@comma%
       \fi%
     }
     \makeatother
    

вызвало ошибку, так как я использую TikZ, где некоторые параметры разделены запятой.

Может кто-то знает другое решение?

решение1

Поскольку, по-видимому, решение отРазрешить ли перенос строки на «,» в режиме встроенных математических вычислений?работает для вас, за исключением того, что это вызывает проблемы в другом месте, вы можете ограничить переопределение символа запятой, чтобы оно было локальным для абзаца, где у вас возникла эта проблема, заключив его в группу фигурных скобок. Здесь я применил это переопределение только ко второму абзацу, и вы можете видеть, что это переопределение локально.

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

Примечания:

Код:

\documentclass{article}
\usepackage{showframe}

\begin{document}
Here is some very long text followed by a very long equation like $a,b,c,d,e,f,g,h,i,j,k,l$ etc

{
    \def\OldComma{,}
    \catcode`\,=13
    \def,{%
      \ifmmode%
        \OldComma\discretionary{}{}{}%
      \else%
        \OldComma%
      \fi%
    }%
Here is some very long text followed by a very long equation like $a,b,c,d,e,f,g,h,i,j,k,l$ etc.%
}

Here is some very long text followed by a very long equation like $a,b,c,d,e,f,g,h,i,j,k,l$ etc
\end{document}

решение2

Без минимального примера (который на самом деле работает сам по себе) можно только догадываться, но я подозреваю, что вы используете \left( A ... \right). Если это так, то ничто не сломает, что бы вы ни попробовали, потому что конструкция \left/ \rightсоздаст подформулу, которую невозможно сломать.

Единственным решением в этом случае было бы не использовать \left/, \rightа \biglи \bigr(или \bigglили любой другой размер, который вам нужен для скобок). Тогда \allowbreakвнутри должно работать.

решение3

Добавьте \penalty 0(оставьте пробел после нуля) после запятой, где вы хотите сделать разрыв. Это добавит подходящую точку разрыва.

Однако это действительно должно быть последним средством. Попробуйте изменить абзац, чтобы он лучше соответствовал формуле.

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