📄 t5.c
字号:
#include "a.h"/* * 5. Vertical spacing. *//* set vertical baseline spacing */voidvs(int v){ if(v == 0) v = getnr(L(".v0")); nr(L(".v0"), getnr(L(".v"))); nr(L(".v"), v);}voidr_vs(int argc, Rune **argv){ if(argc < 2) vs(eval(L("12p"))); else if(argv[1][0] == '+') vs(getnr(L(".v"))+evalscale(argv[1]+1, 'p')); else if(argv[1][0] == '-') vs(getnr(L(".v"))-evalscale(argv[1]+1, 'p')); else vs(evalscale(argv[1], 'p'));}/* set line spacing */voidls(int v){ if(v == 0) v = getnr(L(".ls0")); nr(L(".ls0"), getnr(L(".ls"))); nr(L(".ls"), v);}voidr_ls(int argc, Rune **argv){ ls(argc < 2 ? 0 : eval(argv[1]));}/* .sp - space vertically *//* .sv - save a contiguous vertical block */voidsp(int v){ Rune buf[100]; double fv; br(); fv = v * 1.0/UPI; if(fv > 5) fv = eval(L("1v")) * 1.0/UPI; runesnprint(buf, nelem(buf), "<p style=\"margin-top: 0; margin-bottom: %.2fin\"></p>\n", fv); outhtml(buf);}voidr_sp(int argc, Rune **argv){ if(getnr(L(".ns"))) return; if(argc < 2) sp(eval(L("1v"))); else{ if(argv[1][0] == '|'){ /* XXX if there's no output yet, do the absolute! */ if(verbose) warn("ignoring absolute .sp %d", eval(argv[1]+1)); return; } sp(evalscale(argv[1], 'v')); }}voidr_ns(int argc, Rune **argv){ USED(argc); USED(argv); nr(L(".ns"), 1);}voidr_rs(int argc, Rune **argv){ USED(argc); USED(argv); nr(L(".ns"), 0);}voidt5init(void){ addreq(L("vs"), r_vs, -1); addreq(L("ls"), r_ls, -1); addreq(L("sp"), r_sp, -1); addreq(L("sv"), r_sp, -1); addreq(L("os"), r_nop, -1); addreq(L("ns"), r_ns, 0); addreq(L("rs"), r_rs, 0); nr(L(".v"), eval(L("12p"))); nr(L(".v0"), eval(L("12p"))); nr(L(".ls"), 1); nr(L(".ls0"), 1);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -