23 |
.\" |
.\" |
24 |
.\" |
.\" |
25 |
.\" |
.\" |
26 |
\# Version 1.2-c |
\# Version 1.2-d |
27 |
\# ------------- |
\# ------------- |
28 |
\# |
\# |
29 |
\# Antoine de St-Exupéry asserted that elegance in engineering is |
\# Antoine de St-Exupéry asserted that elegance in engineering is |
379 |
\# Requires unit of measure. |
\# Requires unit of measure. |
380 |
\# |
\# |
381 |
.MAC LL END |
.MAC LL END |
|
. nr #L_LENGTH (\\$1) |
|
382 |
. nr #USER_SET_L_LENGTH 1 |
. nr #USER_SET_L_LENGTH 1 |
383 |
. ll \\n[#L_LENGTH]u |
. ll \\$1 |
384 |
|
. nr #L_LENGTH \\n(.l |
385 |
. ta \\n(.lu |
. ta \\n(.lu |
386 |
.END |
.END |
387 |
\# |
\# |
563 |
. nr #OLD_LEAD \\n(.v |
. nr #OLD_LEAD \\n(.v |
564 |
. vs \\$1 |
. vs \\$1 |
565 |
. nr #TOP_BASELINE_ADJ \\n(.v-\\n[#OLD_LEAD] |
. nr #TOP_BASELINE_ADJ \\n(.v-\\n[#OLD_LEAD] |
566 |
. if \\n[#TOP_ALD]=1 \{\ |
. if !\\n[#DOCS] \{\ |
567 |
. sp -\\n[#TOP_BASELINE_ADJ]u |
. if \\n[#TOP_ALD]=1 \{\ |
568 |
. rr #TOP_ALD |
. sp -\\n[#TOP_BASELINE_ADJ]u |
569 |
. \} |
. rr #TOP_ALD |
570 |
|
. \} |
571 |
\# The following clause ensures that the first .LS call after a top |
\# The following clause ensures that the first .LS call after a top |
572 |
\# margin has been set (.T_MARGIN or .PAGE) doesn't change the |
\# margin has been set (.T_MARGIN or .PAGE) doesn't change the |
573 |
\# vertical position on the page |
\# vertical position on the page |
574 |
. if \\n[#T_MARGIN_SET]=1 \{\ |
. if \\n[#T_MARGIN_SET]=1 \{\ |
575 |
. ie (\\n(nl >= \\n[#T_MARGIN]) \{\ |
. ie (\\n(nl >= \\n[#T_MARGIN]) \{\ |
576 |
' sp -\\n[#TOP_BASELINE_ADJ]u |
. if \\n(.n=0 \{\ |
577 |
. rr #T_MARGIN_SET |
' sp -\\n[#TOP_BASELINE_ADJ]u |
578 |
. \} |
. rr #T_MARGIN_SET |
579 |
. el \{\ |
. \} |
580 |
. if !\\n[#TOP_LEAD]=0&\\n[#TOP_ALD]=0 \{ .nr #TOP_LEAD 1 \} |
. \} |
581 |
. vs 1u |
. el \{\ |
582 |
. sp |\\n[#T_MARGIN]u |
. if !\\n[#TOP_LEAD]=0&\\n[#TOP_ALD]=0 \{ .nr #TOP_LEAD 1 \} |
583 |
. wh \\n(nlu+1v RESET_LEAD |
. vs 1u |
584 |
. rr #T_MARGIN_SET |
. sp |\\n[#T_MARGIN]u |
585 |
|
. wh \\n(nlu+1v RESET_LEAD |
586 |
|
. rr #T_MARGIN_SET |
587 |
|
. \} |
588 |
. \} |
. \} |
589 |
. \} |
. \} |
590 |
.END |
.END |
613 |
. if \\n[#PRINT_STYLE]=1 \{ .return \} |
. if \\n[#PRINT_STYLE]=1 \{ .return \} |
614 |
. if \\n[#IGNORE] \{ .return \} |
. if \\n[#IGNORE] \{ .return \} |
615 |
. nr #AUTO_LEAD 1 |
. nr #AUTO_LEAD 1 |
616 |
|
. nr #OLD_LEAD \\n(.v |
617 |
. nr #AUTOLEAD_VALUE (p;\\$1) |
. nr #AUTOLEAD_VALUE (p;\\$1) |
618 |
. ie \\n[#NUM_ARGS]=2 \{\ |
. ie \\n[#NUM_ARGS]=2 \{\ |
619 |
. if '\\$2'FACTOR' \{\ |
. if '\\$2'FACTOR' \{\ |
624 |
. el \{\ |
. el \{\ |
625 |
. vs \\n[#PT_SIZE]u+\\n[#AUTOLEAD_VALUE]u |
. vs \\n[#PT_SIZE]u+\\n[#AUTOLEAD_VALUE]u |
626 |
. \} |
. \} |
627 |
. if \\n[#T_MARGIN_SET] \{\ |
. nr #TOP_BASELINE_ADJ \\n(.v-\\n[#OLD_LEAD] |
628 |
. sp |\\n[#T_MARGIN]u-1v |
. if !\\n[#DOCS] \{\ |
629 |
. rr #T_MARGIN_SET |
. if \\n[#TOP_ALD]=1 \{\ |
630 |
|
. sp -\\n[#TOP_BASELINE_ADJ]u |
631 |
|
. rr #TOP_ALD |
632 |
|
. \} |
633 |
|
\# The following clause ensures that the first .LS call after a top |
634 |
|
\# margin has been set (.T_MARGIN or .PAGE) doesn't change the |
635 |
|
\# vertical position on the page |
636 |
|
. if \\n[#T_MARGIN_SET]=1 \{\ |
637 |
|
. ie (\\n(nl >= \\n[#T_MARGIN]) \{\ |
638 |
|
. if \\n(.n=0 \{\ |
639 |
|
' sp -\\n[#TOP_BASELINE_ADJ]u |
640 |
|
. rr #T_MARGIN_SET |
641 |
|
. \} |
642 |
|
. \} |
643 |
|
. el \{\ |
644 |
|
. if !\\n[#TOP_LEAD]=0&\\n[#TOP_ALD]=0 \{ .nr #TOP_LEAD 1 \} |
645 |
|
. vs 1u |
646 |
|
. sp |\\n[#T_MARGIN]u |
647 |
|
. wh \\n(nlu+1v RESET_LEAD |
648 |
|
. rr #T_MARGIN_SET |
649 |
|
. \} |
650 |
|
. \} |
651 |
. \} |
. \} |
652 |
.END |
.END |
653 |
\# |
\# |
1013 |
.MAC ALD END |
.MAC ALD END |
1014 |
. if \\n(nl=0 \{ .nr #TOP_ALD 1 \} |
. if \\n(nl=0 \{ .nr #TOP_ALD 1 \} |
1015 |
. if \\n(nl=\\n[#T_MARGIN] \{ .nr #TOP_LEAD 1 \} |
. if \\n(nl=\\n[#T_MARGIN] \{ .nr #TOP_LEAD 1 \} |
1016 |
. if \\n[#TOP_LEAD]=1 \{\ |
. if !r#DOCS \{\ |
1017 |
. rr #TOP_ALD |
. if \\n[#TOP_LEAD]=1 \{\ |
1018 |
. rr #TOP_LEAD |
. rr #TOP_ALD |
1019 |
. RESET_LEAD |
. rr #TOP_LEAD |
1020 |
. RLD 1v |
. RESET_LEAD |
1021 |
|
. RLD 1v |
1022 |
|
. \} |
1023 |
. \} |
. \} |
1024 |
. if '\\$0'ALD' \{\ |
. if '\\$0'ALD' \{\ |
1025 |
. nr #ALD (\\$1) |
. nr #ALD (\\$1) |
1026 |
. ie \\n(nl=\\n[#T_MARGIN] \{\ |
. ie \\n(nl=\\n[#T_MARGIN] \{\ |
1027 |
. PRINT \& |
. ie !r#DOCS \{\ |
1028 |
. sp \\n[#ALD]u-1v |
. PRINT \& |
1029 |
|
. sp \\n[#ALD]u-1v |
1030 |
|
. \} |
1031 |
|
. el \{ .sp \\n[#ALD]u \} |
1032 |
. \} |
. \} |
1033 |
. el \{ .sp \\n[#ALD]u \} |
. el \{ .sp \\n[#ALD]u \} |
1034 |
. \} |
. \} |
1035 |
. if '\\$0'SPACE' \{\ |
. if '\\$0'SPACE' \{\ |
1036 |
. ie \\n(nl=\\n[#T_MARGIN] \{\ |
. ie \\n(nl=\\n[#T_MARGIN] \{\ |
1037 |
. PRINT \& |
. ie !r#DOCS \{\ |
1038 |
. sp \\$1-1v |
. PRINT \& |
1039 |
|
. sp \\$1-1v |
1040 |
|
. \} |
1041 |
|
. el \{ .sp \\n[#ALD]u \} |
1042 |
. \} |
. \} |
1043 |
. el \{ .sp \\$1u \} |
. el \{ .sp \\$1u \} |
1044 |
. \} |
. \} |
6832 |
. ie \\n[#EPI_LINES]%2=1 \{ .ALD \\n[#DOC_LEAD]u \} |
. ie \\n[#EPI_LINES]%2=1 \{ .ALD \\n[#DOC_LEAD]u \} |
6833 |
. el \{ .ALD \\n[#DOC_LEAD]u/2u \} |
. el \{ .ALD \\n[#DOC_LEAD]u/2u \} |
6834 |
. \} |
. \} |
6835 |
|
. SHIM |
6836 |
. \} |
. \} |
6837 |
. if \\n[#PRINT_STYLE]=2 \{\ |
. if \\n[#PRINT_STYLE]=2 \{\ |
6838 |
. if \\n[#EPI_WHITESPACE]<\\n[#DOC_LEAD] \{\ |
. if \\n[#EPI_WHITESPACE]<\\n[#DOC_LEAD] \{\ |