[P&AM Lab] GNU troff макрос для рисования бинарных чисел
Grigoriy A. Sitkarev
sitkarev на komitex.ru
Вт Авг 7 05:16:05 MSK 2012
Приветствую всех.
Если кто-то обратил внимание, в предыдущей портянке по форматам с
плавающей точкой показывались поля чисел в двоичном виде. Для того,
чтобы такие числа можно было удобно и быстро набирать в troff, я написал
очень простой макрос DGBOX. Если кому-то интересно, можете попробовать
его использовать.
.de DGBOX
. nr @wb \w'\\$1'
. nr @zw \w'0'
. nr @dx (\\n[@wb]u + 1m)
. nr @dy (\\n[rst]u - \\n[rsb]u + 1m)
\h'.5m'\
\h'-.5m'\v'(.5m - \\n[rsb]u)'\
\D'l \\n[@dx]u 0'\
\D'l 0 -\\n[@dy]u'\
\D'l -\\n[@dx]u 0'\
\D'l 0 \\n[@dy]u'\
\h'.5m'\v'-(.5m - \\n[rsb]u)'\
\\$1\
\h'.5m'\c
. if !'\\$2'' \|\\$2
. rr @wb
. rr @zw
. rr @dx
. rr @dy
..
Чтобы нарисовать число из трёх полей, макрос можно вызвать внутри пары
DS/DE вот так:
.DS C
.DGBOX 0
.DGBOX 111111111111111
.DGBOX 0000000000000000 ,
.DE
В последнем вызове DGBOX передаётся два аргумента. Второй аргумент
опциональный, обычно там ставят знак препинания (точку или запятую).
Если макрос поместить в файл, то можно его подключить так:
.so dgbox.tmac
Файлы во вложении.
--
Г.А.
----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: out1.ps
Type: application/postscript
Size: 11351 bytes
Desc: отсутствует
URL: <http://amplab.syktsu.ru/pipermail/lab/attachments/20120807/18dc21cd/attachment.ps>
----------- следущая часть -----------
An embedded and charset-unspecified text was scrubbed...
Name: dgbox.tmac
URL: <http://amplab.syktsu.ru/pipermail/lab/attachments/20120807/18dc21cd/attachment.asc>
Подробная информация о списке рассылки Lab