Большинством ГОСТов оформление больших документов регламентируется очень поверхностно. Отсутствие внятных и четких указаний создает трудности при оформлении документации. Кроме того, большой объем файлов вызывает дополнительные проблемы и неудобства при работе в редакторе, которые не связаны с требованиями ГОСТов, например, задержки выполнения операций.

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

1) с помощью разделов в одном большом файле. Этот метод решает все проблемы автоматизации форматирования, но имеет ряд недостатков:

  • длительное время выполнения элементарных операций или даже аварийное закрытие редактора с потерей данных, например, обновление полей в 500-страничном файле средней сложности в зависимости от производительности компьютера может занимать несколько минут;

  • в некоторых случаях из-за требований ГОСТ необходимо наличие одинаковых разделов, например, содержания, в каждой книге, а это сложно реализовывать в одном файле;

  • печатать такой документ очень неудобно;

2) разделение на несколько взаимосвязанных файлов, имеющих гиперссылки друг на друга. Этот метод лишен недостатков предыдущего метода, но его редактирование (и печать) требует одновременное наличие всех связанных файлов, даже если нужно внести правки только в один. Кроме того, обновление ссылок тоже занимает относительно длительное время. Справедливости ради, следует отметить, что ссылки можно и не обновлять, если они не меняются;

3) разделение на несколько независимых файлов. Этот метод лишен недостатков первых двух, но отсутствие гиперссылок может значительно увеличить объем ручной работы, а значит, и затраченного времени.

Ни один из вышеперечисленных методов не является универсальным. Выбор метода разбивки зависит от решаемой задачи и требований конкретного ГОСТа, а комбинация методов может обеспечить дополнительные гибкость и удобство. Кроме того, часто на выбор объема книг и метода разбивки могут влиять косвенные обстоятельства, например, возможности брошюровочной или печатной техники, требования заказчика и т.д.

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

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

На практике наилучшим выходом из такой ситуации является создание отдельной книги, в которой будет текст только одного разработчика с его оригинальными стилями, благо в ГОСТах отсутствует требование к минимальному количеству страниц в книге. Такой подход требует наименьшее количество усилий, но он не всегда применим, потому что количество страниц текста книги может быть и больше максимального, установленного ГОСТом. Кроме того, может потребоваться внедрить части этого текста в документ в виде подразделов, например, описание блока питания в общее описание оборудования, в которое он входит. Поэтому наводить порядок со стилями все-таки придется :(.

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

1) подготовить шаблон (в любом виде), в котором присутствуют ваши стили, используемые в конечном документе;

2) полностью скопировать в него редактируемый текст. При этом скопируются все стили исходного документа. Перед копированием текста MS Word вполне разумно спросит на предмет замены копируемых стилей на стиль «Обычный». Не соглашайтесь – это подстава;

3) заменить на свои все основные стили скопированного текста: стили всех используемых заголовков, текстов и подписей таблиц и рисунков. Предположим, что нужно заменить стиль «Перечень рисунков1» на стиль «Обычный». Для этого:

  • поставить курсор на строку со стилем «Перечень рисунков1» и/или выбрать в соответствующем меню в коллекции стилей этот стиль и пункт «Выделить все вхождения», чтобы выделить все строки с этим стилем:

  • применить стиль «Обычный» к выделенному тексту. При этом стиль «Перечень рисунков1» перестанет использоваться в этом документе;

4) для удаления всех неиспользуемых стилей, кроме встроенных, применить следующий макрос:

Sub DeleteUnusedStyles()

    Dim oStyle As Style 

    For Each oStyle In ActiveDocument.Styles

        'Only check out non-built-in styles

        If oStyle.BuiltIn = False Then

            With ActiveDocument.Content.Find

                .ClearFormatting

                .Style = oStyle.NameLocal

                .Execute FindText:="", Format:=True

                If .Found = False Then oStyle.Delete

            End With

        End If

    Next oStyle

End Sub

Этот макрос часто упоминается на различных ресурсах, но честь оригинальной разработки принадлежит Аллену Уайатту (Allen Wyatt, , дай Бог ему здоровья :)). По заверению разработчика он применим для версий MS Word 97, 2000, 2002 и 2003, но по моему́ (и не только) опыту успешно работает и в более новых версиях. Правда, на некоторых очень сложных текстах этот макрос отрабатывает не до самого конца, видимо, из-за каких-то внутренних ошибок самого редактора. Повторное применение макроса обычно решает этот неприятный нюанс;

5) к сожалению, обычно заменить все стили за один проход не получается. Поэтому нужно повторять шаги 3 и 4 несколько раз до получения приемлемого результата. В идеале можно избавиться от всех неиспользуемых стилей, но чаще достаточно их просто убрать из коллекции стилей, чтобы не мешали.

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

Заключение

