Об одном подходе к созданию электронных библиотек

Введение.

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

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

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


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

Еще несколько примеров, подчеркивающих важность просмотра оглавления книги и ее предметного указателя.
1) Книжный интернет магазин "
Amazon" в рубрике описания книги "Search inside this book" дает возможность ознакомиться оглавлением и предметным указателем книги;
2) На странице
books.google.com для ознакомления с книгой всегда предлагают ознакомится с ее оглавлением, а иногда с ее предметным указателем;
3) Когда автор этих строк сообщает своим коллегам о появлении новой книги, то в ответ всегда слышит - "А покажите, пожалуйста, оглавление этой книги "


Очевидно, чтобы автоматизировать поиск с учетом более детального ознакомления с книгой, необходимо иметь возможность просматривать оглавления и предметные указатели каждой книги.

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

Таким образом, описанный выше поиск по электронной библиотеке соответствует ручному поиску по каталогу библиотеки.

Как   автоматизировать просмотр оглавлений и предметных указателей каждой книги.  в случае электронной библиотеки ?

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

Сейчас DJVUmark htm-интерфейс  создает для электронных книг в формате djvu и pdf . Файлы htm-интерфейса помещаются в отдельную папку, одноименную с именем соответствующего файла электронной книги. Первоначально интерфейс создавался только для файлов формата djvu, когда для этих файлов не было вьюверов и  инструментов для внедрения закладок. Интерфейс создавался как средство навигации по файлу djvu,  используя оглавление и предметный указатель, включая кумулятивные предметные указатели для многотомных файлов типа энциклопедий. Недавно, когда начали использовать этот интерфейс при создании библиотеки, в программе DJVUmark. была добавлена функция создания такого интерфейса и для файлов формата pdf для режима OFF-Line..

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

Пример. текст строки указателя "Plane wave, 22–24, 29, 32–34, 37, 39–41, 51,"

Такая строка на языке HTML может быть представлена в виде следующей структуры:

<li><a href="#39 "> Plane wave, 22</a></li>
<ul> начало блока
<li><a href="#46 "> 29</a></li>
<li><a href="#49 "> 32</a></li>
<li><a href="#54 "> 37</a></li>
<li><a href="#56 "> 39</a></li>
<li><a href="#68 "> 51</a></li>
</ul> конец блока

Такая запись блочной структуры используется в программах EmbedBookmarks-1 и BookmarkTool-2.0 при внедрении закладок в файл DJVU.

На следующей картинке показаны четыре строки текста из предметного указателя и как они
выглядят в различных форматах.

При наличии к электронной книге ( формата djvu или pdf ) htm-интерфейса  для работы с ней можно использовать два инструмента: соответствующие вьюверы или плагины интернет эксплорера. Когда к электронной книге обращаются непосредственно, можно использовать вьювер (WinDjView или  Acrobat Reader) ,  при обращении к книге через гиперссылку в файле htm всегда используется плагин интернет эксплорера.

На  иллюстрации, представленной ниже, слева показан скриншот обращения к файлу djvu с помощью  WinDjView, справа показано обращение к этому же файлу через htm-интерфейс. Путем "клика" изображение можно увеличить.

Ниже изображен скриншот обращения к htm-интерфейсу к файлу pdf .

 

 
Итак, пара электронная книга ( формат Djvu или Pdf ) + htm-интерфейс к этой книге - прекрасный строительный материал для библиотеки электронных  книг.
Простая коллекция таких пар в сочетании функциями поиска текстовой информации общего назначения, например, имеющимися в файловых менеджерах типа Frecommader, Total Commander и т.п превращается в полноценную электронную библиотеку с эффективным поиском информации, недоступным большинству современных электронных библиотек.

Покажем пример поиска "three-dimensional spectrum" в электронной библиотеке по оптике с использованием Total Commander

Этот контекст найден в двух книгах.

Первый файл - второй том справочника Totzeck Michael , Gross Herbert, HANDBOOK OF OPTICAL SYSTEMS : Physical_Image_Formation,
Второй файл - первый том справочника The Infrared & Electro-Optical Systems Handbook: Vol.1: Zissis G.J. (editor), Sources of Radiation (1993)

Открываем первый результат.

Кликаем по гиперссылке 19. Получаем:

Второй результат поиска. Найден контекст в предметном указателе:

Переходим по гиперссылке 170 и открываем

Открываем  закладки этого файла и определяем, к какой книге принадлежит данная  страница.

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

Чтобы из  коллекции пар электронная книга + htm-интерфейс к книге создать настоящую библиотеку  необходимо создать каталог книг библиотеки.

Создание каталога библиотеки


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

Таким образом, при построении библиотеки нами предлагается для целей поиска информации
использовать htm-интерфейс к электронным книгам, а каталог библиотеки создавать как особый bookmarks к файлу-каталогу в формате djvu или pdf.

В дальнейшем будет рассмотрено построение каталога на основе файлов формата  djvu. Причем мы ограничимся случаем, когда о б я з а т е л ь н ы м  условием работы каталога библиотеки, чтобы локальные файлы djvu ( точнее файлы djvu, к которым мы обращаемся непосредственно ) открывались программой WinDjView-05 или более старшей версии.

Выбор этой программы в качестве вьювера файлов djvu не случаен. Пока только эта программа обрабатывает команды перехода к чтению файлов в режиме OFF-Line. Для этого в файле закладок bookmarks.htm должны быть теги типа


<li><a href="path\name_file.extension">* текст, описывающий файл </a></li>
 

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

Для определенности назовем создаваемый файл каталог Catalog_Library.

Файл Catalog_Library.djvu должен иметь не менее двух страниц, чтобы можно было записать файл закладок любой длины. Что записано на этих двух страницах для работы каталога безразлично. Это может быть описание каталога библиотеки или руководство по навигации к данной библиотеке или, наконец, сам структурированный список ( bookmarks.htm ) книг в формате djvu.

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

Синтаксис строки исходного текста закладок для DJVUmark примерно следующий :

<ТЕКСТ1><ПРОБЕЛ><ТЕКСТ2><HREF="NAME.DJVU" ИЛИ HREF="NAME.
PDF" ИЛИ другие типы файлов>

ТЕКСТ1 - это информация о структурной иерархии данной строки:
- число в римской или арабской системах исчисления
- одна из скобок  открытия структуры "{_Т", "{_Ч", "{_С", "{_Г", "{_П"
- одна из скобок  закрытия "}_Т", "}_Ч", "}_С", "}_Г", "}_П"
- "БЛОК_Т", "БЛОК_Ч", "БЛОК_С", "БЛОК_Г", "БЛОК_П"
- структурный номер типа <число><.><число><> и т.д.
- ,наконец, символ "*"
ТЕКСТ2 - это информация о книге. Например: Автор(ы), Название, год издания и т.п

Скобки открытия структуры "{_Т", "{_Ч", "{_С", "{_Г", "{_П"  являются эквивалентами ключевых слов (том, часть, секция, глава, параграф), которые обычно мы встречаем в оглавлениях книг.
 

Итак, мы создали каталог, его структуру представили тегами языка HTML ( файл bookmarks.htm) , как это требуют программы EmbedBookmarks-1 и BookmarkTool-2.0. С помощью любой из этих программ  теперь можно внедрить bookmarks.htm в качестве закладок в файл  Catalog_Library.djvu.

Не будем останавливаться на подробностях  формирования каталога, а дадим ссылки  на файл исходного текста каталога  для программы DJVUmark  и на файл bookmarks.htm.

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

Одним из методов решения этой задачи является преобразование файла bookmarks.htm. в djvu формат и затем использования стандартного механизма поиска WinDjView.

 Для этого файл bookmarks.htm ( это файл желательно( необязательно !) подредактировать : убрать алфавитный авторский указатель, здесь он лишний, улучшить читабельность файла путем редактирования заглавий и т.п. ) помещаем в папку( например, G:/Optics), где расположены файлы библиотеки и с помощью Adobe Acrobat, преобразуем этот файл в pdf формат, т.е. получаем файл bookmarks.pdf.

Затем с помощью плагин ISIToolBox к Adobe Acrobat редактируем параметры Link в файле bookmarks.pdf - превращаем абсолютные ссылки в относительные. Технология примерно следующая: экспортируем Link ( только Link, Bookmark не трогаем !) в текстовый файл. В этом файле с помощью текстового редактора корректируем путь(в нашем примере удаляем контекст"file:///G|/OPTICS/") и обратно импортируем Link в файл bookmarks.pdf

Теперь файл bookmarks.pdf с помощью соответствующей программы типа редактора ( Виртуальный принтер для этих целей не годится !) преобразуем в формат djvu. Сформированный таким образом файл, назовём его Search book.djvu, помещаем  в папку с файлами библиотеки. Далее можно поступим двояким способом.

1) В каталог библиотеки ввести строку " Поиск книг по их титульной информации в каталоге библиотеки, href='Search book.djvu' ". Путем клика по этой строке будет открываться файл Search book.djvu и затем можно использовать  стандартный поиск  вьювера по файлу Search book.djvu:

 

изображение можно увеличить.

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

2) Файл Search book.djvu добавить к файлу Catalog_Library.djvu или в файл Search book.djvu внедрить файл bookmarks.htm и использовать этот файл как файл Catalog_Library.djvu. В последнем случае это означает, что изначально в качестве файла каталога библиотеки можно временно использовать копию любого файла djvu.

