Voltar para publicações
Jun 18, 2026
11 min de leitura

LaTeX: como eu gastei 100 horas pra economizar 5 minutos

Aboli o Word (o que complica quando o pessoal do escritório pede pra ajustar a petição)

Procrastinação é um negócio mágico né? Pra não gastar ali 5 minutos conferindo endereçamento, qualificação, número do processo, se tá tudo certinho com a formatação, eu acabei gastando horas automatizando tudo isso.

Bom, não foi só por conta da formatação, claro. Provavelmente (não me lembro ao certo) esse projeto nasceu em alguma semana que eu tinha um prazo bem importante. Aí em vez de fazer o que eu devia fazer (que era me livrar daquele prazo o quanto antes), eu passei a semana inteira mexendo com LaTeX e deixei o prazo pro último dia, obviamente.

Confesso também que nunca fui um grande fã de editar documentos no Word. Quem usa sabe: você mexe uma imagem $1\text{ cm}$ para o lado e o documento simplesmente implode.

Sempre assim

Foi nesse contexto aí que eu decidi migrar toda a minha produção de petições, procurações e contratos para o LaTeX.

Para quem não sabe (caso de 99,99% da população mundial, imagino), o LaTeX (pronuncia-se Latek, de acordo com os mais pedantes) não é um editor visual que nem o Word. É um sistema em que você escreve o seu texto em formato de código e deixa que o compilador faça o trabalho pesado de gerar um PDF impecável.

Gastei pelo menos umas 100 horas batendo a cabeça na parede para programar a minha própria classe de documentos e meu pacote de automação? Gastei. Mas agora, os 5 ou 10 minutos que eu perdia revisando formatação, ajustando margens ou corrigindo qualificação de cliente em cada peça foram totalmente terceirizados para o código.

Se valeu a pena, matematicamente falando? Provavelmente não, já que com certeza vai me dar um siricutico em algum momento e vou gastar mais umas 100h mudando tudo antes de conseguir economizar esse tempo com as minhas petições. Mas foi divertido de qualquer forma, então, honestamente, não foi tempo perdido. E o resultado visual é de uma elegância que o Word sequer sonha em alcançar (na minha humilde opinião).

O Escritório na Nuvem: Como eu escrevo

Como eu já escrevi no meu post anterior sobre como eu rodo um home-server, eu aboli a dependência de muitos softwares e estou rodando quase tudo na base do open-source.

Hoje, para redigir minhas peças, eu só preciso abrir o navegador. Funciona até mesmo pelo celular (não recomendo, mas dá). Meu servidor roda o Code-server (que é o VS Code rodando direto na web), equipado com a extensão LaTeX Workshop.

Tenho o ambiente de desenvolvimento perfeito de qualquer lugar do mundo, com controle de versão (usando Git) e compilação em tempo real. A única coisa que preciso fazer é me concentrar no que realmente importa: o conteúdo.

A Engrenagem por trás do Sistema

O sistema funciona em cinco partes fundamentais:

  1. A Classe Estética (peticao.cls): Um arquivo que define basicamente tudo que é estético. As margens, as fontes, espaçamento, parágrafos, seções, timbrado, e assim vai.

  2. A Automação (legalcore.sty): A parte mais legal. É aqui que o compilador do LaTeX calcula plurais, concordâncias e faz o preenchimento automático de acordo com o tipo de petição que eu escolho no meu main.tex.

  3. O Banco de Dados de Cada Processo (dados_processo.tex): Um arquivo que eu edito uma única vez para cada caso, e é ele que contém as informações mais sensíveis (como a qualificação das partes envolvidas, por exemplo).

  4. Os Preâmbulos(inicial.tex, contestacao.tex, etc.): Criei uma vez ao meu gosto cada tipo de petição que eu uso em um processo. Inicial, contestação, réplica, alegações finais, apelação, agravo, contrarrazões, contrminuta, REsp, RE, EDl, Impugnação, Exceção de Pré-executividade e assim vai.

  5. A Petição em Si (main.tex): Aqui eu basicamente escolho qual o preâmbulo a ser usado e já parto para a escrita da peça. Não preciso me preocupar com mais nada. Para criar uma nova peça, é só criar um novo main.tex (que pode ter outros nomes, pra ficar claro o que é cada petição, obviamente) na mesma pasta e já partir para a escrita.

Na prática, o fluxo de trabalho de um novo caso se resume a preencher uma ficha rápida de cadastro do cliente e do processo. O arquivo dados_processo.tex fica mais ou menos assim:

