Skip to content

Tabelas duplicadas e mal posicionadas no PDF quando estão em subseção aninhada #1313

Description

@Rossi-Luciano

Descrição do problema

No gerador de PDF (packtools/sps/formats/pdf), quando uma <table-wrap> está dentro de uma subseção (<sec> aninhada dentro de outra <sec>), ela é duplicada no documento gerado: uma cópia aparece despejada em bloco logo após o título da seção-pai (antes de qualquer parágrafo), e outra cópia aparece de novo na posição natural, dentro da subseção.

Isso acontece porque extract_body_data (pipeline/xml.py) itera xml_tree.findall('.//sec'), que retorna cada seção aninhada como entrada própria, e cada uma busca .//table-wrap em todos os seus descendentes. Uma tabela dentro de uma subseção é assim coletada tanto pela seção-pai quanto pela subseção. O mecanismo de deduplicação que já existe para figuras (seen_fig_keys) não tinha equivalente para tabelas.

Passos para reproduzir o problema

  1. Gerar o PDF de um artigo real com pelo menos uma tabela dentro de uma subseção (ex.: a5.xml do corpus de testes, seção "2. MATERIALS AND METHODS" com subseções internas).
  2. Abrir o PDF gerado e observar a página logo após o título da seção principal.

Comportamento esperado

Cada tabela deve aparecer uma única vez, na posição em que é citada no texto da subseção correspondente. Nenhuma tabela deve ser despejada antes do primeiro parágrafo da seção.

Screenshots ou vídeos

Image

Anexos

NA

Ambiente utilizado

packtools branch master (commit 04444662), pipeline packtools/sps/formats/pdf, geração via LibreOffice + python-docx.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions