LaTeX предоставляет \listfiles
, который для конкретного исходного файла обеспечивает:
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)
...
Будут ли линии между *File List*
и ***********
будутидентичный, независимо от исходного файла (после преамбулы), дистрибутива и операционной системы, при условии, что каждый пакет/класс обновлен? Если нет, то что будет отличаться?
Я распространяю cls
файл и хочу предоставить скрипт, который анализирует файл журнала, чтобы гарантировать, что пользователи используют самые последние пакеты. Я знаю, что могу написать регулярное выражение вроде:
^\\s*([a-z]+\\.(?:(?:cls)|(?:sty))) ([12][0-9]{3}/[0-9]{2}/[0-9]{2}) (v?\\s?(?:er)?[0-9]+(?:\\.[0-9a-z]+)?)?.*$
но мне интересно, могу ли я просто проверить необработанные строки (содержащие .sty
и .cls
файлы).
(Если мое регулярное выражение неверно, не стесняйтесь сообщить мне об этом :-).)