Свяжите встроенную математическую среду с той же строкой

Свяжите встроенную математическую среду с той же строкой

Как мне поставить команду, чтобы моя встроенная математическая среда могла быть вместе. Например, 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 будут большие проблемы с поиском точек разрыва строки, если у вас много длинных встроенных математических выражений с этой настройкой.

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