program define labcd *! NJC 1.0.0 10 May 2000 version 6 gettoken vallbl 0 : 0, parse(" ,") if "`vallbl'" == "," { error 198 } syntax , Values(numlist min=1) [ List Format(str) Multiply(int 1) ] local nvals : word count `values' tokenize `values' capture numlist "`values'", int if _rc == 126 { if `multiply' == 1 { di in r "nonintegers present: use multiply( ) option" exit 198 } } local values local i = 1 while `i' <= `nvals' { local m`i' = `multiply' * ``i'' local values "`values'`mi' " local i = `i' + 1 } if _rc == 126 { capture numlist "`values'", int } if _rc == 126 { di in r /* */ "nonintegers present even after multiply( )" exit 126 } if "`format'" == "" { local format "%12.0gc" } local i = 1 while `i' <= `nvals' { local m : di `format' ``i'' local m : subinstr local m "." "!" local m : subinstr local m "," ".", all local m : subinstr local m "!" "," local m = trim("`m'") local m`i' = round(`m`i'',1) local args `"`args' `m`i'' "`m'""' local i = `i' + 1 } di _n `"label def `vallbl' `args', modify"' label def `vallbl' `args', modify if "`list'" != "" { di label li `vallbl' } end