8 сентября 2008 г.

Ref. Корректор библиографических списков

            Когда я составлял библиографический список к своей диссертации, заметил, что в Ворде (я имею ввиду Word 6.0, Word97, Word2000, WordXP, Word2003) нет средств облегчающих эту работу. При написании текста ссылки формировались и помещались в общий список. После того, как я выровнял список по алфавиту, моя нумерация, а значит и связь с текстом пропала.
            Поиск в интернете не привел ни к чему. Старинные макросы а-ля 97-ые нынче не пашут, WordExpert.ru рекомендовал мне использовать Word2007, который мне использовать запрещают этические, религиозные, практические, правовые и прочие
нормы.
            Наводить порядок вручную, оказалось муторно. Как-никак ссылок было больше чем 200. В итоге я написал, используя RAD Lazarus (Visual FreePascal) маленькую програмку, которая соотносит старую нумерацию с новой.
            Для начала я привел библиографический список к текстовому виду.

1) В конец каждой ссылки поставил её номер.
2) Сделал выравнивание по алфавиту.
3) Сохранил в формате TXT.


В итоге получился файл с таким содержимым:




1. Абуладзе, К.И. Паразитология ... / К.И. Абуладзе и др.; под. ред. К.И. Абуладзе. - 2-е изд., испр. и доп. - М.: Колос, 1982. - 496 с. 196
2. Бабянскас М.А. Иммунологическая ... : дис. … док. вет. наук. / М.А. Бабянскас. - Кайшядорис, 1965. - 619 с. 207
3. Багманова, Н.Н. Комплексная ... : дис. … канд. вет. наук: 03.00.19; 16.00.03 / Н.Н. Багманова. - Самара, 2003. - 113 с. 236



            Где первая нумерация - истинная, а последняя - ложная.

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

То есть следующие введенные данные однозначны:

[7, 12, 100]

[7,100, 12]

7,12,100

7 Привет, Лунатикам!!!,,,,, 12, 0100


            Теперь после нажатия кнопки "Обработать", появится результат в таком формате: 41, 43, 120.
            Кроме того, что ссылки будут переведены от ложной к истинной нумерации. Они ещё будут и расставлены по возрастанию.
            При работе программа рисует крупным кеглем число распознанных введенных ссылок. Если число найденных истинных совпадает, то появляется крупный символ "=". В противном случае возникнут символы "<>", что обозначает, что программа столкнулась с ошибкой поиска истинной нумерации, и число найденных истинных номеров не равно оному ложных.

            Скачать сию чудо софтину можно здесь: http://freesoft.ru/?id=675484 [475 kb] [GPL].

            Засим, всё. Sapienti sat! Удачного использования.

            P.S. Программа поставляется с исходным кодом. Так как ещё много вещей можно реализовать, например, автоматическую вставку и извлечение данных из буфера, вместо ручной вбивки. Можно даже сделать процесс фоновым. То есть в Ворде помещаешь текст со ссылками в буфер. Ждешь 100-200 миллисекунд и вставляешь его обратно в исправленном виде.
            P.P.S. А можно сделать выравнивание за счет программы. Скормить ей оба списка с разными нумерациями. И пущай она сама соотносит старую и новую нумерации. Чтобы это было реализовано добровольцем я и вложил исходники к программе.

Комментариев нет: