next up previous contents
Next: 10.4 Стили печати с Up: 10. Подсистема печати текста Previous: 10.2 Описание ввода

Подраздел


10.3 Простые примеры использования a2ps

Для того, чтобы оценить вид текста из файла text.file на печати, можно использовать следующую команду:
a2ps -P display text.file
Здесь -P означает, что далее ид©т вид принтера; display значит, что вывод будет произвед©н не на═устройство печати, а сформированный файл печати будет передан на ввод вызванной программе ghostview.

Если вы захотите просто узнать сколько страниц займ©т при печати ваш документ, не не печатать его, то это можно сделать так
a2ps -P void text.file

Наконец, если требуется сохранить файл приготовленный для печати, то это можно селать так
a2ps -P file text.file
В ответ программа напечатает следующее

future76:shevel /usr/home/shevel> a2ps -P file Text.tex
[Text.tex (TeX): 2 pages on 1 sheet]
[Total: 2 pages on 1 sheet] saved into the file Text.ps'

То же самое можно получить использовав команду
a2ps Text.tex -o My.text.ps В ответ программа напечатает

 
future76:shevel /usr/home/shevel> a2ps Text.tex -o My.text.ps
[Text.tex (TeX): 2 pages on 1 sheet]
[Total: 2 pages on 1 sheet] saved into the file 
y.text.ps'

Возвращаясь к виду принтера, можно заметить, что имена принтеров, кроме уже перечисленных (display, void и file), означают имя принтера в операционной системе.

Если вы имеете достаточно узкий текст, например, текст программы, то можно разместить более двух страниц текста на одной физической странице
a2ps -3 Text.tex
Параметр bf -3 (три) указывает, что на одной физической странице следует разместить три страницы текста.

Как вы уже обратили внимание программа a2ps многое делает по умолчанию. Чтобы узнать какие установлены умолчания можно использовать команду
a2ps -list=defaults

10.3.1 Делегирование

Если программа a2ps полагает, что определ©нное преобразование текста успешнее выполнит другая программа или подсистема, то a2ps производит обращение к этой другой подсистеме. Такой процесс в терминологии программы a2ps называется делегирование.

Привед©м примеры делегирования.

Пусть вам надо напечатать уже готовый файл в формате PostScript
a2ps -4 -P display T.ps
В данном случае запрошено вывести файл с именем T.ps на экран терминала по четыре страницы текста на одной физической странице. Поскольку исходный файл уже имеет формат PostScript, то программа a2ps сообщает об этом так

future76:shevel /usr/home/shevel> a2ps -4 -P display T.ps
[T.ps (ps, delegated to PsNup): 1 page on 1 sheet]
[Total: 4 pages on 1 sheet] sent to the printer Display'
В данном случае делегирование произведено к известному программному фильтру PsNup (преобразование файлов в формате PostScript таким образом, чтобы разместить на одной физической странице несколько страниц текста).

Процесс делегирования в программе a2ps описать в конфигурационном файле. Чтобы узнать какие сконфигурированы делегирования надо использовать команду
a2ps -list=delegations
которая в ответ может напечатать нижелседующее

future76:shevel /usr/home/shevel> a2ps --list=delegations
Applications configured for delegation
Delegation Groff', from roff to ps
        eval Grog -Tps $f | #{psselect} | #{psnup}
Delegation Gzip-a2ps', from compressed to ps
        gzip -cd $f | #{a2ps} --stdin=$N
Delegation Netscape', from html to ps
        netscape -noraise -remote 'openurl($f)'         -remote 
'saveas(#f0,postscript)' &&     #{psselect} #f0 | #{psnup}
Delegation PsNup', from ps to ps
        fixps $f | #{psselect} | #{psnup}
Delegation Dvips', from dvi to ps
        #{dvips} $f -o #f0 && #{psnup} #f0
Delegation Pdf2ps', from pdf to ps
        pdf2ps $f #f0 && #{psselect} #f0 | #{psnup}
Delegation Texi2dvi', from texinfo to ps
        #{texi2dvi} $f && mv $N.dvi #f0 && #{dvips} -f #f0 | #{psnup}

Из вышепривед©нного ответа программы, можно видеть, что зазипованный текст также можно смотреть с использованием a2ps

future76:shevel /usr/home/shevel> a2ps T.ps.gz -P display
[T.ps.gz (compressed, delegated to Gzip-a2ps): 3 pages on 2 sheets]
[Total: 4 pages on 2 sheets] sent to the printer Display'

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


next up previous contents
Next: 10.4 Стили печати с Up: 10. Подсистема печати текста Previous: 10.2 Описание ввода
Andrei Chevel
Andrei.Chevel@pnpi.spb.ru