Тема оформления больших текстовых документов по ГОСТам достаточно обширная и сложная из-за массы нюансов в требованиях стандартов и использования редакторов. В этой статье предложены некоторые решения для технической разбивки файлов на книги в редакторе MS Word. Надеюсь, они помогут техническим писателям сократить объем рутинных операций при разработке документации.

Комментарии (23)


  1. ArchDemon
    14.12.2022 09:45
    +1

    Хотелось бы видеть шаблон документов с уже готовыми стилями по ГОСТ. Ещё очень хотелось бы, чтобы это всё работало на любом ПК с Word, а не только на том, где есть шаблон и из него подтянулась вся нужная информация.


    1. a1exjob Автор
      14.12.2022 12:46

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

      всё работало на любом ПК с Word

      ЗдОрово, но не реально :(


      1. Surrogate
        15.12.2022 13:24

        А почему не реально ? Или вы имеете в виду что создатели могли использовать экзотические госто-подобные (aka "чертежные") шрифты, которые найдутся не на каждом ПК…

        PS На картинке SHX шрифты из AutoCAD, но иногда в документах MS Office встречается не меньшее количество ttf-шрифтов.


        1. a1exjob Автор
          15.12.2022 14:02

          Для того, чтобы все работало на любом ПК и без шаблона, требуется чтобы все необходимые компоненты уже были в установочном комплекте Word'а. При их отсутствии все равно потребуется доустанавливать шаблон и шрифты GostA/GostB.

          Думаю, что несколько некорректно сформулирована задача (или я не понял): требуется универсальный шаблон или чтобы все работало без него?


          1. Surrogate
            15.12.2022 15:35

            Думаю, что несколько некорректно сформулирована задача (или я не понял): требуется универсальный шаблон или чтобы все работало без него?

            Думаю, это вопрос не ко мне. Главная проблема, что пользователи верят в карго-культ "Чертежного шрифта"! И считают что без его магической силы документ не пройдет Экспертизы…


            1. a1exjob Автор
              16.12.2022 08:49

              У всех свои трудности :)


              1. Surrogate
                16.12.2022 14:55

                Если бы люди, у которых в голове такие "трудности" жили в своем сферическом СССР вакууме, где генерировали бы свои рассово-правильные документы и все их эстетические потребности были бы удовлетворены.

                Но люди с повышенными эстетическими потребностями могут оказаться вашими заказчиками/смежниками/подрядчиками и вам по долгу службы надо с ними обмениваться документацией в "редактируемом формате". И тут начинается лютый БДСМ


  1. shushu
    14.12.2022 10:23

    эм, а как же импортозамещение? :)


    1. a1exjob Автор
      14.12.2022 12:51

      В статье изложены общие подходы к решению проблем на примере Word, которые по идее должны работать в любом редакторе, поддерживающем стили.

      импортозамещение

      пока еще слово придумали (C) :)


  1. kapas19
    14.12.2022 11:30

    Документация MS говорит о том, что oStyle.BuiltIn = True — это встроенный стиль, а поэтому указанный скрипт должен удалить все определенные пользователем стили. Или я не прав?


    1. a1exjob Автор
      14.12.2022 12:56

      Авторство макроса указано в статье, поэтому этот вопрос можно задать разработчику напрямую. Но по факту макрос удаляет все неиспользуемые пользовательские стили.


  1. IvanPetrof
    14.12.2022 11:38

    Из того что я видел на Гос предприятиях, - народ тратит уйму времени на борьбу с Word, пытаясь его заставить правильно отображать таблички в разных ориентациях, рамочки, штампики нумерацию страниц 1,2,3,3а,3б,3б.1,4.. и вот эту вот всю махровую легаси, пришедшую со времён, когда это всё рисовали на бумаге руками.

    Ворд, естественно, всеми силами сопротивляется..

    P.s. И если когда победить Ворд не удаётся, в ход идёт ms Paint, в котором рисуется капризная табличка и тупо вставляется в ворд в виде картинки.

    Как тебе такое? Илон Маск?


    1. a1exjob Автор
      14.12.2022 13:13

      Действующие ГОСТы полны всевозможных анахронизмов, которые иногда вообще никак не победить. Например, в одном из ГОСТов (2017 года) написано, что абзацный отступ должен быть 6 знакомест. Это требование явно отсылает к временам печатных машинок с моноширинными шрифтами. И въедливый нормоконтролер на основании только одного этого требования может "положить" любой документ.

      Таблицы в разных ориентациях - это отдельная песня. Эти таблица широкая и требует альбомной ориентации страницы, то нарушается требование нумерации печатных страниц, потому что номер страницы должен находиться внизу печатной страницы, а страницы вшивается в документ в книжной ориентации. В электронном же представлении такой проблемы нет.

      Быстро проблему можно решить следующим образом, хотя и криво :(. Нужно сделать принтскрин таблицы в документе (ALT-PrtScn), обрезать и вставить ее в документ в виде картинки, развернув на 90 град., чтобы она была в книжной ориентации. Читатель документа будет не в восторге, но зато по строго ГОСТу.


      1. IvanPetrof
        15.12.2022 04:34
        +1

        Нужно сделать принтскрин таблицы в документе (ALT-PrtScn), обрезать и вставить ее в документ в виде картинки, развернув на 90 град

        Так в итоге и делают. Проблема в том, что при печати на бумаге настоящий текст может отличаться от спринтскриненого. И начинается новый виток борьбы с вордом.

        И после нескольких правок разными людьми, документ превращается в эдакого франкенштейна, который править с каждым разом всё труднее и труднее.

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

        И это помимо другой тупой работы типа ежемесячного составления отчётов о количестве составленных отчётов


        1. a1exjob Автор
          15.12.2022 08:24

          И после нескольких правок разными людьми, документ превращается в эдакого франкенштейна, который править с каждым разом всё труднее и труднее.

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

          при печати на бумаге настоящий текст может отличаться от спринтскриненого

          Вы имеете ввиду низкое разрешение скрина на печати?


          1. IvanPetrof
            15.12.2022 08:46

            Вы имеете ввиду низкое разрешение скрина на печати?

            И это тоже. Плюс на экране шрифт сглаживается с учётом особенностей монитора (ClearType) и в таком виде и попадает в картинку


            1. a1exjob Автор
              15.12.2022 09:05

              Да, есть такая проблема. Поэтому картинка выглядит замыленной.


  1. barmaley81
    14.12.2022 13:14

    latex и забыть про всё виды вордов.


    1. a1exjob Автор
      14.12.2022 13:18
      -1

      Latex - не панацея, как, впрочем, и любой редактор. Как и в любом деле, нужный инструмент выбирается в зависимости от решаемой задачи, а не задачи решаются тем инструментом, который хорошо знаешь.


      1. raven19
        14.12.2022 19:49
        -1

        Latex - не панацея, как, впрочем, и любой редактор.

        Абсолютно дилетантское замечание. Скорей всего, "Latex" будет более тяжелый для использования и начальной настройки специалистами типа "технический писатель", но вот сомневаться в его возможностях может только человек, который абсолютно не знает (не представляет), для чего и кем этот продукт был разработан!

        Единственно можно возразить, что переход с одной "технологии" на другую - тот ещё квест, но это уже совсем другая история...


        1. a1exjob Автор
          15.12.2022 08:14
          -1

          Т.е. Latex - это панацея. Серьезно? :)))

          Считаю ниже своего и других технических писателей достоинства отвечать на Ваши, очень мягко говоря, абсурдные утверждения. Кормить тролля - неблагодарное занятие.


          1. raven19
            15.12.2022 09:05
            -1

            Во-первых, я и не называл его панацеей! А вот по возможностям Latex на порядки выше Word-a (в отличие от Вас я не только понимаю, что означает каждый символ в вышеприведённом макросе, а и сам написал их далеко не один ... десяток). И приходилось оформлять и подгонять/подготавливать документы, которые занимали побольше лазерного диска (это пример объёма: материалы докладов конференции, например), так что в отличие от разных "технических писателей" материалом владею несколько получше некоторых.

            Так что VBA макросов приходилось писать для разных целей - достаточно, а готовить документы разного формата с разным содержимым, включая вставки, как Exel-таблиц в Word-документы и наоборот отнюдь не один и разного объёма, и вовсе не на 10 или 20 страниц.

            А некомпетентность никогда не называли достоинством! Да и не стоит вещать за всех технических писателей. Уж очень мне кажется, что не все из них такие "специалисты"!


  1. killeralex
    15.12.2022 10:53
    +3

    Вставлю свои 5 копеек. 1 Техпис (он же пистех) на проекте это зло, особенно на госпредприятии, даже если формально оно АО. 2 Нормоконтроллеров нужно устранять как класс, для чего постоянно внушать эту мысль иголками в кукле гендира и/или 1го (функционального) зама 3 Если макулатуру пишет > 1 человека, то редактор=корректор=отв. исполнитель один. Он же в силу бедности организации и верстает. Поэтому в коллективе создателей макулатуры рекомендуется договориться: 1.25 абзац, Times New Roman 11/14, 1/1.5 инт, ненумерованные списки форматировать не бриллиантами и даже не дефисами, а длинными тире. Прим.1. Рамки ЕСПД печатать глупо. Т к ГОСТы в основном это рекомендации. 2. Упомянутые гендир и первый зам тратят не свои деньги на раздутую бухгалтерию и т.н. экономистов, а нанять профессионального корректора со стажем работы в нормальной ежедневной общероссийской газете жмут 100 тыс руб в месяц. Это признак тупости вот таких начальников (директоров, бизнесменов, господрядчиков, импортозаместителей; нужное подчеркнуть)