/[groff]/groff/contrib/mom/om.tmac
ViewVC logotype

Diff of /groff/contrib/mom/om.tmac

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.22 by wl, Wed Sep 29 09:29:38 2004 UTC revision 1.23 by wl, Fri Oct 15 06:10:24 2004 UTC
# Line 23  Line 23 
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
# Line 379  Line 379 
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  \#  \#
# Line 563  Line 563 
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
# Line 609  Line 613 
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' \{\
# Line 619  Line 624 
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  \#  \#
# Line 987  Line 1013 
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  .    \}  .    \}
# Line 6798  y\\R'#DESCENDER \\n[.cdp]' Line 6832  y\\R'#DESCENDER \\n[.cdp]'
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] \{\

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.23

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26