Как мне поставить команду, чтобы моя встроенная математическая среда могла быть вместе. Например, 0<x<1
разбить на две части, 0<
и x<1
в следующей строке.
решение1
Есть несколько стратегий, которые вы могли бы использовать: заключение выражения в фигурные скобки или его обрамление, но в некоторых случаях это может привести к переполнению полей. В большинстве случаев лучшим решением будет перефразировать текст, где появляется формула, чтобы не возникало разрыва строки.
Пример, когда все идет правильно:
\documentclass[draft]{article}
\begin{document}
Text text text text text text text text text text text text text text te $0<x<1$
Text text text text text text text text text text text text text text te ${0<x<1}$
Text text text text text text text text text text text text text text te \mbox{$0<x<1$}
\end{document}
И еще один случай, когда что-то идет не так (обратите внимание на переполненные поля):
\documentclass[draft]{article}
\begin{document}
Text text text text text text text text text text text text texttexttex $0<x<1$ text text text text text text text text text text text text text text text text text text
Text text text text text text text text text text text text texttexttex ${0<x<1}$ text text text text text text text text text text text text text text text text text text
Text text text text text text text text text text text text texttexttex \mbox{$0<x<1$} text text text text text text text text text text text text text text text text text text
\end{document}
В ситуации, проиллюстрированной в последнем примере, \sloppy можно было бы использовать для предотвращения появления плохих рамок, но тогда некоторые строки текста будут растягиваться, а интервалы между словами будут выглядеть некрасиво:
\documentclass[draft]{article}
\begin{document}
Text text text text text text text text text text text text texttexttex $0<x<1$ text text text text text text text text text text text text text text text text text text
{\sloppy Text text text text text text text text text text text text texttexttex ${0<x<1}$ text text text text text text text text text text text text text text text text text text\par}
{\sloppy Text text text text text text text text text text text text texttexttex \mbox{$0<x<1$} text text text text text text text text text text text text text text text text text text\par}
\end{document}
Какэгрегупоминает в комментарии и то, и другое \mbox{$0<x<1$}
, и ${0<x<1}$
это приведет к тому, что пробелы вокруг <
не будут растягиваться и сжиматься вместе со строкой, в которой они заканчиваются; $0<\nobreak x<1$
лучше для избежания переноса строки; возможно, \nobreak
также добавьте после второго <
.
Лучшим решением в большинстве случаев (как я уже сказал) будет попытка перефразировать текст, в котором появляется формула, так, чтобы не возникало переноса строки.
решение2
Вы можете установить \relpenalty
более высокое значение (оно и так довольно высокое; 500 в простом значении). Например,
\relpenalty=10000
попытается никогда не прерывать строку с реляционным классом математических символов. На самом деле, у меня возникли трудности с тем, чтобы заставить TeX прерывать строку с примером $0<x<1$
с настройками по умолчанию, поэтому для проверки я установил штраф на ноль.
Еще один штраф \binoppenalty
за встроенную математику касается математических символов двоичного класса, поэтому, чтобы посоветовать TeX попытаться никогда не прерывать встроенную математику, можно установить их оба в 10000
. Конечно, у TeX будут большие проблемы с поиском точек разрыва строки, если у вас много длинных встроенных математических выражений с этой настройкой.