tolerância em formato de coluna única e duas colunas

tolerância em formato de coluna única e duas colunas

Percebo isso tolerance = 200para um layout de coluna única na classe de artigo, mas tolerance = 9999para um layout de duas colunas. Mas em ltxgrid.cls, tolerancepermanece em 200 para \onecolumngridou \twocolumngrid.

A tolerância maior na classe de artigo de duas colunas resolve uma série de problemas nas linhas mais estreitas do modo de duas colunas, mas pode deixar espaços muito amplos.

Então, minhas perguntas são: por que o valor de duas colunas é definido tão alto na classe de artigo e qual é o valor desejável toleranceem um modo típico de duas colunas?

Responder1

articlefaz

\if@twocolumn
  \twocolumn
  \sloppy
  \flushbottom
\else
  \onecolumn
\fi

então a tolerância que você vê é do uso de \sloppy, você pode usar o mesmo comando em outros contextos de colunas estreitas ou conforme discutido em vários lugares, por exemplo

Qual é o significado de \exigente, \sloppy, \emergencystretch, \tolerance, \hbadness?

Você pode considerar uma versão \sloppyque não aumenta \tolerancetanto e depende mais de \emergencystretch.

Responder2

Como David disse, não existe um valor ideal real aqui. Tudo depende do conteúdo real em um ambiente restrito e da sua disposição de corrigir manualmente problemas individuais, reescrevendo o texto, adicionando pontos de hifenização que o TeX não encontrou e assim por diante.

Se você definir a tolerância alta, o TeX terá mais pontos de interrupção possíveis e possivelmente encontrará um que funcione em um caso problemático. Como resultado, você obtém uma ou algumas linhas mal espaçadas. Se você definir a tolerância mais baixa, mas usar um estiramento de emergência mais alto, então Tex inicialmente encontrará apenas quebras de linha "melhores", ou seja, aquelas que não estão tão espaçadas, mas se isso não der uma solução, em vez de ter uma linha mal espaçada você obterá mais (ou mesmo todas) linhas "bastante mal" espaçadas, pois esse trecho de emergência é adicionado a todas as linhas, fazendo com que as linhas pouco espaçadas pareçam melhores em geral. O que funciona melhor é uma questão de gosto, mas nenhum dos dois é realmente ótimo.

Normalmente defino a tolerância para algo em torno de 2.000-3.000 com um valor pequeno para alongamento de emergência adicional e estou preparado para corrigir qualquer problema restante manualmente, mas se você precisar de uma solução totalmente automática (ou quase), então algo como \sloppy ou um valor muito alto para O Emergencystetch (ou uma combinação adequada de alta tolerância + um Emergencystretch correspondente para que aproximadamente o mesmo conjunto de quebras seja encontrado) é a única possibilidade.

informação relacionada