O LaTeX fornece \listfiles
, que para um arquivo fonte específico fornece:
scrreprt.cls 2016/06/14 v3.21 KOMA-Script document class (report)
scrkbase.sty 2016/06/14 v3.21 KOMA-Script package (KOMA-Script-dependent bas
ics and keyval usage)
scrbase.sty 2016/06/14 v3.21 KOMA-Script package (KOMA-Script-independent b
asics and keyval usage)
keyval.sty 2014/10/28 v1.15 key=value parser (DPC)
scrlfile.sty 2016/06/14 v3.21 KOMA-Script package (loading files)
tocbasic.sty 2016/06/14 v3.21 KOMA-Script package (handling toc-files)
scrsize11pt.clo 2016/06/14 v3.21 KOMA-Script font size class option (11pt)
typearea.sty 2016/06/14 v3.21 KOMA-Script package (type area)
chngcntr.sty 2009/09/02 v1.0a change counter resetting
etoolbox.sty 2017/01/02 v2.4 e-TeX tools for LaTeX (JAW)
...
As linhas entre *File List*
e ***********
serãoidêntico, independentemente do arquivo fonte (após o preâmbulo), distribuição e sistema operacional, desde que cada pacote/classe esteja atualizado? Se não, o que será diferente?
Estou distribuindo um cls
arquivo e quero fornecer um script que analise o arquivo de log, para garantir que os usuários estejam usando pacotes atualizados. Eu sei que posso escrever um regex como:
^\\s*([a-z]+\\.(?:(?:cls)|(?:sty))) ([12][0-9]{3}/[0-9]{2}/[0-9]{2}) (v?\\s?(?:er)?[0-9]+(?:\\.[0-9a-z]+)?)?.*$
mas me pergunto se posso apenas verificar as linhas brutas (contendo .sty
e .cls
arquivos).
(Se meu regex estiver errado, sinta-se à vontade para me avisar também :-).)