% dados_processo.tex

\newcommand{\juizo}{1ª Vara Cível da Comarca de Tangamandápio--SP}
\newcommand{\processo}{1002345-67.2026.8.26.0100}
\newcommand{\acaoNome}{Ação de Cobrança}
\newcommand{\cidade}{Tangamandápio--SP}
\newcommand{\represento}{ativo} % ativo / passivo

\addPoloAtivo[%
nome={João dos Santos},
genero={m},
tipo={pf},
docA={123.456.789-00},
docB={123.456.789-00},
endereco={Rua das Flores, n.º 10, Centro, em \cidade},
email={joao@email.com}
]

\addPoloPassivo[%
nome={Empresa de Cobranças S/A},
genero={f},
tipo={pj},
docA={00.000.000/0001-00},
endereco={Av. Paulista, n.º 1000, Centro, São Paulo--SP},
email={contato@empresa.com}
]

\input{advogado.tex}

Depois que preencho isso uma única vez, eu nunca mais digito o nome, CPF ou endereço do João. O sistema se encarrega de injetar essas informações onde for necessário.

Daí é só editar o main.tex, compilar e partir pro abraço. Petição perfeitamente formatada, sem erros bobos como um “João da Silva, já qualificada”, faltar um circunflexo em “fulano e sicrano vêm” ou rolar um “nesses termos, pede deferimento” quando tem mais de uma parte. O legalcore.sty já lida com isso automaticamante, enquanto o peticao.cls já me entrega formatado.

Usando IA sem medo da LGPD

Tem ainda um verdadeiro “pulo do gato” dessa arquitetura, e o maior subproduto de segurança que eu poderia ter criado.

Hoje em dia, usar ChatGPT, Gemini, Claude e afins para polir argumentos, sugerir melhoras no texto, validar aquela ideia “genial” que você teve antes de você passar vergonha no processo, é um caminho sem volta. Mas há um grave problema ético e legal: você nunca deve subir dados sensíveis de clientes para servidores de terceiros. Enviar o CPF, RG e o endereço do seu cliente para uma IA é uma infração grave de privacidade. Mesmo nos planos pagos!

Nessa estrutura que eu estou usando, isso aí não vai acontecer.

Como o texto da petição (main.tex) fica completamente desacoplado dos dados reais (dados_processo.tex), eu posso jogar o arquivo todo lá na IA e pedir para ela revisar a tese sem correr o menor risco de vazamento. Ou melhor ainda, posso pedir para um agente de IA (o Claude Code mesmo funciona que é uma maravilha aqui) fazer o trabalho pesado de pesquisa e escrita. O que chega para a IA só tem comandos vazios como \listarPoloAtivo ou \listarPoloPassivo, nenhum dado pessoal.

Para a IA, a petição se parece com um modelo genérico. A mágica acontece quando tudo é compilado no meu home-server, que faz o “merge” e monta a peça final utilizando todas as peças acima. A privacidade tá no design (sem querer, mas está, kkkk).

Inteligência Gramatical Automática

Como eu já dei uma palhinha acima, outra coisa legal é a inteligência do sistema no tocante às concordâncias. Quem nunca esqueceu de mudar “o autor” para “a autora” ou deixou passar um “requerem” no singular que deveria estar no plural?

O pacote legalcore.sty faz essa bruxaria usando umas linhas de código mais parrudas em LaTeX (expl3).

O sistema conta o número de pessoas cadastradas no polo ativo e checa o gênero de cada uma. A partir daí, termos como \qualificado e \verboVem se flexionam sozinhos.

  • Se for apenas o João: o sistema escreve “…qualificado nos autos, vem…”

  • Se for a Maria: “…qualificada nos autos, vem…”

  • Se forem o João e a Maria: “…qualificados nos autos, vêm…”

Além disso, para mudar a peça inteira de uma Petição Inicial para uma Apelação, eu só preciso alterar uma única palavra no preâmbulo do meu main.tex:

\newcommand{\tipopeca}{inicial} % Altere para 'apelacao' e a estrutura muda sozinha!

O compilador lê essa alteração, puxa o arquivo estrutural correspondente (inicial.tex ou apelacao.tex) e altera o preâmbulo de endereçamento e o estilo da qualificação instantaneamente. O endereçamento de uma inicial vai para o juiz de primeiro grau; o da apelação cria a folha de rosto dirigida ao juiz a quo e gera automaticamente as razões recursais direcionadas ao Tribunal.

