forked from Ey321/HTMLyX
-
Notifications
You must be signed in to change notification settings - Fork 0
/
floats.py
35 lines (27 loc) · 978 Bytes
/
floats.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import output_document
import main
FIGURE = "figure"
ALGORITHM = "algorithm"
FLOATS_DIVS = {
FIGURE: 'div class="floating-figure"',
ALGORITHM: 'div class="algorithm"'
}
FLOATS_BODIES = {
FIGURE: output_document.FLOATING_FIGURE_BODY,
ALGORITHM: output_document.FLOATING_ALGORITHM_BODY
}
def parse_float(parser, outfile):
assert parser.current_command() == "\\begin_inset"
assert parser.current_parameters()[0] == "Float"
float_type = parser.current_parameters()[1]
outfile.write(f'<{FLOATS_DIVS[float_type]}>')
parser.advance() # \begin_inset Float _______
body_type = outfile.current_body
outfile.current_body = FLOATS_BODIES[float_type]
# discard float parameters
while not parser.is_current_command():
parser.advance()
main.parse_multiple_text_layouts(parser, outfile)
outfile.current_body = body_type
parser.advance() # \end_inset
outfile.write(f"</{FLOATS_DIVS[float_type].split()[0]}>")