Amarre um ambiente matemático embutido para estar na mesma linha

Amarre um ambiente matemático embutido para estar na mesma linha

Como devo colocar o comando para que meu ambiente matemático embutido possa ficar junto. Por exemplo, 0<x<1é dividido em duas partes 0<e x<1na próxima linha.

Responder1

Existem algumas estratégias que você pode usar: colocar a expressão entre colchetes ou encaixotá-la, mas em alguns casos isso pode produzir caixas muito cheias. Na maioria das vezes a melhor solução é reformular o texto onde a fórmula aparece para que não ocorra quebra de linha.

Um exemplo onde as coisas dão certo:

\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}

insira a descrição da imagem aqui

E outro, onde as coisas dão errado (observe as caixas cheias demais):

\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}

insira a descrição da imagem aqui

Na situação ilustrada no último exemplo, \sloppy poderia ser usado para evitar caixas ruins, mas agora algumas linhas de texto serão esticadas e o espaçamento entre palavras ficará feio:

\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}

insira a descrição da imagem aqui

Comoegrégiamenciona ambos em um comentário \mbox{$0<x<1$}e ${0<x<1}$fará com que os espaços ao redor <não compartilhem seu alongamento e encolhimento com a linha em que terminam; $0<\nobreak x<1$é melhor para evitar quebra de linha; possivelmente adicione \nobreaktambém após o segundo <.

A melhor solução, na maioria das vezes, é (como já disse) tentar reformular o texto onde aparece a fórmula para que não ocorra quebra de linha.

Responder2

Você poderia definir o \relpenaltyvalor mais alto (já é bastante alto; 500 na verdade). Por exemplo,

\relpenalty=10000

tentaria nunca romper com o caráter matemático da classe relacional. Na verdade, eu estava tendo dificuldade em fazer o TeX quebrar uma linha com o exemplo $0<x<1$com a configuração padrão, então, para testá-lo, configurei a penalidade para zero.

Outra penalidade matemática inline é \binoppenaltypara caracteres matemáticos de classe binária, então, para sugerir ao TeX que tente nunca quebrar a matemática inline, pode-se definir ambos como 10000. É claro que o TeX terá grandes problemas para encontrar pontos de quebra de linha se você tiver muitos cálculos matemáticos longos com essa configuração.

informação relacionada