
Recentemente li meus \jobname.log
arquivos para detectar erros de tipografia.
Me deparei com isso:
Overfull \hbox (6.8925pt too wide) in paragraph at lines 650--651
[][]\T1/cmtt/m/n/10 plot([][][]<functie>[], []col=<kleur>[], []lwd=<breedte van
de geplotte lijn>[], []type=<type plot,
[]
Underfull \hbox (badness 10000) in paragraph at lines 650--651
\T1/cmtt/m/n/10 zie hierboven>[], []xlab="<eenheid op de x-as>"[], []ylab="<een
heid op de y-as>"[], []main=[]
[]
No documento, esta parte do documento se parece com
.
Neste caso, existem três opções para mim:
- Usar
\linebreak
antesa parte de\textcolor{orange}{main=...
. - Use
\linebreak
no meio demain=...
(solução atual). - Não use quebras de linha.
Todas as três soluções produzem uma mensagem tanto de hbox insuficiente quanto de excesso de capacidade.
Existe uma maneira de incentivar o LaTeX a quebrar linhas no ambiente para corrigir pelo menos um desses erros? Ou dimensione o texto, ajuste caixas de caracteres, etc.
Li as perguntas existentes e todas sugerem quebra de linha. Neste ambiente, isso pode ser muito solicitado, mas eu gostaria pelo menos de explorar possibilidades de corrigir isso em um caso especial (se tal solução especial existir - dedos cruzados).
Responder1
Isso decorre do fato de que a fonte da máquina de escrever ( \ttfamily
) não possui nenhum estiramento ou redução entre palavras. Como tal, normalmente não funciona bem para obter uma aparência justificada. Stefan escreveu uma bela entrada de blog neste TeXblog:Justificação completa com fonte de máquina de escrever. Para completar, duplicarei a discussão aqui:
\documentclass[a4paper,10pt]{article}
\renewcommand*\familydefault{\ttdefault}
\begin{document}
\begin{description}
\item[slant] \the\fontdimen1\font
\item[inter-word space] \the\fontdimen2\font
\item[inter-word stretch] \the\fontdimen3\font
\item[inter-word shrink] \the\fontdimen4\font
\item[extra space] \the\fontdimen7\font
\item[xspaceskip] \the\xspaceskip
\item[hyphenchar] \the\hyphenchar\font
\end{description}
\end{document}
Observe o 0.0pt
alongamento e a redução entre palavras.
A sugestão é adicionar algum alongamento/redução entre palavras, e você pode querer fazer isso em geral para o lines
ambiente na captura de tela do código. Porém, sem um visual de como lines
está escrito, só posso sugerir que você adicione o seguinte ao início do ambiente:
\fontdimen3\font=0.2em% inter-word stretch
\fontdimen4\font=0.1em% inter-word shrink
e talvez brincar com os valores.
Responder2
\documentclass{article}
\usepackage[english]{babel}
\usepackage{geometry,blindtext}
\usepackage{everysel}
\renewcommand*\familydefault{\ttdefault}
\begin{document}
\section{Default typesetting}
\blindtext
\section{With hyphenation}
\hyphenchar\font=`\-% to allow hyphenation
\blindtext
\section{With hyphenation and justification}
%\EverySelectfont{%
\fontdimen2\font=0.4em% interword space
\fontdimen3\font=0.2em% interword stretch
\fontdimen4\font=0.1em% interword shrink
\fontdimen7\font=0.1em% extra space
%\hyphenchar\font=`\-% to allow hyphenation
%}
\blindtext
\end{document}