Acabei de iniciar o LaTeX, então esta pode ser uma pergunta boba, mas estou recebendo um aviso "Overfull \hbox(---pt too wide) detectado" e o pdf compilado mostra este texto "se a soma das densidades das bordas no patch (x', y') é maior que o limite" (linha 3 do código) em uma única linha e esta linha está ultrapassando os limites. Idealmente, essa linha deveria ter sido impressa em duas linhas. Eu tentei linebreak, mas isso não funciona aqui. Como corrigir isso?
\begin{equation}
I^p(x',y') = \left\{\begin{array}{rl}
1 & \text{if the sum of edge densities in the patch (x', y') is greater than threshold}\\
0 & \text{otherwise}\\
\end{array}\right.
\end{equation}
Responder1
Você não pode quebrar linhas \text
, mas pode usar um \parbox
; ajuste a largura para se adequar.
\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum}% for mock text
\begin{document}
\lipsum*[3]
\begin{equation}
I^p(x',y') =
\begin{cases}
1 & \parbox[t]{.5\textwidth}{\raggedright
if the sum of edge densities in the patch
$(x', y')$ is greater than threshold
}\\[4ex]
0 & \text{otherwise}
\end{cases}
\end{equation}
\lipsum[4]
\end{document}
Responder2
Com mathtools
e stackengine
, você tem um código muito simples. O cases*
cuida da chave esquerda e a segunda coluna do ambiente sai automaticamente do modo matemático:
\documentclass{article}
\usepackage{mathtools, stackengine}
\begin{document}
\begin{equation}\def\stackalignment{l}
I^p(x',y') =\begin{cases*}
1 & \stackunder{if the sum of edge densities in the patch}{$(x', y')$ is greater than threshold} \\
0 & otherwise\\
\end{cases*}
\end{equation}
\end{document}