0 votos
542 visualizações

Estou criando uma saída para uma série de conteúdos de Bíblia de estudo. Neste layout, todas as notas são parágrafos alinhados à esquerda com recuo pendente (hanging indent).

O que me deixa intrigado é como dizer ao PTXPrint / TeX que não quero que ocorra um tipo de balanceamento de linhas. Você pode ver o que quero dizer no screenshot abaixo para 1.8 e 1.22. Há bastante espaço em algumas linhas para mais texto.

Se eu definir o estilo desses parágrafos como Justificado, esse problema desaparece (o máximo de texto possível é encaixado na linha).

imagem

Tentei mexer no Maximum Ragged Space (Espaço Desalinhado Máximo) para o estilo desses parágrafos. Uma mudança mínima é possível (exceto se eu aplicar zero, então o PTXPrint basicamente justifica o texto).

imagem

O que mais eu precisaria fazer para que as linhas preencham o máximo possível da medida antes de quebrar para a próxima linha?

Tradução automática de English
PTXprint por [Expert]
(290 pontos)
| 542 visualizações

9 Respostas

0 votos

Olá @jklassen! Sim, isso certamente parece estranho e eu não tenho certeza (ainda) do que pode estar causando isso. Tentei ajustar as configurações para outra Bíblia de Estudo e descobri que funciona como eu esperaria (admitindo que com layout de 2 colunas para as \ef notas de rodapé estendidas, em vez de layout de 1 coluna):

Me pergunto se você tentou aumentar o Maximum Ragged Space (Espaço Desalinhado Máximo) para algo como .65 para ver se isso permite que a linha inferior tenha menos palavras e a linha superior se preencha um pouco mais, como você esperava.

Se isso não resolver, teremos que esperar para ver o que @David_Gardner ou @Martin_Hosken têm a dizer sobre isso.

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

Eu ecoaria a sugestão de Mark: aumente o espaço desalinhado máximo até 0.5 ou mais. Ele tentará mais soluções de quebra, mas ainda tentará encaixar o texto no menor número de linhas possível, e fazer isso também permitirá mais espaço na última linha do parágrafo.

O código atualmente permite que a última linha de um parágrafo inclua um extra de 'desalinhamento' de espaço, e ele realmente não gosta de se aproximar do limite desse desalinhamento. Como você viu, se você não permitir que o 'desalinhamento' seja perceptível, está pedindo para justificar o texto. Na verdade, está pedindo para totalmente justificar o texto, incluindo a última linha.

Se você disser \tracing{j} no seu arquivo ptxprint-mods.tex, seu log incluirá muitas coisas extras, e as linhas interessantes para esta pergunta parecerão algo assim:

s@tsideskips p (p). 0.0pt/0.0pt, pf=0.0pt plus 1.0fil
s@tsideskips s1 (s1). 0.0pt plus 158.52597pt/0.0pt plus 158.52597pt, pf=0.0pt

Os primeiros 2 indicam quanto recuo mais desalinhamento é permitido à esquerda / à direita.

Esse último é o \parfillskip e é uma medida de quanto espaço é permitido na última linha do parágrafo (até infinito para p, e nenhum espaço extra para s1 centralizado). (talvez isso seja um pouco duro?? Basicamente diz que não deve se importar se a última linha for a mais longa)

s@tsideskips q2 (q2). 21.68065pt/0.0pt plus 79.26299pt, pf=0.0pt plus 79.26299p
t

Para q2 desalinhado à direita, estou vendo que o desalinhamento é 79.26pt, e a última linha pode ter um extra de 79.26 pontos, então ele ficará muito infeliz em permitir mais de 169.5 pontos de espaço na linha final.

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

Obrigado, Mark, e David, por considerar isso, e pelos detalhes sobre como isso opera no TeX, David.

Eu tenho parágrafos para notas para os quais criei um marcador chamado \zefp. Configurei isso como um recuo pendente (fator de recuo à esquerda de 0.18em, e -0.18 para a primeira linha).

O tamanho da página é A4 (210mm de largura - margens de 14mm = 28 no total) – então uma largura de texto de 182mm