Несколько слов о поиске информации по оглавлениям и предметным указателям книг всей библиотеки. Выше был приведен пример поиска с помощью программы Total Commander. Конечно, лучше использовать специальные программы поиска, например, Search and Replace for Windows. Здесь надо сделать замечание  в связи использованием htm-интерфейса создаваемого программой DJVUmark.

В файлах html-интерфейса, созданного программой DJVUmark, пробел представлен следующим набором из 6-ти символов &nbsp; . Поэтому перед помещением папок с html-интерфейсом в библиотеку желательно набор символов &nbsp; заменить на обычный пробел " ". Это легко можно сделать с помощью программы Search and Replace for Windows или текстового редактора файлов.. Это надо сделать для надежности поиска. Системы поиска в интернет броузерах такой управляющий набор символов понимают как пробел, но нет гарантии что другие программы поиска распознают правильно этот набор символов. Например,  функция поиска в Тоtal Commander набор символов &nbsp; при поиске в файлах типа htm(l) не распознает как пробел.

А как быть, когда имеются электронные книги ( формат djvu или pdf ) с внедренными оглавлениями и предметными указателями, а упомянутых выше папок с html-интерфейсом нет (  закладки были созданы другой программой ) ?!

Здесь можно предложить несколько вариантов выхода из этой ситуации. В случае djvu файла экспортировать закладки  программой BookmarkTool-2.0 . Затем положить этот файл формата html  в папку вместе с книгами, или использовать текст этого файла как исходный текст для программы DJVUmark, чтобы сгенерировать затем htm-интерфейс. В случае файла pdf  воспользоваться  программой  jpdfbookmarks-2.5.1(она в свободном доступе) для экспорта закладок. Так как экспортируемый файл получается формата .txt, то его можно также использовать  как исходный текст для программы DJVUmark. Другой вариант, этот текст  программой Microsoft Office FrontPage  преобразовать в файл htm , добавив при этом в этот файл гиперссылку на файл книги. Подобным же образом надо поступать и в случае электронных книг в других форматах, например, chm, pdb.

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

Два слова о возврате к каталогу после чтения книги.

Если мы возвращаемся после чтения файла с расширением, отличным от Djvu, то здесь все просто: достаточно закрыть программу чтения файла и мы автоматически возвращаемся к Catalog_Library.djvu

Очевидно, что после чтения файлов Djvu программу WinDjView закрывать нельзя, так как мы выйдем и из Catalog_Library.djvu

Как показала практика, для быстрого возврата в каталог библиотеки после чтение какой-то книги лyчше всего в конце закладок к каждой книге помещать строку перехода к Catalog_Library.djvu. Если файл bookmarks.htm для книг генерируется с помощью программы DJVUmark, то такая строка перехода вставляется опционально.
Если такой строки возврата в закладках нет, лучше всего воспользоваться инструментом File программы WinDjView и выбрать строку "Catalog_Library.djvu"

Описанный выше подход к организации электронной библиотеки был практически опробован при создании трех электронных библиотек, которые были размещены сетевом диске Института . Вот файлы их каталогов:  библиотека COMPUTER_VISION+IMAGE_PROCESSING+PATTERN_RECOGNITION( текстовый файл закладок) и библиотека OPTICS ( текстовый файл закладок )  Файлы Catalog_Library.djvu  для просмотра на сервере не доступны, их надо скачать и смотреть программой WinDjView. Адрес для скачивания   images.


Более полное представление о работе с электронной библиотекой можно получить, посмотрев файл Справка.
Напоминаем, что каталог библиотеки, хранится в закладках к этим файлам. Чтобы их посмотреть, находясь в Интернете, кликните правой клавишей мыши по тексту соответствующего файла Catalog_Library.djvu  и  в  открывшихся окнах выберите строки LAYOUT и OUTLINE

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

В связи с тем, что indirect формат файлов djvu ориентирован на их размещение в Интернете, а программа DJVUmark может создавать htm-интерфейс для ON-Line чтения таких файлов, то открывается возможность создания электронных библиотек, допускающих размещения части книг в Интернете.

Каталог экспериментальной библиотечки "Network Library.djvu", исключительно содержит книги, размещенные в Интернете. Для того, чтобы посмотреть, как это работает, скачайте Network Library.djvu ( размер ~ 267кб ). Откройте этот файл и в закладках этого файла обнаружите каталог маленькой библиотечки. Не удивляйтесь разнородности состава библиотеки. Дело в том, что эти книги взяты из списка книг, представленных в качестве примеров внедрения закладок в файлы
djvu программой DJVUmark. Эти книги отбирались не по содержанию, а по характерным особенностям их djvu файлов с точки зрения внедрения закладок в такие файлы.

 

 





 

Сайт создан в системе uCoz