1signature MAKE_LINE = 2sig 3 val makeOver: BasicTypes.style -> BoxTypes.box -> BoxTypes.box 4 val makeUnder: BasicTypes.style -> BoxTypes.box -> BoxTypes.box 5end (* signature MAKE_LINE *) 6(*----------*) 7 8structure MakeLine: MAKE_LINE = 9struct 10 open BasicTypes; open BoxTypes 11 open StyleParams; open BasicBox; open MakeVBox 12 13 fun lineDist st = 3 * RuleThickness st 14 fun linePad st = RuleThickness st 15 16 fun makeLine constrVBox st box = 17 let val w = #width (box: box) 18 val line = rule (RuleThickness st) w 19 in constrVBox w box [Kern (lineDist st), line, Kern (linePad st)] end 20 21 val makeOver = makeLine upVBox 22 val makeUnder = makeLine dnVBox 23end (* structure MakeLine *) 24