Escrevendo um pacote: Melhores práticas em relação às dependências

Escrevendo um pacote: Melhores práticas em relação às dependências

Algumas dependências podem ser óbvias e necessárias para o funcionamento básico de um pacote. Mas e os recursos secundários que exigiriam o carregamento de pacotes externos adicionais? Para esclarecer: entendo que 'adicionar muitos recursos' é um erro comum para iniciantes. Não sou de forma alguma um desenvolvedor experiente, mas também não estou considerando recursos completamente arbitrários.

Para dar alguns exemplos:

  • um novo ambiente contém um campo (opcional) para uma data. Isso pode ser definido como "hoje", fixado em alguma data definida pelo usuário ou totalmente excluído. Isso exigiria o pacote datetime.

  • Da mesma forma, um campo para uma lista de abreviações. Isso exigiria o pacote glossários, que parece ser um pacote bem grande para carregar se o usuário não precisar dele.

  • Eu gostaria de fornecer um determinado estilo de página com este pacote, mas deixo para o usuário decidir se deseja usá-lo. Isso exigiria o pacote fancyhdr.

  • e mais alguns.

Minhas perguntas então são:

  • Estou me preocupando muito com a otimização e devo prosseguir com dependências para recursos interessantes?

  • Posso carregar esses pacotes condicionalmente, por exemplo, colocando "RequirePackage" apenas dentro da(s) macro(s) dependente(s)? Ou através de uma opção de pacote?

  • Posso adicionar suporte para esses pacotes caso o usuário decida carregá-los sozinho? Qual a melhor forma de informá-los sobre isso?

  • Devo simplesmente remover completamente esses recursos interessantes?

informação relacionada