Demonstrações práticas de compilação multi-formato (PDF, DOCX, EPUB) e scripts de automação com Pandoc.


🗺️ Fluxo de Transformação via Árvore de Sintaxe Abstrata (AST)

flowchart LR
    INPUT["Entrada (Markdown, GFM, LaTeX)"]
    --> READER["Pandoc Reader"]
    READER --> AST["Árvore de Sintaxe Abstrata (AST)"]
    AST --> LUA["Filtros Lua Customizados (Opcional)"]
    LUA --> WRITER["Pandoc Writer"]
    WRITER --> OUTPUT["Saída (PDF, DOCX, EPUB, Man Pages, HTML5) ⚡"]

    style INPUT fill:#ede7f6,stroke:#512da8,stroke-width:2px
    style READER fill:#fff3e0,stroke:#ff9800,stroke-width:2px
    style AST fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
    style LUA fill:#fff9c4,stroke:#fbc02d,stroke-width:1.5px
    style WRITER fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
    style OUTPUT fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff

📄 Exemplo 1: Makefile para Automação de Builds com Pandoc

# Makefile para Documentação Técnica
SRC = $(wildcard docs/*.md)
TITLE = "Manual Corporativo de Boas Práticas"
AUTHOR = "Engenharia de Plataforma"

all: pdf docx epub

pdf:
	pandoc $(SRC) -o dist/manual.pdf \
		--toc --toc-depth=3 -N \
		--pdf-engine=weasyprint \
		--metadata title=$(TITLE) \
		--metadata author=$(AUTHOR)

docx:
	pandoc $(SRC) -o dist/manual.docx \
		--toc --toc-depth=2 \
		--metadata title=$(TITLE)

epub:
	pandoc $(SRC) -o dist/manual.epub \
		--toc \
		--epub-cover-image=assets/capa.png \
		--metadata title=$(TITLE)

clean:
	rm -rf dist/*

📄 Exemplo 2: Linha de Comando Direta para Geração de Artigo em PDF

pandoc artigo.md \
  --from=markdown+yaml_metadata_block \
  --to=pdf \
  --pdf-engine=xelatex \
  --variable geometry:margin=2.5cm \
  --variable fontsize=11pt \
  --variable mainfont="DejaVu Sans" \
  -o artigo_publicado.pdf