Introduction

GeneraTreeX is a web application designed for linguists, educators, and students to effortlessly generate syntactic tree diagrams from in-line notation. The tool simplifies the visualization of sentence structures, offering features such as customizable movement lines, multiple download formats (PDF, LaTeX code, and transparent PNG), and a user-friendly interface compatible with desktop and mobile layouts. With GeneraTreeX, users can quickly and accurately depict complex syntactic structures, without the need of delving into LaTeX programming.

GitHub repository and previous versions

New features and improvements

  • Possibility to optionally specify the in and out directions of movement lines.
  • New download options: LaTeX code and transparent png file alongside the PDF file.
  • Availability of mobile interface.
  • Layout simplification (from 4 pages down to 2).

Packages deployed

  • fitz
  • Flask
  • matplotlib
  • pdf2image
  • Pillow
  • user_agents

Screenshots

Alt text Alt text

Previous version

GeneraTreeX is a user-friendly web application designed to simplify the creation of syntactic tree diagrams for linguistic analysis. With an intuitive interface, GeneraTreeX allows linguists, educators, and students to input specific in-line notation syntax and instantly generate the relevant syntactic tree diagrams. By adhering to a structured input format enclosed within square brackets, users define the structure of their trees. GeneraTreeX offers validation checks to ensure proper bracket balance and provides optional features like movement lines to enhance diagram clarity. Error handling mechanisms guide users through input corrections, while server-side error messages explain issues encountered during PDF generation. GeneraTreeX is a flask app deployed on Heroku. The core packages of GeneraTreeX are forest and pdflatex from TeXLive.

Packages deployed
  • Flask
  • matplotlib
Next improvements

Future improvements will probably affect the following aspects:

  • Improving the weight of the amplitude parameter of movement lines based on the structure intervening between probes and goals.
  • Allowing the user to select the directions from which the lines departure from the source and arrive to the goal.
  • Bug fixes and better visualization of error feedbacks.
  • General refactoring of the code.

Python code

The full code is available on GitHub .

Screenshots

Alt text Alt text Alt text Alt_text