Для того, чтобы оценить вид текста из файла 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
Если программа 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.