Rambler's Top100 Service калинин.ru / студенческое /  << 13.09.00 >>

Еще один способ подготовки копии конспекта лекций

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

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

Я тогда достал себе лекции и за три дня, держась на одном только кофе и сидя с 7 утра до 10 вечера над абсолютно новым, как оказалось, предметом, все-таки понял, что хотел сказать преподаватель. Это далось с трудом и некоторыми потерями, но сказалось на мне так, что в следующем семестре я ходил на самые скушные лекции одного из наших преподавателей (на остальные все-таки не получалось) и записывал их от слова "Здравствуйте" до слов "Лекция закончена" включительно. Надо сказать, что эти лекции слушать (и записывать) было еще большим героизмом, чем за три дня "переучиться" по новому. Самое трудное было не уснуть, потому что преподаватель читал тихо и скучно, паузы между словами иногда исчислялись минутами, но я честно исписал все.

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

Мне никогда не нравились отксерокопированные лекции, потому что читать разворотами неудобно да и просто эстетически неприятно. Поэтому я решил попробовать сканировать лекции в чернобелом формате (бит на пиксель) и посмотреть что из этого получится.

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

Мне хотелось получить что-то такое, что можно было бы распечатать, скрепить посередине, и получить "книжку", которую было бы удобно читать где угодно. Для этого я написал программу, которую сам для себя назвал mkBook (ссылки для скачивания внизу страницы).

Технология ее использования следующая. Сканируете страницы тетради по одной (или потом придется резать; хотя, можно сканировать парами, указать ключ поворота и потом получится брошюрка, которую придется читать сверху вниз) и сохраняете в чернобелые pcx или tiff, указывая номера: lect0001.tif, lect0002.tif и т.д. Я делал это при помощи FineReader'а.

Потом запускаете на полученные файлы мою программку, например, так:

mkBookVC lect%04i.tif out%04i%c.tif 100

mkBookVC --- название исполняемого файла; VC означает, что скомпилировано MSVC (изначально оно собиралось cygwin'ом). lect%04i.tif --- формат названий входных файлов. Для тех, кто знаком с C и функцией printf (точнее, sprintf) то эта строка просто подставляется в качестве форматной. Для тех, кто не знаком, поясню: вместо '%04i' подставляется некоторое число, состоящие из 4 цифр (0001, 0023, 1289 и т.д.). Число --- номер страницы.

Аналогично с выходными файлами. Только там %04i означает номер страницы, а %c --- сторону листа (будет подставлено 'a' для лицевой и 'b' для внутренней). Порядок ИМЕЕТ значение, т.е. нельзя указать out%c%04i.tif, сначала число, потом сторона.

Последний аргумент --- число страниц. Страницы нумеруются с 1 до этого числа включительно. Пример выше означает, что будут обрабатываться файлы lect0001.tif, ..., lect0100.tif и будут созданы файлы out0001a.tif, ..., out0050b.tif.

Как печатать результат, я думаю, каждый догадается сам.

Еще остались ключи, которые позволяют проделать различные "эффекты". Ключ "-s 10" означает, что между страницами на листе будет сделано "пустое место" 10% от общей ширины листа (листом считается 2 максимума от ширины правой и левой части). Ключ "-m" позволяет размещать на листе не 4 страницы, а 8. Это делается за счет того, что две последовательные страницы размещаются друг за другом на странице результата (сделано для лекций, записанных очень крупным почерком). Ключ "-r 90" указывает программе на то, что требуется поворот изображения на 90 градусов (уже не помню в какую сторону ;) ) перед обработкой. Ключ "-f" позволяет указать формат выходных файлов (tiff, pcx, bmp).

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

Для того, что бы скомпилировать, потребуется библиотека LeadTools, которую я никому не раздаю. Необходимые DLL лежат отдельным файлом ниже.

Надо сказать, что сейчас я бы сделал все это по другому: простым скриптом на Perl'е, который бы вызывал ImageMagic, но это другой разговор. Для меня эта программа потеряла актуальность, а кому-то, возможно, еще пригодится.

Надо сказать, что за последние два курса у меня есть все лекции в отсканированном варианте. Я снабжал, наверно, четверть потока лекциями (если не больше) и не раз выслушивал добрые слова за программку и результаты ее работы. Так что, думаю, она еще пригодится нынешним студентам.

Успехов в сдаче сессии!

Скачать

mkbook.zip Скомпилированный .exe файл, исходный текст и makefile. Компилировать MSVC запуском nmake в каталоге с исходником. Размер файла 25КБ.
ltdlls.zip Набор динамических библиотек LeadTools. Это не все библиотеки, я попытался отобрать только те, которые нужны. Если чего-то не хватает, пишите и я доположу остальное. Размер файла 206КБ. Разархивировать туда, где они будут доступны по PATH или положить в тот же каталог, что и скомпилированная программка.

PS

Надо сказать, что программка не понимает графических файлов, сжатых LZW (это ограничение LeadTools). Поэтому надо следить, что бы у вас не получились tiff'ы, сжатые этим методом (такое может случиться, например, при использовании PhotoShop'а). Мой совет: используйте на входе pcx, его все программы делают одинаково.


Версия для печати


  Рядом в разделе:
Автоматизация заполнения базы данных "по студентам", немного статистики (21.09.00)
   Я уже провел две лабораторных работы и один семинар с первым курсом в этом семестре и, так как на лабораторных мне...   >>>>
Формальные оценки (07.09.00)
   Оценка знаний у студента, на мой взгляд, является самым спорным вопросом всего "учебного процесса". Вообще, выставление отметок превращается в некоторое странное...   >>>>
  Рядом по дате:
Пушкин (14.09.00)
   А.С. Пушкин... сколько его поминали, по большей части "всуе". Потому что человек является "общепризнанным" гением. Это очень сложно: гений может быть...   >>>>
volatile (12.09.00)
   И опять я публикую здесь текст из конференции SU.C_CPP. Впору заводить для этого отдельный раздел ;) Автор этого письма, Александр Кротов,...   >>>>
  Содержание:
Заглавная страница
Мой блог
Мое резюме
Дайджест
Программирование
   C&C++
Сети
Unix
Алгоритмы
Оптимизация
Соревнования
Отвлеченно
XML
TeX
Просто так
Студенческое
Туризм
  Байки
Фотографии
Комментарии
   Книги
Web-ресурсы
Фильмы
Интернет
Программное обеспечение
Жизнь
Благодарности
Форум
Хронология
 
  В этом разделе:
Прорвались! (01.02.01)
   Свершилось. Теперь я краснодипломированный "математик минус инженер", рекомендованный к продолжению обучения в аспирантуре сразу же после окончания института и т.д. Точнее,...   >>>>
Опыт, сын ошибок трудных... (22.01.01)
   Не умеют студенты программировать. Не все, конечно же, бывают и исключения, но "ан масс" --- не умеют. Можно обвинять в этом...   >>>>
Преподаватели (19.11.00)
   Сегодня я буду брюзжать. Почему? Хочется... настроение такое. Кроме того, мне надоело рассказывать о молодых и неопытных студентах, поэтому теперь немножко...   >>>>
Космические корабли бороздят большой театр (20.10.00)
   В бланке отчета по нашим лабораторным работам, которые заполняют студенты после их выполнения, кроме пунктов "задание" и невнятного "сценарий выполнения", существует...   >>>>
Автоматизация заполнения базы данных "по студентам", немного статистики (21.09.00)
   Я уже провел две лабораторных работы и один семинар с первым курсом в этом семестре и, так как на лабораторных мне...   >>>>
Еще один способ подготовки копии конспекта лекций (13.09.00)
   Вопрос о том, где же добыть лекции, мучает каждого студента перед сессией. Вообще говоря, я не знаю, может быть в других...   >>>>
Формальные оценки (07.09.00)
   Оценка знаний у студента, на мой взгляд, является самым спорным вопросом всего "учебного процесса". Вообще, выставление отметок превращается в некоторое странное...   >>>>
Содержание раздела полностью...
   Примерно в тоже время
Пушкин (14.09.00)
   А.С. Пушкин... сколько его поминали, по большей части "всуе". Потому что человек является "общепризнанным" гением. Это очень сложно: гений может быть...   >>>>
volatile (12.09.00)
   И опять я публикую здесь текст из конференции SU.C_CPP. Впору заводить для этого отдельный раздел ;) Автор этого письма, Александр Кротов,...   >>>>
Хронология полностью...
   Содержание
Заглавная страница
Мой блог
Мое резюме
Дайджест
Программирование
  C&C++
Сети
Unix
Алгоритмы
Оптимизация
Соревнования
Отвлеченно
XML
TeX
Туризм
  Байки
Фотографии
Комментарии
  Книги
Web-ресурсы
Фильмы
Интернет
Программное обеспечение
Жизнь
Студенческое
Просто так
Благодарности
Форум
Хронология
© 2000-2008, Andrey L. Kalinin
mailto:andrey@kalinin.ru
Rambler's Top100