0 votos
169 visualizações

Considere esta linha bastante terrível em um texto totalmente justificado:

Você pode ver como ela foi truncada, ou pelo menos há espaço extra à direita. Isso ocorre porque desativei o espaçamento entre letras para este exemplo. Não há uma quebra de linha melhor (para os propósitos desta discussão) e, portanto, não há onde inserir espaço extra, resultando em uma caixa subpreenchida. Mas quem faria isso? Certamente eles ativariam o espaçamento entre letras. Então, vamos ativar uma quantidade mínima: 0,5%:

Que nojo. Isso é muito mais do que a extensão máxima de 0,5%. O que está acontecendo? Bem, o XeTeX precisa decidir o que fazer com o espaçamento em uma quebra de linha muito ruim como esta. Na verdade, ele tem uma passagem especial que, em essência, diz ao quebra-linhas: você tem um extra de 1in por linha (definido via \emergencystretch=1in por padrão), então, se você puder justificar com base nisso, vá em frente. E 0,5% adiciona exatamente o suficiente de espaço entre caracteres para nos manter abaixo da necessidade de 1in de espaço extra. Agora, a linha é esticada e toda aquela extensão de emergência é distribuída entre todas essas extensões, independentemente de qualquer máximo que possamos ter definido para a extensão, e o espaço entre caracteres parece super largo e espaçado.

É o melhor que podemos fazer? Considerem-se abençoados todos aqueles que trabalham com 'palavras' mais curtas e não precisam lidar com a falta de quebras entre palavras. Felizmente, este texto está marcado com quebras de palavra que são convertidas em ZWSP. O ZWSP é definido como tendo o espaçamento entre caracteres, então podemos ser espertos e desativar o espaçamento entre letras mantendo o espaço entre caracteres para o ZWSP. Fazemos isso adicionando a linha:

```

\def\intercharspace{\leavevmode\nobreak\hskip\intercharskip}

```

ao nosso ptxprint-mods.tex (já que desativar os espaços entre letras comenta essa definição no arquivo .tex do trabalho). Agora, o que obtemos se desativarmos o espaçamento entre letras novamente?

Hmm, não muito melhor, mas pelo menos o texto é quebrado em palavras em vez de clusters de grafemas. Isso pode ou não ser preferível. Mas não há uma solução elegante. Trata-se de fazer o melhor de um trabalho ruim.

Comentários são bem-vindos, desde que você não diga: então não quebre ali! (O que, claro, é a solução certa, mas pode nem sempre estar disponível dado o tempo que temos)

Tradução automática de English
PTXprint por (656 pontos) | 169 visualizações

2 Respostas

0 votos

Se estou entendendo corretamente...
1. Normalmente, o ZWSP tem o mesmo espaço que o espaçamento entre letras, para que as palavras unidas por ele não fiquem mais próximas do que o espaçamento das letras.
2. Atualmente, desativar o espaçamento entre letras também ignora a definição de \intercharspace, de modo que o ZWSP tem, na verdade, largura zero.
3. Para o acima, você está sugerindo que fazer o ZWSP ter algum espaço é o pior da situação ruim.
4. E para fazer isso, você está definindo a macro \intercharspace como não vazia, (já que essa macro é sempre usada na definição do ZWSP), mas como o espaçamento entre letras está desativado, ela não está sendo usada na posição entre caracteres.
OK, acho que agora entendi!
 

Tradução automática de English
por (1,1k pontos)
0 votos

E, em verdadeira moda de novela, para terminar com uma nota de alívio para todos aqueles que sofrem com a visão de tal feiura. Reduzindo a largura do texto para 95% da largura do caractere, obtemos a próxima palavra:

uf! Mas, em outra ocasião, a palavra poderia ser mais longa e a compressão necessária começaria a ficar absurda. Então, nem sempre você pode se sair bem com isso.

Além disso, a discussão sobre a extensão de emergência não estava estritamente correta. Sim, a extensão de emergência é adicionada à caixa da linha para reduzir sua 'ruindade'. Mas a razão pela qual precisávamos que o espaçamento entre caracteres fosse de pelo menos 0,5% é que o ptxprint tem um bug que faz com que qualquer valor abaixo disso se torne 0. Esse bug FOI CORRIGIDO! grr.

Tradução automática de English
por (656 pontos)
editado por

Perguntas relacionadas

0 votos
3 respostas 271 visualizações
O PTXprint tem feito muitas coisas maravilhosas por nós ultimamente, compondo belos livros de Escrituras em grandes ... compactado e estou enviando para o endereço de suporte.
jeffh 1,4k perguntada Mar 28, 2023
0 votos
2 respostas 243 visualizações
The project we are working on is failing the Quotation rule basic check because, it would seem, of where the period is ... . How do we configure Paratext to allow quoted words .
MSEAIT_LT 478 perguntada Dez 12, 2018
0 votos
1 resposta 314 visualizações
A project I'm working with has extensive footnotes including Greek, Hebrew, Arabic and English words inside of them ... it possible to exclude footnotes from these sorts of checks?
mnjames 1,9k perguntada Jul 20, 2018
0 votos
1 resposta 52 visualizações
Mailto: <*Emails are not allowed*> PTXprint [2.7.17] - Error! Failed to create: MSB_BookofMark_XXC_ptxp.pdf ! File ... various settings on the Advanced tab. PTXprint Version 2.7.17
MnKN 134 perguntada Set 13, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Accept the one whose faith is weak, without quarreling over disputable matters.
Romans 14:1
3,048 perguntas
6,007 respostas
5,672 comentários
2,028 usuários