Печатаем книги-брошюры в *nix
15:25

Наверняка у многих из тех, кто читает этот пост, возникало желание 
распечатать некую книгу на бумаге и сделать это так, чтобы книга была по
 удобству близка к типографской. Конечно, в роли книги может выступать 
как какой-нибудь pdf-документ, так и какая-нибудь tex'овая научная 
работа.
Ну а что же такое брошюра? По сути — это такая тетрадка, каждый лист 
которой является половиной большого листа, а общее количество страниц 
легко рассчитать по формуле <кол-во «больших» листов>*2<сколько «маленьких листов» на «большом»>*2<два оборота у листа=2 страницы>. 
Конспект по матану, каталог avon — это брошюра. Большая часть 
книг представляет из себя несколько брошюр, наверняка вы встречались с 
ситуацией, когда из старых потрёпанных книг выпадает одновременно 
несколько страниц, сложенных «в тетрадку»; так же часто такие тетрадки 
специально вырываются из учебников, чтобы использовать в качестве 
шпаргалок, но это не тема нашей беседы. 
В этой статье я постараюсь объяснить как просто и быстро распечатать любой документ в виде брошюры.
Получаем Postscript документ
Итак, у нас имеется некий документ. Первым делом, откройте его в каком-нибудь просмотрщике (н-р в evince) и "распечатайте в файл". На выходе мы должны получить Postscript файл, с которым мы и будем далее работать. 
Назовём этот файл, например, book.ps.
Обрабатываем Postscript файл
Итак, определимся с целью: на выходе мы должны получить файл, распечатав который, мы получим брошюру.
1)psbook book.ps 1.ps
Эта команда дополнит документ пустыми страницами в нужных местах для того, чтобы количество страниц стало кратным 4м.
2)Теперь нам необходимо «склеить» каждые 2 страницы A4 в одну страницу 
A4, иными словами, мы должны получить документ, на каждой странице 
которого будет по 2 страницы A5.
psnup -pa4 -2 1.ps > result.ps
3)Теперь удалим рудементарный файл 1.ps
rm 1.ps
и приступим к печати получившейся брошюры
В качестве альтернативы, все три шага можно объеденить в один, используя конвейры: psbook book.ps | psnup -pa4 -2 > result.ps
Распечатываем брошюру
Самый интересный момент, с которым мне пришлось повозиться из-за моей природной лени.
1) Откройте получившийся файл result.ps в просмотрщике и распечатайте нечётные страницы. 
2) Теперь пересортируйте листы так, чтобы первая страница стала 
последней, а последняя — угадайте — первой. Вставьте отсортированные 
листы в принтер так, чтобы печать проводилась с обратной стороны конца распечатанной страницы.
На моём HP Photosmart последний шаг делается простой вставкой страниц
 «как есть», то есть после сортировки, не переворачивая страницы, 
вставляем в лоток листы так, чтобы верх распечатанных до этого страниц 
был спереди и видим.
3) А теперь распечатайте чётные страницы. 
4)После распечатки достаточно сложить распечатанные страницы слева направо
Hints
1) Не следует использовать «обратный порядок печати» в совокупности с 
указанием чётности/нечётности страниц, с целью пропустить шаг с 
пересортировкой страниц. Это не допустит неверного порядка распечатки и 
неверных страниц для распечатки.
2)Если бумага — тонкая, то следует перед первой печатью «перелестать» 
листы. Пересортировка перед второй печатью (см. пункт выше) так же 
поможет не допустить слипания страниц. 
Скрепление страниц
Нам потребуется иголка/шило, скобки от степлера, ручка/карандаш, 2 скрепки.
1)Распечатанные листы укладываем ровной стопкой, закрепляем верхний 
левый и правый нижний углы скрепками, теперь складываем листы слева 
направо.
2)В центре намечаем 2 точки: на сантиметр ниже верха и на сантиметр выше
 низа. Берём скобку и прикладываем в первой точке верхом, отмечаем точку
 в месте, где скобка кончается. Аналогично прикладываем к нижней точке 
низом скобки и ставим точку в месте, где скобка начинается.
Давайте опустим, что скобки не имеют ни ничала ни конца :)
3)В намеченных точках делаем шилом/иголкой дырки и вставляем в них 
скобки, закрывая их с внутренней стороны пальцем/чем нибудь твёрдым.
4)Убираем скрепки, радуемся :)
Я не художник, но попытался
Мои художественные способности ниже плинтуса, но я таки попытался руками
 на бумаге зарисовать как нужно ложить бумагу и расписал основные шаги: img148.imageshack.us/img148/4875/brove.jpg
Ссылки по теме
*) Использование psutils — пакета для работы с Postscript файлами 
*) Making booklets with psbook and psnup (гугло-кеш)
Ну а что же такое брошюра? По сути — это такая тетрадка, каждый лист которой является половиной большого листа, а общее количество страниц легко рассчитать по формуле <кол-во «больших» листов>*2<сколько «маленьких листов» на «большом»>*2<два оборота у листа=2 страницы>.
Конспект по матану, каталог avon — это брошюра. Большая часть книг представляет из себя несколько брошюр, наверняка вы встречались с ситуацией, когда из старых потрёпанных книг выпадает одновременно несколько страниц, сложенных «в тетрадку»; так же часто такие тетрадки специально вырываются из учебников, чтобы использовать в качестве шпаргалок, но это не тема нашей беседы.
В этой статье я постараюсь объяснить как просто и быстро распечатать любой документ в виде брошюры.
Получаем Postscript документ
Итак, у нас имеется некий документ. Первым делом, откройте его в каком-нибудь просмотрщике (н-р в evince) и "распечатайте в файл". На выходе мы должны получить Postscript файл, с которым мы и будем далее работать.
Назовём этот файл, например, book.ps.
Обрабатываем Postscript файл
Итак, определимся с целью: на выходе мы должны получить файл, распечатав который, мы получим брошюру.
1)
psbook book.ps 1.psЭта команда дополнит документ пустыми страницами в нужных местах для того, чтобы количество страниц стало кратным 4м.
2)Теперь нам необходимо «склеить» каждые 2 страницы A4 в одну страницу A4, иными словами, мы должны получить документ, на каждой странице которого будет по 2 страницы A5.
psnup -la4 -2 1.ps > result.ps3)Теперь удалим рудементарный файл 1.ps
rm 1.psи приступим к печати получившейся брошюры
В качестве альтернативы, все три шага можно объеденить в один, используя конвейры: psbook book.ps | psnup -la4 -2 > result.ps
Распечатываем брошюру
Самый интересный момент, с которым мне пришлось повозиться из-за моей природной лени.
1) Откройте получившийся файл result.ps в просмотрщике и распечатайте нечётные страницы.
2) Теперь пересортируйте листы так, чтобы первая страница стала последней, а последняя — угадайте — первой. Вставьте отсортированные листы в принтер так, чтобы печать проводилась с обратной стороны конца распечатанной страницы.
На моём HP Photosmart последний шаг делается простой вставкой страниц «как есть», то есть после сортировки, не переворачивая страницы, вставляем в лоток листы так, чтобы верх распечатанных до этого страниц был спереди и видим.
3) А теперь распечатайте чётные страницы.
4)После распечатки достаточно сложить распечатанные страницы слева направо
Hints
1) Не следует использовать «обратный порядок печати» в совокупности с указанием чётности/нечётности страниц, с целью пропустить шаг с пересортировкой страниц. Это не допустит неверного порядка распечатки и неверных страниц для распечатки.
2)Если бумага — тонкая, то следует перед первой печатью «перелестать» листы. Пересортировка перед второй печатью (см. пункт выше) так же поможет не допустить слипания страниц.
Скрепление страниц
Нам потребуется иголка/шило, скобки от степлера, ручка/карандаш, 2 скрепки.
1)Распечатанные листы укладываем ровной стопкой, закрепляем верхний левый и правый нижний углы скрепками, теперь складываем листы слева направо.
2)В центре намечаем 2 точки: на сантиметр ниже верха и на сантиметр выше низа. Берём скобку и прикладываем в первой точке верхом, отмечаем точку в месте, где скобка кончается. Аналогично прикладываем к нижней точке низом скобки и ставим точку в месте, где скобка начинается.
Давайте опустим, что скобки не имеют ни ничала ни конца :)
3)В намеченных точках делаем шилом/иголкой дырки и вставляем в них скобки, закрывая их с внутренней стороны пальцем/чем нибудь твёрдым.
4)Убираем скрепки, радуемся :)
Я не художник, но попытался
Мои художественные способности ниже плинтуса, но я таки попытался руками на бумаге зарисовать как нужно ложить бумагу и расписал основные шаги: img148.imageshack.us/img148/4875/brove.jpg
Ссылки по теме
*) Использование psutils — пакета для работы с Postscript файлами
*) Making booklets with psbook and psnup (гугло-кеш)