
У меня есть теорема, которая выглядит так:
Теперь я хотел бы разбить математическое выражение (A....D). Проблема в том, что я ничего не сделал из решенияэтотответ помог (так как, вероятно, люди направят меня к этому ответу), а именно:
- Разбиение математического выражения на два разных математических выражения, разделенных запятой, ничего не дало, а если я добавил ,
\\
это разбило выражение, но выглядело некрасиво, так как часть во второй строке не была правильно выровнена по правому краю \allowbreak
Ничего не сделалдобавление
\makeatletter \def\old@comma{,} \catcode`\,=13 \def,{% \ifmmode% \old@comma\discretionary{}{}{}% \else% \old@comma% \fi% } \makeatother
вызвало ошибку, так как я использую TikZ, где некоторые параметры разделены запятой.
Может кто-то знает другое решение?
решение1
Поскольку, по-видимому, решение отРазрешить ли перенос строки на «,» в режиме встроенных математических вычислений?работает для вас, за исключением того, что это вызывает проблемы в другом месте, вы можете ограничить переопределение символа запятой, чтобы оно было локальным для абзаца, где у вас возникла эта проблема, заключив его в группу фигурных скобок. Здесь я применил это переопределение только ко второму абзацу, и вы можете видеть, что это переопределение локально.
Примечания:
- Пакет
showframe
использовался только для отображения полей.
Код:
\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
(оставьте пробел после нуля) после запятой, где вы хотите сделать разрыв. Это добавит подходящую точку разрыва.
Однако это действительно должно быть последним средством. Попробуйте изменить абзац, чтобы он лучше соответствовал формуле.