Como fazer um “exemplo mínimo”

Nosso conselho sobre como fazer perguntas sugere que você prepare um “exemplo mínimo” de comportamento de falha, como uma amostra para enviar com sua pergunta. Se você tiver um problema em um documento de duzentas páginas, pode não estar claro como prosseguir desse problema para uma demonstração sucinta do mesmo.

Existem duas abordagens válidas para esta tarefa: construir e desconstruir.

Building up começa com uma estrutura básica de documento (para LaTeX, teria \documentclass, \begin{document}, \end{document}) e acrescenta coisas. A primeira coisa a adicionar é um parágrafo ou algo assim em torno do ponto real onde o problema ocorre. (Pode ser difícil encontrar a linha real que está provocando o problema. Se o problema original for um erro, revisar “a estrutura de erros do TeX” pode ajudar.)

Observe que há coisas que podem dar errado em uma parte do documento como resultado de algo em outra parte: os mais comuns são problemas na tabela de conteúdos (de algo em um título de seção ou o que quer que seja) ou na lista de ‹alguma coisa› (de algo em uma \caption). Nesse caso, inclua o título da seção ou a legenda (a legenda provavelmente requer o ambiente de figure ou table ao redor da mesma, mas não precisa da figura ou da tabela em si).

Se esse arquivo que você construiu já mostrar o problema, então você já tem o suficiente. Caso contrário, tente adicionar pacotes; o ideal é um arquivo com apenas um pacote nele, mas você pode descobrir que o pacote culpado não vai nem carregar corretamente se você não tiver carregado outro pacote. (Outro caso comum é quando o pacote A só falha quando o pacote B foi carregado.)

Hacking down começa com o documento completo e remove coisas até que o arquivo não falhe mais (então, é claro, coloca der volta a última coisa removida). Não se esqueça de remover qualquer pacote desnecessário, mas a principal dificuldade é escolher o que remover do corpo do documento; este é o oposto do problema acima, no método de “construção”.

Se você adicionou um pacote (ou mais de um), adicione \listfiles ao preâmbulo também: dessa forma, o LaTeX vai gerar uma lista dos pacotes que você usou com os números de versão correspondentes. Estas informações podem ser evidências úteis para quem estiver tentando lhe ajudar.

O processo de ‘construção’ e, em certa medida, o de ‘desconstrução’, pode ser apoiado por coisas disponíveis no CTAN:

E se nenhum desses derivados de desconstrução de seu documento apresentar seu erro? Seja como for, não publique o documento inteiro: se você puder, talvez seja útil disponibilizar uma cópia na web em algum lugar: as pessoas provavelmente entenderão se for impossível … ou desaconselhável, no caso de algo confidencial. Se o documento inteiro for realmente necessário, pode ser que seu erro seja um excesso de algum tipo; o melhor que você pode fazer é postar o código "em torno" do erro e (é claro) o texto completo do erro.

Pode parecer que todo esse trabalho seja bastante excessivo para preparar uma simples postagem. Há duas respostas para isso, ambas baseadas na relativa ineficiência de fazer uma pergunta na Internet.

Primeiro, preparar um documento mínimo frequentemente leva você à solução, sem todo o rebuliço de perguntar e procurar respostas.

Em segundo lugar, seu principal objetivo é obter uma resposta o mais rápido possível; um exemplo bem preparado tem uma boa chance de atrair uma resposta "em uma única passagem": se a pessoa que estiver respondendo à sua postagem descobrir que ela precisa de mais informações, você tem que encontrar esse pedido, postar novamente e esperar que seu benfeitor produza uma segunda resposta.

Considerando tudo isso, um bom arquivo de exemplo pode poupar-lhe um dia, por um esforço investido de meia hora, talvez.

Grande parte da orientação acima, com uma redação diferente, também pode ser lida na web em http://www.minimalbeispiel.de/mini-en.html; a fonte desse artigo pode ser encontrada em http://www.minimalbeispiel.de/, tanto em Alemão quanto em Inglês.

blindtext.sty
blindtext
lipsum.sty
lipsum
minimal.cls
Distribuída como parte de latex
mwe.sty
mwe

This answer last edited: 2013-01-09


Do you have any question? Ask on: latex.net.br - we love qood questions!