Alta Costura Documental: A Anatomia de uma Peça

No fim das contas, o arquivo onde eu realmente gasto as unhas é limpo e vai direto ao ponto… Veja como é a estrutura básica do meu main.tex:

\documentclass{peticao}

\input{dados_processo.tex}
\newcommand{\tipopeca}{inicial} % inicial, contestacao, simples, etc.
\newcommand{\fundamentoLegal}{art. 319 do CPC}

\begin{document}

\gerarcabecalho

\section{Dos Fatos}

\p O Requerente celebrou com a Requerida, em \textbf{15 de janeiro de 2026}, Contrato de Prestação de Serviços de Desenvolvimento de Software\doc{Contrato de Prestação de Serviços assinado digitalmente pelas partes.}, cujo objeto consistia na arquitetura, desenvolvimento e implantação de um sistema de automação de fluxo de trabalho.

\p Conforme pactuado na Cláusula Quarta do referido instrumento, restou estabelecido que o valor total da contratação seria quitado mediante o pagamento de 3 (três) parcelas iguais e consecutivas, representadas por boletos bancários com vencimentos predeterminados.

\p Ocorre que, após a entrega integral e satisfatória da primeira etapa do projeto\doc{Termo de Aceite e Entrega Parcial da Fase 01, emitido sem qualquer ressalva pela contratante.}, bem como o adimplemento regular da primeira parcela, a Requerida simplesmente [...]

\section{Do Direito}

\p A força obrigatória dos contratos (*pacta sunt servanda*) determina que aquilo que foi livremente estipulado pelas partes deve ser fielmente cumprido. Nesse sentido, dispõe expressamente o art. 397 do Código Civil:

\begin{citacao}
	"O inadimplemento da obrigação, positiva e líquida, no seu termo, 	constitui de pleno direito em mora o devedor."
\end{citacao}

\p Trata-se da caracterização da mora [...]

\section{Do Demonstrativo de Débito}

\p Para fins de clareza processual e em estrita observância aos ditames legais, apresenta-se o demonstrativo discriminado do valor atualizado da dívida, incidindo juros de mora de 1\% ao mês e correção monetária pelo índice oficial, conforme planilha abaixo:

\begin{tabela}{l l}
	Coluna A & Coluna B \\
	Item 1 & Dado 1 \\
	Item 2 & Dado 2 \\
\end{tabela}

\section{Dos Pedidos}

\p Diante de todo o exposto, requer a Vossa Excelência:

\begin{enumerate}
	\item A designação de audiência de conciliação ou mediação, nos termos do art. 334 do CPC, ou, caso a Requerida decline expressamente, o regular prosseguimento do feito;
	\item A citação da Requerida[...]
\end{enumerate}

\p Protesta provar o alegado por todos os meios de prova em direito admitidos, especialmente pela produção de prova documental suplementar e depoimento pessoal do representante legal da Requerida.

\p Dá-se à causa o valor de R\$ 12.345,67 (doze mil trezentos e quarenta e cinco reais e sessenta e sete centavos).

\gerarassinatura

\end{document}

↑ Isso vira isso ↓

Observe o comando \p no início dos parágrafos. Eu configurei o LaTeX para numerar automaticamente os parágrafos. Ao meu ver dá um ar mais profissional na petição, e também facilita as menções (seja ao vivo numa audiência, seja pelo juiz depois na sentença).

Para dar o toque final, o sistema também gerencia as notas de rodapé de forma automática com o comando \doc{}. Ao escrever \doc{Contrato de prestação de serviços.}, o LaTeX cria uma nota de rodapé automática indicando o número exato do anexo correspondente. Não tem mais aquele problema de ficar renumerando (ou deixando como doc. xxxx para só alterar na peça final). Pode excluir ou adicionar à vontade, na hora que o LaTeX gerar o pdf, vai estar certinha a numeração.

Conclusão: Loucura ou Libertação?

Loucura.

A curva de aprendizado inicial é chata e assusta. Hoje com IA é mais fácil, claro. Imagino o pessoal que usava isso aí antes disso, consultando no Stack Overflow… esses eram mais loucos ainda.

Dito isso, é bem legal a paz de espírito de saber que a sua formatação nunca vai quebrar, que seus dados de clientes estão 100% blindados de qualquer IA, e que o resultado final será um PDF impecável, com tipografia padrão livro de biblioteca, não tem preço.

Acho que pra mim é um caminho sem volta.