Skip to content

if-elif statements break if there's no else #186

@jonbarron

Description

@jonbarron

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:

image

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

fn

Expected behavior

I'd like to be able to do something like
image

but without that placeholder "else: return None" bit at the end, which is currently necessary.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions