fix: espaçamento entre linhas mais compacto em legenda e referência - #1328
Merged
Rossi-Luciano merged 1 commit intoSep 8, 2026
Merged
Conversation
SCL Table Heading (legenda de figura/tabela) e SCL Paragraph Reference nao tem line_spacing proprio no template; a legenda so parecia um pouco mais apertada que o corpo por usar fonte 7pt vs 8pt (efeito proporcional da fonte, nao espacamento proposital), e a referencia usa a MESMA fonte 8pt do corpo, entao rendia identica ao texto corrido - sem nenhuma diferenciacao. Medido em px (200dpi) contra o corpus real: legenda da Figura 2 de a13.xml tinha pitch ~29.5px entre linhas, igual proporcionalmente ao corpo; SCL Affiliation (que ja tem line_spacing=1.0 explicito no template) mede ~26px. Aplicando paragraph_format.line_spacing = 1.0 direto no codigo (mesmo padrao ja usado em table.py pra celula de tabela) na legenda de tabela, legenda de figura e cada paragrafo de referencia, a legenda cai pra ~25.5px - equivalente ao das afiliacoes. Setado antes do try/except de estilo em ambas as legendas, pra nao depender de o nome do estilo resolver. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X8r2LRJ3PGTT9vLaPtb373
pitangainnovare
approved these changes
Sep 5, 2026
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

O que esse PR faz?
Reduz o espaçamento entre linhas de legendas (figuras e tabelas) e de cada referência bibliográfica no
pdf_generator, para não ficarem tão "soltas" quanto o texto do corpo.SCL Table Heading(usado nas legendas) eSCL Paragraph Referencenão têmline_spacingpróprio no template. A legenda só parecia um pouco mais compacta que o corpo por usar fonte 7pt (vs 8pt do corpo) — efeito proporcional da fonte, não espaçamento proposital. A referência usa a mesma fonte 8pt do corpo, então renderizava com espaçamento idêntico ao texto corrido, sem nenhuma diferenciação visual.Medi em pixels (200dpi) contra o corpus real: a legenda da Figura 2 de
a13.xmltinha ~29.5px de distância entre linhas, proporcionalmente igual ao corpo.SCL Affiliation(que já temline_spacing=1.0explícito no template, de um fix anterior) mede ~26px. Apliqueiparagraph_format.line_spacing = 1.0direto no código — mesmo padrão já usado emtable.pypara célula de tabela — na legenda de tabela, legenda de figura e em cada parágrafo de referência. Resultado: a legenda cai para ~25.5px, equivalente ao das afiliações.Onde a revisão poderia começar?
packtools/sps/formats/pdf/renderer/docx/table.py—_add_caption_paragraphpacktools/sps/formats/pdf/renderer/docx/figure.py—_add_captionpacktools/sps/formats/pdf/pipeline/docx.py—docx_references_pipeEm ambas as legendas, o
line_spacingé setado antes dotry/exceptque aplica o nome do estilo, para não depender de o estilo resolver.Como este poderia ser testado manualmente?
Conferir uma legenda de figura/tabela com 2+ linhas e uma referência com 2+ linhas.
Algum cenário de contexto que queira dar?
Achado revisando visualmente o corpus de teste de 26 artigos reais (
layout_examples_rafael/corpus/). Ao investigar, descartei um terceiro item do mesmo lote (afiliação de autor): medi e confirmei queSCL Affiliationjá temline_spacing=1.0explícito no template, então já estava correto — o pitch medido (~26px) já é mais apertado do que a fonte 7pt sozinha explicaria.Screenshots
Quais são os tickets relevantes?
Nenhuma issue aberta associada; achado durante revisão visual do corpus de teste do gerador de PDF.
Referências
N/A
Segurança da informação (NSI.04)
Este PR manipula dados sensíveis ou pessoais (LGPD)?
Este PR altera autenticação, autorização, controle de acesso ou gerenciamento de sessão?
Este PR introduz, atualiza ou remove dependências de terceiros?
Este PR foi validado pelo pipeline de segurança (SonarQube / Trivy)?
Este PR concatena, monta ou executa comandos SQL, HTML ou JavaScript a partir de entrada externa?
Este PR expõe novos endpoints, telas ou serviços?
Algum segredo, senha, chave ou token está sendo adicionado ao código-fonte?
🤖 Generated with Claude Code
https://claude.ai/code/session_01X8r2LRJ3PGTT9vLaPtb373