Since the advent of graphical user interfaces, most applications have been built on the WYSIWYG (What You See Is What You Get) paradigm, which allows the user to interactively control the presentation of the document via direct manipulation of objects on the page (or canvas). However, such systems are typically cumbersome for managing longer documents, which is why systems for automatic formatting, such as LaTeX, remain popular among a not insignificant number of users, particularly in the scientific domain.
Automatic formatting systems, on the other hand, are based on a completely different concept; the marked-up content is laid out and optimized algorithmically according to predetermined rules and optimization functions. This does not always work well in practice, and if you are unhappy with the result, it is often very difficult to override the algorithm’s choices. Furthermore, any changes to the result must be done programmatically; it is not possible to simply drag objects to a different location on the page. This is why such systems are also difficult for designers to work with; too much technical knowledge is required to specify design rules in such a way that the system can understand them.
For many long-form documents, authors normally value the ability to be able to fine-tune the final presentation, and also the ability to edit the document using a WYSIWYG preview. Current editors such as Overleaf, which present the document’s source and presentation side-by-side, force the user to perform difficult mental mappings between the two representations of the document, which makes the task of authoring inefficient. Creating a GUI for editing LaTeX documents presents its own set of challenges, as due to the global nature of the layout optimization being used, even minor changes in the content can lead to larger, unexpected changes occuring, such as a figure jumping to another page.
Editable PDF gives us the opportunity to re-engineer a document format that supports both types of editing on the same document; as a print-oriented document format, we need to support direct placement and manipulation of objects on the page, and ensure that it remains as graphically expressive as PDF is today. But we also need to support flexible reflow and layout optimization, which we do according to a standardized layout model. Therefore, we propose a 2-step approach to interactive editing: When the content is updated, text is reflowed in a predictable way and local optimizations, such as line breaks and balanced columns, are carried out. Larger optimizations, such as the repositioning of figures, are performed at a later stage at the author’s convenience, as they would otherwise cause significant distraction when editing the document.