Если вы разбираете стандарт по тексту с сайта-агрегатора, вы почти наверняка разбираете редакцию до поправок. Мы наткнулись на это случайно, а потом проверили и убедились, что это правило, а не исключение.

Как выглядит проблема

ГОСТ 13616-97 задаёт сортамент прессованных прямоугольных профилей из алюминия: около шестисот позиций, у каждой номер профиля, толщина, ширина, площадь сечения, теоретическая масса и диаметр описанной окружности.

Последняя колонка полезнее, чем кажется. Диаметр описанной окружности вокруг прямоугольника это его диагональ, то есть корень из суммы квадратов сторон. Значит таблица содержит проверку саму в себе: если напечатанный диаметр не сходится с диагональю, со строкой что-то не так.

Прогоняем проверку и получаем три подозрительные строки из шестисот. Одна из них, профиль 401440 размером 51 на 102 мм: напечатан диаметр 125 мм, диагональ даёт 114.

Что оказалось

В PDF официального издания, на отдельной странице перед основным текстом, напечатана поправка из информационного указателя стандартов ИУС № 3 за 2000 год. В ней написано: для профиля 401440 в графе «диаметр описанной окружности» читать 114 вместо 125.

То есть геометрическая проверка нашла ровно то, что Росстандарт исправил за двадцать шесть лет до этого.

Но интереснее вторая часть той же поправки. Она исключает из стандарта двадцать три профиля: номера 400543-400545, 400550, 400552, 400553, 400554, 400556-400560, 400563-400567, 400569, 400572 и 401256-401259. Из-за этого в действующем ряду толщин нет 19, 20, 21 и 22 мм.

В веб-копии, которую отдаёт первая страница поиска, эти двадцать три профиля стоят как действующие. Никаких пометок. Человек, который возьмёт оттуда толщину 20 мм и заложит её в проект, будет ссылаться на позицию, отменённую четверть века назад.

Проверили на втором стандарте

ГОСТ 3916.1-2018 на фанеру. В официальном издании перед текстом лежит поправка ИУС № 2 за 2020 год: она меняет предельные отклонения по толщине в таблице 2, у шлифованной фанеры. В веб-копиях её тоже нет.

Два стандарта из двух. Мы не делали выборку и не искали специально, оба взялись из текущей работы.

Почему так происходит

Агрегаторы выкладывают распознанный текст основного документа. Поправка это отдельный лист, часто вклейка, у неё своя вёрстка и своя нумерация страниц. При автоматической обработке она либо теряется, либо попадает в конец файла как отдельный фрагмент, никак не связанный с таблицей, которую правит.

Плюс поправки выходят в информационных указателях, а не как новые редакции: стандарт формально остаётся тем же ГОСТ 13616-97, дата не меняется, и по обозначению отличить исправленный текст от неисправленного нельзя.

Что с этим делать

Практический вывод простой и неприятный: обозначения стандарта недостаточно. Нужен файл издания.

  1. Берите PDF издания, а не текст со страницы. В нём поправки идут перед основным текстом, обычно сразу после титульных листов.

  2. Просматривайте первые три-пять страниц глазами. Автоматика их пропускает: там нет ни таблиц привычной структуры, ни ключевых слов, по которым их найдёт поиск в тексте.

  3. Ищите в самом документе слова «ИУС», «Поправка», «Изменение». Это разные вещи: изменение меняет редакцию и получает номер, поправка исправляет опечатку и номера не получает.

  4. Если стандарт задаёт таблицу с избыточными числами, стройте проверку по ним. У сортаментов такая избыточность есть почти всегда: площадь сечения проверяется массой, масса плотностью, габарит диагональю. Одна формула на строку ловит и опечатки издания, и ошибки распознавания.

И отдельно про распознавание

Таблицы в изданиях стандартов лежат сканами. Текстовый слой в PDF получается из OCR, и в таблицах он рассыпается: колонки перемешиваются, потому что распознавание идёт по строкам, а колонка с примечанием на несколько ячеек сразу ломает порядок.

Мы для себя решили это так: страницу с таблицей рендерим в картинку и читаем таблицу как таблицу, а не как поток текста. Извлекать текстовый слой из таких PDF бессмысленно, он даёт ложную уверенность: числа вроде на месте, но приписаны не к тем строкам.

Проверка, которая ловит именно это, устроена так же, как выше: если после разбора масса не сходится с площадью сечения, а площадь с габаритами, строка разобрана неверно, и не важно, чем именно.

Наши разобранные таблицы с указанием издания, поправок и того, чем каждая строка проверена, лежат открыто

Если найдёте расхождение, напишите. Проверять чужие числа полезнее, чем верить своим.