# SZS-Editor for LaTeX

SZS-Editor is a graphic interface for MiKTeX (TeX/LaTeX typesetting system) on Windows and PDFLaTeX tool on Linux. It is developed taking care of the accessibility and usability of the editor using screen readers and magnifiers. It is a cross-platform editor (tested on Linux Mint and Windows 10) and is built to handle standard LaTeX input files.
The main features of the editor are the following:

In a typical LaTeX document, it is possible to distinguish two different main blocks of code. In the header, the global properties of the document are described, while the body contains the actual content of the document. The header is automatically hidden to facilitate the revision and to ease the use of the editor by beginners in LaTeX. This feature allows the user to focus on the main content of the document. The header is still editable with a second window accessible from the menu.

Simplified log of compiling.
The standard output of the LaTeX compiler is verbose and uncomfortable to quickly check it with a screen reader or a magnifier. The SZS-Editor summarizes the log in a few lines.

Go-to-line functionality.
If an error occurs in the LaTeX compiling, the number of the line where the error occurred is present in the log compile. Opening a small interface, with a shortcut, the user can move the cursor in the text frame to the line required.

Auto-completion LaTeX-code.
Especially for beginners, it is easy to make mistakes while writing LaTeX code such as forgetting to close a bracket or inserting a dollar symbol to close the mathematics environment. The editor inserts automatically these symbols.

Code folding.
With this feature, the user can selectively hide and display sections of the currently edited file which is particularly useful during the revision of a document. The editor can fold the code between two dollar '$' symbols (used in LaTeX to open and close the mathematics environment) or between two brackets '{...}’. For example, it is possible to fold the following long equation:$y=(\frac{\sqrt{a}}{b})^{\frac{1+\omega}{z}}}$as$EQ1$or$y=(\frac{ARGV1}{b})^{ARGV2}}\$

This feature is also useful to copy/paste/cut some parts of the LaTeX code in the document and for learning and understanding a long formula, folding one by one every part of it.

Focus manager.
During the development of the GUI, particular attention was paid to switch the focus automatically through the interface to facilitate the use of the editor. For example, pressing the compile button the focus is automatically moved to the frame with the compiling log output. Furthermore, in the PDF preview window, there is a button to come back to the main window with the focus already in the text frame with the LaTeX code.