Se eu deixar o 'max ragged space' (espaço desalinhado máximo) padrão de 0.25, o log mostra:

s@tsideskips zefp (zefp). 10.40648pt/0.0pt plus 129.46004pt, pf=0.0pt plus 129.
46004pt

(cerca de 45mm de espaço máximo na última linha)

Se eu definir o max ragged space para 0.65, o log mostra:

s@tsideskips zefp (zefp). 10.40648pt/0.0pt plus 336.59294pt, pf=0.0pt plus 336.
59294pt

(cerca de 118mm de espaço máximo na última linha)

o que, acho, explica por que o TeX não está permitindo que mais da segunda linha da nota para 1:8 permaneça na primeira linha.

imagem

Como posso configurar as coisas para que as mesmas propriedades permitidas para 'p' (da sua descrição, David, de pf=0.0pt plus 1.0fil) sejam aplicadas ao meu \zefp inventado? Quero também permitir espaço 'infinito' na última linha.

Tradução automática de English
0 votos

Hmm. Tentei responder por e-mail, mas foi devolvido.

O 1.0 fil é (atualmente) aplicado a parágrafos justificados. Tenho a sensação de que poderíamos precisar de alguma configuração extra.

Não entendo por que 0.65 não é grande o suficiente. Talvez seja comparado à largura da coluna em vez da largura atual?? Mas de qualquer forma, parece que você provavelmente quer aumentar o 'desalinhamento' para 1.0 (ou até 2? Para o TeX, é apenas matemática, mas espero que a interface do usuário não fique feliz e você provavelmente terá que usar o ptxprint-mods.sty para colocar isso).

Se isso não funcionar, o que você provavelmente pode fazer é adicionar um hook (gancho) algo assim:

\sethook{zefp}{end}{\hskip 0pt plus 1fil }

(assumindo que eu tenha acertado a sequência de parâmetros)

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

Obrigado por explorar isso comigo, David.

Eu não consigo definir o parâmetro acima de 1. Tentei isso, e não causa nenhuma mudança.

Tentei o hook. (Eu precisei inverter a posição e a ordem do marcador :slight_smile: )

\sethook{end}{zefp}{\hskip 0pt plus 1fil}

mas sem mudança. Tenho certeza de que o hook funciona porque posso simplesmente inserir algum texto lá e ele aparece – e se eu inserir texto extra suficiente, parte do texto na primeira linha deste parágrafo começa a descer para a segunda (para ficar mais balanceado).

Tradução automática de English
por [Expert]
(290 pontos)
+1 voto

Isso é frustrante. O TeX de fato descarta coisas no final das linhas (para que, por exemplo, você não termine com espaços no final das linhas em texto justificado), e acho que é isso que está acontecendo aqui. Então, mais algumas tentativas:

% Option1: set the paragraph fill to what we want, then end the paragraph before the code can put it back (this might break things):
\sethook{end}{zepf}{\parfillskip=0pt plus 1fil \endgraf} 
% Option 2: No line break, Lots of stretch, no line break and then a zero width line(which will neither be visible nor discarded).
\sethook{end}{zepf}{\penalty 10000\hskip 0pt plus 1fil \penalty10000\vrule width 0pt depth 0pt height 1pt}
Tradução automática de English
por (1,1k pontos)
0 votos

Obrigado, David.

Ambas essas sugestões estão funcionando! Mantive a Opção 1 habilitada.

Tradução automática de English
por [Expert]
(290 pontos)
0 votos

Obrigado a cada um de vocês por perseguirem isso até que uma solução pudesse ser descoberta. MH ficou muito perto da solução idêntica há alguns dias, mas sem aquele \endgraf final, não parecia fazer nenhuma diferença. Estou feliz que agora temos um caminho concreto para seguir.

Também estou me perguntando se precisamos de um interruptor (switch) em algum lugar no PTXprint que faria com que isso fosse o comportamento padrão para um ou mais (uma lista de) marcadores.

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

O problema com o \endgraf ali é que ele causará problemas em certas circunstâncias. Em texto normal, provavelmente está bem, mas apenas provavelmente.

Acho que a 'única verdadeira solução' pode ser ter mais opções de justificação:
1: justificado, 2: alinhado à direita, 3: direito-rígido,
4: centralizado, 5: centralizado-rígido, 6: esquerda,
7: esquerda-rígida, 8: esquerda-preenchida, 9: esquerda-rígida-preenchida
(onde rígido = espaços rígidos)
imagem

Adicionei as opções 'rígidas', pensando que algumas pessoas podem assumir que isso vai junto com as opções de desalinhamento à esquerda/direita.

Note que não há maneira que eu conheça de ter qualquer 'preenchimento' extra na última linha de um parágrafo alinhado à direita, é por isso que as linhas em 2,3 são diferentes das 6,7.

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

Agradeço pelas soluções, David. Obrigado.

Se me permitem, vou compartilhar uma opinião aqui, embora seja subjetiva. Acho que Alinhamento: Esquerda deveria significar a configuração rígida, por padrão. Acho que é isso que provavelmente é antecipado por uma pessoa que escolhe texto não justificado – e apresenta o texto na forma que potencialmente é mais legível (o espaçamento consistente das palavras sendo a preocupação nessa visão). Claro, uma borda esquerda (ou direita) muito desalinhada pode ser uma preocupação de legibilidade, o que pode estar relacionado a um comprimento de linha estreito. Suavizar isso poderia ser feito através de hifenização, e talvez através de uma opção para “suavizar a borda não justificada / desalinhada?” que aplicaria alguma esticabilidade aos espaços entre palavras para criar uma borda mais suave.

Novamente - meus pensamentos sobre padrões. Tenho certeza de que há outras opiniões. De qualquer forma - ter uma maneira simples de alcançar 'rígido' será bastante útil.

Tradução automática de English
por [Expert]
(290 pontos)

Se você realmente, de verdade, quer o máximo possível em cada linha, independentemente de como fica a aparência, você pode definir \adjdemerits=0 para impedir que o TeX tente equilibrar linhas encolhidas ao lado de linhas esticadas. E, se estiver usando hífens, defina \doublehyphendemerits=0 e \finalhyphendemerits=0. Por padrão, todos são definidos como 10000, o que parece muito, mas, dado que se trata de deméritos (que são quadrados de penalidades), isso equivale a cerca de 100 em termos de penalidade.
Mas, assim como ao mexer com sons em um sintetizador, é muito fácil fazer alterações que pioram a aparência! Você perguntou como colocar o máximo possível em uma linha! Que sua saída feia caia sobre a sua própria cabeça :slight_smile:

Tradução automática de English

Perguntas relacionadas

0 votos
1 resposta 20 visualizações
Li o documento "Boas Práticas para Glossários" (https://support.bible/3952/glossary-best-practices?show=3952#q3952 ... claramente 'errado', eu certamente apreciaria! Obrigado, Paul
Paul 642 perguntada Out 21, 2025
0 votos
1 resposta 91 visualizações
Para a gravação, gostaria de entregar a cada leitor seu(s) capítulo(s) para ler em páginas separadas, de modo ... isso? Acharia isso muito útil! Obrigado por qualquer ajuda! Roland
Roland 245 perguntada Mar 10, 2025
0 votos
5 respostas 529 visualizações
Estou tentando imprimir um diglota, mas estou terminando com parágrafos órfãos. Parece que o PTXprint está colocando parágrafos ... ?) Screenshot 2021-04-22 1638341301 922 129 KB
anon043588 110 perguntada Abr 22, 2021
0 votos
2 respostas 310 visualizações
Saudações! Eu sempre atualizo para a versão mais recente do PTXprint, pois é simples e útil. Agora estou ... pode me ajudar a resolver isso. Agradeço. Abençoados, anon952029
David Tuallawt 287 perguntada Dez 4, 2021
0 votos
3 respostas 287 visualizações
Hello, Anytime I use the \ip Introduction - Paragraph marker in Paratext, the words turns grey. I would be grateful if you can help me correct it. Thank you. anon878803
anon878803 132 perguntada Nov 8, 2019
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Make every effort to keep the unity of the Spirit through the bond of peace.
Ephesians 4:3
3,047 perguntas
6,007 respostas
5,672 comentários
2,027 usuários