Pedindo ao látex para se esforçar mais para não dividir a matemática embutida em várias linhas

Pedindo ao látex para se esforçar mais para não dividir a matemática embutida em várias linhas

Não gosto quando minha matemática embutida é dividida em várias linhas. Vou conviver com isso quando for preciso, mas prefiro que não aconteça, mesmo que isso signifique que em algum momento a justificativa seja um pouco pior. Desejo comunicar isso ao látex.

Se fossem palavras, eu definiria \hyphenpenaltyalgo maior. Não tenho certeza se isso se aplicaria à matemática ou não, mas de qualquer forma não quero mudar isso para palavras, apenas para matemática.

Exemplo:

\documentclass{article}
\begin{document}
    \begin{minipage}{3.8cm}
    Recall that the meaning of
    $P( w_j \mid w_i)$  is actually  that 
    $P(W_j{=}w_j \mid W_i {=} w_i)$.
    By not using softmax, with its normalising denominator this means that we expect that:
    $\sum_{\forall w_j \in V} P(w_j \mid w_i) \neq 1$ (except by coincidence).
    \end{minipage}
\end{document}

Saídas:

Não é um ótimo resultado

o que não é ótimo, veja como aquela matemática que caberia em uma linha é dividida em duas?

Melhor se eu quebrar a linha manualmente:

Melhor, mas ainda não ótimo

(Melhor ainda é possível com um pouco de reformulação, mas isso está além da capacidade do látex :-D)

Responder1

Você pode colocar em uma caixa aquilo que não deseja que seja quebrado. Claro, isso é uma intervenção manual, mas pode ser a melhor nas circunstâncias.

\documentclass{article}
\begin{document}
    \begin{minipage}{3.8cm}
    Recall that the meaning of
    \mbox{$P( w_j \mid w_i)$}  is actually  that 
    \mbox{$P(W_j{=}w_j \mid W_i {=} w_i)$}.
    By not using softmax, with its normalising denominator this means that we expect that:
    \mbox{$\sum_{\forall w_j \in V} P(w_j \mid w_i) \neq 1$} (except by coincidence).
    \end{minipage}
\end{document}

insira a descrição da imagem aqui

Observe que o conteúdo de uma caixa não estará sujeito a nenhuma expansão ou compactação com base em restrições de margem. Portanto, se \mboxfossem removidos do primeiro objeto matemático, o espaçamento matemático interno seria ajustado para estar em conformidade com as restrições de margem.

Grampo:

insira a descrição da imagem aqui

ALTERNATIVAMENTE, o uso de \nobreaktambém pode ser usado para evitar manualmente uma quebra na matemática. Aqui, uma única adição \nobreakapós \mido segundo elemento matemático corrige tudo... por enquanto. Mas acrescente outra palavra aqui ou ali e você terá que intervir novamente.

\documentclass{article}
\begin{document}
    \begin{minipage}{3.8cm}
    Recall that the meaning of
    $P( w_j \mid w_i)$  is actually  that 
    $P(W_j{=}w_j \mid\nobreak W_i {=} w_i)$.
    By not using softmax, with its normalising denominator this means that we expect that:
    $\sum_{\forall w_j \in V} P(w_j \mid w_i) \neq 1$ (except by coincidence).
    \end{minipage}
\end{document}

insira a descrição da imagem aqui

Responder2

A quebra automática de linha no modo matemático é controlada pelos parâmetros \relpenaltye \binoppenalty. As quebras só são possíveis após símbolos de relação ou símbolos de operação binária, ou mediante penalidades explícitas inseridas pelo usuário.

Você pode inibir completamente a quebra automática de linha configurando (talvez localmente para um grupo)

\relpenalty=10000
\binoppenalty=10000

e posteriormente você pode especificar uma quebra de linha viável com \linebreakou \nolinebreakjunto com um argumento opcional adequado.

Se você definir valores inferiores a 10.000, tornará as quebras de linha menos desejáveis. Os valores padrão são 500 e 700, respectivamente.

Responder3

insira a descrição da imagem aqui

\documentclass{article}

\begin{document}
    \begin{minipage}{3.8cm}%\RaggedRight
    Recall that the meaning of
    $P( w_j{\mid}w_i)$ is actually that
    \mbox{$P(W_j{=}w_j{\mid}W_i{=}w_i)$}.
    By not using softmax, with its normalising denominator this means that we expect that:
    \mbox{$\sum_{\forall w_j \in V} P(w_j{\mid}w_i) \neq 1$} (except by coincidence).
    \end{minipage}
\end{document}

usar ambientes justificados em ambientes estreitos leva a uma solução pouco atraente. veja se o uso do pacote RaggedRightfrom raged2eé aceitável:

\documentclass{article}
\usepackage{ragged2e}
\begin{document}
    \begin{minipage}{3.8cm}\RaggedRight
    Recall that the meaning of
    $P( w_j{\mid}w_i)$ is actually that
    \mbox{$P(W_j{=}w_j{\mid}W_i{=}w_i)$}.
    By not using softmax, with its normalising denominator this means that we expect that:
    \mbox{$\sum_{\forall w_j \in V} P(w_j{\mid}w_i) \neq 1$} (except by coincidence).
    \end{minipage}
\end{document}

insira a descrição da imagem aqui

Responder4

A solução mais fácil que consigo pensar é inserir a diretiva \raggedrightno início do arquivo minipage. Numa coluna estreita, tentar justificar completamente o material provavelmente produzirá lacunas entre palavras bastante grandes e pouco atraentes. É melhor desistir da justificativa invocando \raggedright, que também suprime a hifenização - e a quebra de linha dentro do material matemático embutido.

insira a descrição da imagem aqui

\documentclass{article}
\begin{document}
\begin{minipage}{3.8cm}
    \raggedright
    Recall that the meaning of
    $P(w_j \mid w_i)$  is actually  that 
    $P(W_j=w_j \mid W_i = w_i)$.
    By not using softmax, with its normalising denominator 
    this means that we expect that:
    $\sum_{\forall w_j \in V} P(w_j \mid w_i) \neq 1$ 
    (except by coincidence).
\end{minipage}
\end{document}

informação relacionada