7 /* set vertical baseline spacing */
13 nr(L(".v0"), getnr(L(".v")));
18 r_vs(int argc, Rune **argv)
22 else if(argv[1][0] == '+')
23 vs(getnr(L(".v"))+evalscale(argv[1]+1, 'p'));
24 else if(argv[1][0] == '-')
25 vs(getnr(L(".v"))-evalscale(argv[1]+1, 'p'));
27 vs(evalscale(argv[1], 'p'));
30 /* set line spacing */
36 nr(L(".ls0"), getnr(L(".ls")));
40 r_ls(int argc, Rune **argv)
42 ls(argc < 2 ? 0 : eval(argv[1]));
45 /* .sp - space vertically */
46 /* .sv - save a contiguous vertical block */
56 fv = eval(L("1v")) * 1.0/UPI;
57 runesnprint(buf, nelem(buf), "<p style=\"margin-top: 0; margin-bottom: %.2fin\"></p>\n", fv);
61 r_sp(int argc, Rune **argv)
68 if(argv[1][0] == '|'){
69 /* XXX if there's no output yet, do the absolute! */
71 warn("ignoring absolute .sp %d", eval(argv[1]+1));
74 sp(evalscale(argv[1], 'v'));
79 r_ns(int argc, Rune **argv)
87 r_rs(int argc, Rune **argv)
97 addreq(L("vs"), r_vs, -1);
98 addreq(L("ls"), r_ls, -1);
99 addreq(L("sp"), r_sp, -1);
100 addreq(L("sv"), r_sp, -1);
101 addreq(L("os"), r_nop, -1);
102 addreq(L("ns"), r_ns, 0);
103 addreq(L("rs"), r_rs, 0);
105 nr(L(".v"), eval(L("12p")));
106 nr(L(".v0"), eval(L("12p")));