paper2tex — Conversor de Artigos Acadêmicos Word para LaTeX
Converte artigos acadêmicos .docx em documentos LaTeX prontos para publicação, adaptados a qualquer tema de conferência ou journal (IEEE, ACM, Springer LNCS, Elsevier, NeurIPS, ICML, CVPR, MDPI, Nature).
Etapa Obrigatória 0: Esclarecimento sobre Figuras
Antes de executar o pipeline de extração, o agente DEVE SEMPRE perguntar ao usuário:
"Você possui uma pasta dedicada
figures/com imagens de alta resolução ou vetoriais (ex.:./figures), ou devo extrair as imagens embutidas diretamente do documento Word? (Responda com o caminho da pasta ou simplesmente 'extrair')"
- Se o usuário responder
'extrair': Executepython -m scripts.extract input.docx work_dir/. O pipeline extrairá, normalizará e girará automaticamente todos os desenhos embutidos do.docx. - Se o usuário fornecer um caminho de pasta (ex.:
./figuresouC:/assets/figs): Executepython -m scripts.extract input.docx work_dir/ --figures-dir <caminho>. O pipeline corresponderá seus arquivos vetoriais de alta resolução (.pdf,.svg) e raster (.png,.jpg>= 300 DPI) às figuras do documento.
Início Rápido
Execute o pipeline completo de extração e montagem:
# 1. Verificar ferramentas do sistema
python -m scripts.preflight
# 2. Extrair conteúdo, matemática (OMML), tabelas, figuras e bibliografia
python -m scripts.extract input.docx work_dir/ [--figures-dir <caminho>]
# 3. Aplicar tema da conferência alvo (ou analisar template zip personalizado)
python -m scripts.template_spec "ieee-conference" work_dir/
# 4. Montar main.tex com subfiguras cientes do template e fluxo contínuo de floats
python -m scripts.assemble work_dir/
# 5. Compilar e executar verificação visual de qualidade
python -m scripts.compile work_dir/main.tex
python -m scripts.visual_qa work_dir/main.pdf work_dir/
Estágios do Fluxo de Trabalho
ESTÁGIO 0: CONSULTA DE FIGURAS → Perguntar ao usuário sobre pasta figures/ ou confirmar "extrair"
ESTÁGIO 1: PREFLIGHT → Verificar pandoc, tectonic/latexmk, lxml, Pillow, pymupdf
ESTÁGIO 2: PRÉ-PROCESSAMENTO → Remover alterações rastreadas, corrigir armadilha da fonte Symbol, mapear códigos de campo
ESTÁGIO 3: EXTRAÇÃO → Extratores paralelos para matemática OMML, tabelas, figuras, bib
ESTÁGIO 4: ESPECIFICAÇÃO DE TEMA→ Corresponder receita (IEEE/ACM/LNCS) ou pesquisar via Firecrawl
ESTÁGIO 5: MONTAGEM AST → Montagem determinística com subfiguras cientes do template e subfloats
ESTÁGIO 6: LOOP DE COMPILAÇÃO → Seleção de motor (XeLaTeX/pdfLaTeX) + correção automática de logs
ESTÁGIO 7: VERIFICAÇÃO → Diff de manifesto + auditoria de caracteres especiais + QA visual
ESTÁGIO 8: ENTREGA → Pasta submission/ (.tex, .bib, figures/, .pdf, report.md)
Garantias Arquitetônicas Centrais
- Preservação 100% Verbatim do Texto: Mapeia AST Markdown diretamente para LaTeX. Zero parágrafos perdidos, zero paráfrases, zero alteração de texto.
- Normalização de Rotação e Inversão OpenXML: Analisa
<a:xfrm rot="...">com precisão para evitar imagens giradas/invertidas. - Subfiguras Cientes do Template: Usa
\usepackage[caption=false,font=footnotesize]{subfig}com\subfloatparaIEEEtranesubcaptionparaacmart/llncs. - Decomposição de Legendas: Divide legendas compostas com
(a),(b),(c)em legendas individuais de painel. - Fluxo Contínuo de Floats: Elimina injeções disruptivas de
\FloatBarrierantes de seções. Floats são posicionados naturalmente ([!t],[b]) sem páginas em branco. - Matemática OMML Determinística: Equações do Word convertidas diretamente para LaTeX via MathML XSLT — nunca por reemissão de texto LLM.
Documentação e Referências
- Regras de Layout e Floats: Veja LAYOUT_GUIDELINES.md para dimensionamento de figuras, geometria de subfiguras e formatação de tabelas.
- Temas e Pesquisa Firecrawl: Veja THEMES_AND_TEMPLATES.md para receitas de locais e pesquisa de templates online.
- Referência Técnica: Veja REFERENCE.md para detalhes internos de extração, mapeamento de fontes de símbolos e taxonomia de correção automática do compilador.
- Instruções para Agentes: Veja AGENTS.md para instruções passo a passo para agentes.
- Guia de Configuração: Veja SETUP.md para configuração específica de plataforma (Antigravity, Claude Code, Cursor, OpenCode).