LaTeX proporciona \listfiles
, que para un archivo fuente en particular proporciona:
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)
...
¿Las líneas entre *File List*
y ***********
serán?idéntico, independientemente del archivo fuente (después del preámbulo), la distribución y el sistema operativo, siempre que cada paquete/clase esté actualizado. Si no, ¿qué será diferente?
Estoy distribuyendo un cls
archivo y quiero proporcionar una secuencia de comandos que analice el archivo de registro para garantizar que los usuarios estén utilizando paquetes actualizados. Sé que puedo escribir una expresión regular como:
^\\s*([a-z]+\\.(?:(?:cls)|(?:sty))) ([12][0-9]{3}/[0-9]{2}/[0-9]{2}) (v?\\s?(?:er)?[0-9]+(?:\\.[0-9a-z]+)?)?.*$
pero me pregunto si puedo verificar las líneas sin formato (que contienen los archivos .sty
y .cls
).
(Si mi expresión regular es incorrecta, no dudes en hacérmelo saber también :-).)