tmac.q5 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. .\" MACROES FOR EQUATIONS (file tmac.q5)
  2. .\"
  3. .\" Th.A. Zoethout
  4. .\"
  5. .de EQ \" START EQUATION
  6. .\" .EQ [$1] [$2] [ $3 $4 ] [ $5 $6 ] [$7]
  7. . \" $1 = Indented, Centered { C }
  8. . \" $2 = indent from Left margin (I) { 0 }
  9. . \" $3 = Left numbered, Right numbered { }
  10. . \" $4 = equation number { }
  11. . \" $5 = Right numbered, Left numbered { }
  12. . \" $6 = equation number { }
  13. . \" $7 = preceding vertical spacing { \n(VS }
  14. . \" eqn checks against nested equations.
  15. .\" WARNING: For "inline" equations the (almost) only reasonable
  16. .\" delimeter character is "$". All other seemingly useful
  17. .\" characters could be generated by t(a)b(e)l.
  18. .ch Id
  19. .nr EQ 0
  20. .nr EN 1
  21. .ie \&\\$1\&I\& .nr EQ 1
  22. .el .if !\&\\$1\&C\& .nr EN 0
  23. .nr EN +1
  24. .nr Ex 0
  25. .ie (\\$\\n(EN)=(\\$\\n(EN) .nr Ex \\$\\n(ENm
  26. .el .nr EN -1
  27. .if \\n(EN=1 .if \\n(Ex>0 .nr EQ 1
  28. .nr EN +1
  29. .ds E1 "
  30. .nr Et 0
  31. .if \&\\$\\n(EN\&L\& .nr Et 1
  32. .if \\n(Et=1 .nr EN +1
  33. .if \\n(Et=1 .ds E1 \\$\\n(EN
  34. .if \\n(Et=1 .nr EN +1
  35. .ds E2 "
  36. .nr Et 0
  37. .if \&\\$\\n(EN\&R\& .nr Et 1
  38. .if \\n(Et=1 .nr EN +1
  39. .if \\n(Et=1 .ds E2 \\$\\n(EN
  40. .if \\n(Et=1 .nr EN +1
  41. .nr Et 0
  42. .if \&\\$\\n(EN\&L\& .nr Et 1
  43. .if \\n(Et=1 .nr EN +1
  44. .if \\n(Et=1 .ds E1 \\$\\n(EN
  45. .if \\n(Et=1 .nr EN +1
  46. .ie \\n(EN=\\n(.$ .nr EN \\$\\n(.$
  47. .el .nr EN 0-1
  48. .ev 1
  49. .if !\&\\n(.z\&\& .br
  50. .di Ex
  51. ..
  52. .de EN \" END EQUATION
  53. .\" .EN [$1]
  54. . \" $1 = succeeding vertical spacing { \n(VS }
  55. .ie !\&\\n(.z\&Ex\& .Er W ".EN: no matching .EQ
  56. .el \{\
  57. .br
  58. .di
  59. .ev
  60. .rm Ex
  61. .ie \\n(dn=0 .if !\&\\*(E1\\*(E2\&\& .Et \\$1
  62. .el .Et \\$1
  63. .rm E1
  64. .rm E2
  65. .rm 10
  66. .rm 11
  67. .rm 12
  68. .rm 13
  69. .rm 14
  70. .rm 15
  71. .rm 16
  72. .rm 17
  73. .rm 18
  74. .rm 19
  75. .rm 20
  76. .rm 21
  77. .rm 22
  78. .rm 23
  79. .rr EN
  80. .rr E1
  81. .rr E2
  82. .rr Et
  83. .rr Ex
  84. .rr EQ
  85. .rr 10
  86. .rr 11
  87. .rr 12
  88. .rr 13
  89. .rr 14
  90. .rr 15
  91. .rr 16
  92. .rr 17
  93. .rr 18
  94. .rr 19
  95. .rr 20
  96. .rr 21
  97. .rr 22
  98. .rr 23 \}
  99. ..
  100. .de Et \" final rediversion of equation
  101. . \" $1 = succeeding vertical spacing { \n(VS }
  102. .ie \\n(EN>=0 .sp \\n(ENv
  103. .el .sp \\n(VSu
  104. .ti \\n(.iu
  105. .ne \\n(NDv
  106. .rs
  107. .nr EN \\n(.u
  108. .if \\n(EN>0 .nf
  109. .nr Et \\n(.lu-\\n(.iu
  110. .if \\n(EQ=0 .nr E1 \\n(Etu-\\w\&\\*(E1\&u-\\w\&\\*(10\&u-\\w\&\\*(E2\&u/2u
  111. .if \\n(EQ=1 .nr E1 \\n(Exu-\\w\&\\*(E1\&u
  112. .if \\n(E1<1m .nr E1 1m
  113. .nr E1 1m/2u+\\w\&\\*(E1\&u+\\n(E1u/1m*1m-\\w\&\\*(E1\&u
  114. .nr E2 \\n(Etu-\\w\&\\*(E2\&u
  115. .pc
  116. \&\\*(E1\h#\\n(E1u#\\*(10\h#|\\n(E2u#\\*(E2
  117. .pc %
  118. .if \\n(EN>0 .fi
  119. .ie \\n(.$>0 .sp \\$1v
  120. .el .sp \\n(VSu
  121. ..
  122. .\*($0
  123. .rm $0