`if-elif` statements break if there's no `else`
Author: jonbarronCreated Oct 23, 2023Updated Oct 24, 2023
Labelsbug: minor
Environment
If you used latexify on the browser, fill the following items.
- Browser: Google Chrome Version 118.0.5993.96
- Frontend:Google Colaboratory
Description
If you try to latexify a function that contains an if/elif statement, it will terminate with an error message of "LatexifySyntaxError: Multiple statements are not supported in If nodes." unless there is an else statement. This is awkward, because there are many things that someone would want to express with if/elif statements that look awkward when rendered using a else statement instead of an elif. Here's an example:
Reproduction
Here's that code:
@latexify.function(use_math_symbol=True)
def fn(x):
if x < 0:
return -1
elif x == 0:
return 0
elif x > 0:
return 1
fnExpected behavior
I'd like to be able to do something like
but without that placeholder "else: return None" bit at the end, which is currently necessary.
Source: google/latexify_py