Hi!
I'm Camille Gobert, a French PhD student
from Paris-Saclay University
In this talk, I'm going to present the work
Michel Beaudouin-Lafon and I did
to better understand and support users of LaTeX,
a powerful document description language
In a traditionnal LaTeX editor such as Overleaf,
modyfing certain parts of the document,
such as a mathematical formula,
can be slow and cumbersome
Some editors enable to locate
the approximate position of the code of an element
but the user remains responsible of
locating the exact piece of code to modify,
interpert its content,
and make the necessary changes
by editing everything as text
We interviewed 11 users of LaTeX
to better understand their problems and their needs
We analysed the results with a thematic analysis
and generated five themes
They highlight that
editing the code directly has benefits,
such as reusing and generating code;
LaTeX users struggle learning the language
and forget macro names and parameters;
plain text is not appropriate to describe structures
such as tables and sub-figures;
dimensions and positions are hard
to visualise and to formalise;
and having to recompile and to map
regions of the PDF with fragments of code
slows users down
Based on our findings,
we formulate four recommendations
for designing better LaTeX editors:
First, give access to the code,
to ensure the user interface does not limit
the expressive power of LaTeX;
Second, facilitate specific and common actions,
instead of providing generic help features only;
Third, enable to visualise certain abstractions,
such as lengths and structured content;
Fourth, reinforce links between the code and the PDF,
to assist users in alternating between one another
In light of our findings, we defined the concept of
Transitional Representation,
or transitional for short
In a document description language such as LaTeX,
the source code must be compiled
to generate an output document,
so that different fragments of code
generate different elements
Transitionals are more appropriate representations
of some of these fragments of code
They can be displayed by interacting with
the element they generated in the output,
and they can be manipulated
to update the code they represent,
or conversely
Transitionals are related to systems such as
Sketch-n-Sketch [Hempel et al., UIST'19]
mage [Kery et al., UIST'20],
and Livelits [Omar et al., PLDI'21]
with four key properties
that both relate and distinguish them
from these systems
They represent local fragments of code
as a particular concept;
they are bidirectionally linked
to the code they represent;
they persist and remain available
when the code of the document is modified;
and they can be displayed from and within
the output they are embedded in
We applied the concept of Transitional Representation
to LaTeX
by developing i-LaTeX,
a prototypal LaTeX editor
with four kinds of transitionals
[section] Transitional for mathematics
i-LaTeX lets users locate and edit
the code of a mathematical formula
with a live preview
The code of individual symbols
or groups of symbols
can be identified by pointing them with the mouse,
and it can be selected by clicking them
Modifying the code updates the formula in real time,
and the visualisation warns the user in case of error
When the transitional representation is closed,
the document is saved and recompiled automatically
The code visualised
in a Transitional Representation
can be displayed in the code editor
by clicking on the title bar
In addition,
since the code and the transitional
are bidirectionnaly synchronised,
the user can also edit the code in the code editor,
and the transitional will be updated
to reflect the changes in real time
[section] Transitionals for tables
i-LaTeX lets users visualise
the structure of a table as a grid
and to edit its content
The content of the table is displayed within the cells,
and can be edited as text
New rows and columns can be inserted anywhere
with the help of a contextual menu;
They can also be deleted
In addition,
rows and columns can be drag and dropped
to reorder the grid of the table
[section] Transitional for images
i-LaTeX lets users manipulate
certain parameters of an image interactively
Images can be resized,
including when their dimensions
are specified with variable length units
such as \textwidth
They can also be cropped
by selecting the region to display,
which will update the "trim" and "clip"
parameters of the command
[section] Transitional for grid layouts
Finally,
i-LaTeX lets users manipulate grid layouts
These layouts are made of rows of cells
that can contain arbitrary content
such as text, tables and images
They have been developed specifically
to be manipulated with i-LaTeX,
but the code is compatible with any other editor
Cells and rows can be resized interactively
by dragging the separators between them
New cells can be inserted or deleted
by cliking the appropriate buttons,
and existing cells
can be dragged to a new position
The content of every cell
can be selected by clicking on it,
so that it can edited directly in the code editor
We used i-LaTeX
to conduct a controlled experiment
with 16 participants
to evaluate the effect of
Transitional Representations
on common editing tasks in LaTeX documents
We compared two conditions:
having access to the code editor
AND to the transitionals,
in blue;
and only having access to the code editor,
in orange
In each condition,
participants had to perform 9 editing tasks
in a set of LaTeX documents
The tasks included:
three tasks with mathematics,
such as changing a symbol in a formula;
three tasks with tables,
such as editing a few cells in a table;
and three tasks with images,
such as resizing an image
to match the width of another element
In addition,
we also asked participants to fill in questionnaires
to estimate and compare the workload of each condition
The order of the two conditions and the two document sets
were counterbalanced across participants,
resulting in four experimental configurations
The results show that with access to transitionals
participants completed tasks with tables 42% faster
and tasks with images 58% faster
While the difference is not as pronounced
for tasks with mathematics,
transitionals still benefitted
the least efficient participants,
who completed them 28% faster
In addition,
with access to transitionals,
participants compiled code of tables 26% less often
and code of images 58% less often
Almost all participants reported that
using transitionals was less mentally demanding,
less temporally demanding,
less frustrating,
and enabled them to achieve better performance
We also observed a difference between the two conditions
in terms of strategies used by the participants
When they only had access to the code editor,
several participants spent minutes
trying to come up with elaborate,
exact solutions,
but often failed at implementing them
and eventually resolved to simpler alternatives
When they had access to transitionals,
participants immediately favored approximations
and straightforward solutions,
which helped them solve tasks faster
We propose three directions for future work on this topic
The robustness of i-LaTeX could be improved
to support a broader range of LaTeX documents,
and new transitionals could be added
for other kinds of content
Transitionals could be implemented
in existing LaTeX editors such as Overleaf,
therefore making transitionals
more accessible to LaTeX users
and faciliting user studies in more ecological settings
Finally,
transitionals could also be applied
to other document description languages
such as Markdown and HTML/CSS
to supplement existing tools
such as code generators for tables and style
You can find more information
about this work in the paper,
and you can contact us
if you have any question