| 3032 | return Hlist(hlist) |
| 3033 | |
| 3034 | def substack(self, toks: ParseResults) -> T.Any: |
| 3035 | parts = toks["parts"] |
| 3036 | state = self.get_state() |
| 3037 | thickness = state.get_current_underline_thickness() |
| 3038 | |
| 3039 | hlist = [Hlist(k) for k in parts[0]] |
| 3040 | max_width = max(map(lambda c: c.width, hlist)) |
| 3041 | |
| 3042 | vlist = [] |
| 3043 | for sub in hlist: |
| 3044 | cp = HCentered([sub]) |
| 3045 | cp.hpack(max_width, 'exactly') |
| 3046 | vlist.append(cp) |
| 3047 | |
| 3048 | stack = [val |
| 3049 | for pair in zip(vlist, [Vbox(0, thickness * 2)] * len(vlist)) |
| 3050 | for val in pair] |
| 3051 | del stack[-1] |
| 3052 | vlt = Vlist(stack) |
| 3053 | result = [Hlist([vlt])] |
| 3054 | return result |