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

Подраздел


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.


contents
Обновлено: 16.03.2015