Existem regras de boas práticas para escrever LaTeX limpo? Algo como PEP8 para Python. Exemplos:
- espaços ou tabulações (não é um troll);
- quantas colunas antes de agrupar (80 para Python compatível com PEP8);
- algo sobre comentários;
- etc.
Responder1
A resposta curta aqui é simples: “Não, não existem regras semelhantes ao PEP8 ou similares”.
Para uma resposta mais longa, talvez valha a pena dividir as fontes LaTeX em dois tipos:
- Documentos (a maior parte do trabalho para a maioria das pessoas)
- Pacotes e outros ‘códigos’
É claro que há alguma sobreposição, pois pode ser necessário 'fazer alguma codificação rapidamente' em um preâmbulo, mas a 'natureza' de um arquivo de origem geralmente é um ou outro caso.
Para documentos, o número de autores que irãosempreveja que a fonte é pequena: o alvo principal é a saída composta. Portanto, cabe realmente ao(s) indivíduo(s) envolvido(s) a forma como expõem as suas contribuições.
Para o 'código', pode-se argumentar que há resultados ligeiramente diferentes, pois há pelo menos o potencial para uma leitura/reutilização mais ampla das fontes. Entretanto, a experiência prática sugere que a maioria dos pacotes tem apenas uma pessoa escrevendo o código, mesmo para material amplamente utilizado. Onde há exceções, mais obviamente o kernel, mas também coisas como beamer
ou biblatex
, o 'tamanho da equipe' tende a ser pequeno e normalmente é possível um acordo informal. (Normalmente, uma pessoa iniciou as coisas para que alguma posição possa ser acordada com base no cumprimento do que quer que tenha feito.) Aqui, é claro, poderíamos usar o .dtx
formato do código, o que levaria a resultados de 'comentários' muito diferentes para os casos em que a fonteéo pacote (compare o kernel com etoolbox
, por exemplo).
O único lugar onde existe um guia de estilo para código é paraexpl3
: a equipe temescrito com base na maneira como o código tendeu. Mesmo aí, porém, não há sentido de que o código que não segue essas regras seja “ruim”: é muito mais sobre ocontente.
É importante lembrar que TeX é uma linguagem de expansão macro, e isso torna a implementação de 'verificadores' automáticos difícil ou impossível: veja Guia de estilo automático para LaTeX?.