Static analysis of expl3 programs (10): Expltools goes to India
Yesterday I returned from TUG 2025 in Trivandrum, Kerala (July 18–20, 2025), where I was thrilled to present my talk announcing the development of expltools to the broader TeX community.
In this post, I will try to briefly summarize my experience in the form of a travel diary while it is still fresh in my mind. I’ll concentrate on my own experiences rather than the full program details. If you’d like to explore the agenda itself, please consult the conference program and watch the YouTube recordings here: day one, part one and part two, day two, and day three.
July 16: Getting from Brno to Trivandrum
Early in the morning on July 16, I took a train from Brno to Prague.

There, I boarded a flight from Prague to Abu Dhabi and then a connecting flight to Trivandrum, where I arrived early in the morning of the next day.
After getting to the hotel, I slept until shortly before the noon.


July 17: Exploring Trivandrum
This was my first time visiting India. Therefore, after I woke up, I spent the rest of the day walking around the city.





Before returning to the hotel, I grabbed a late dinner at the FOOD TEXT restaurant in the Palayam district.

The food was delicious and I spend just about 250 ₹ for the meal and a glass of ginger limeade. In Prague, I can imagine paying 250 Kč for the same meal, so the pricing seemed intuitive. At the same time, Kč (Czech koruna) currently trades for about four ₹ (Indian rupees), so the meal was extremely inexpensive from my vantage point.
I returned to the hotel in the evening and took close to 10 hours of sleep, still feeling somewhat exhausted from the long flight in addition to today’s ca 15 km walk.
July 18: The first day of the conference
The next day, I woke up early and had a breakfast at the hotel before heading to the conference room and receiving my welcome package there.


During a coffee break after the morning session of talks, I introduced myself to Ben and Mathias from Overleaf. Om Sunday, Mathias was going to give a talk titled Best-effort TeX parsing for interactive editing (slides), which I expected to be the most closely related talk to mine at this conference.
During the lunch, I introduced myself to Honza Vaněk and Hàn Thế Thành, two out of four founders of the Czech company Trivic. Trivic develops proprietary XML-based systems for copyediting, proofreading, and typesetting manuscripts, all powered by TeX as the backend. Indian firms such as STMDocs deploy these systems to fulfill orders for major publishers like Elsevier. Both Honza and Thành are alumni of the Masaryk University, like myself.
In the evening, several participants, me included, took a guided bus tour around the city. We drove almost 40 km, visiting some places that I already saw yesterday as well as more distant places such as the commercial district of Pulimoodu, the Sree Padmanabha Swamy Temple, and the coastline.


There was a heavy monsoon rain during the second half of the tour, which made most participants hide in the lower floor of the bus.
After returning from the tour, I went to bed early, so that I would be fresh for my morning talk about expltools.
July 19: The second day of the conference
After a light breakfast, I gave a talk titled Expltools: Development tools for expl3 programmers (slides):
Despite my stage fright and the initial hiccups with the microphones, I felt the talk went smoothly. During the Q&A session, the questions asked confirmed that the audience had a strong understanding of the material that I covered in my talk.
During the following coffee break, C. V. Radhakrishnan — a founding member of the Indian TeX Users Group and current STMDocs employee — offered to help secure additional funding for expltools development. This is an encouraging vote of confidence in both the tool’s usefulness and the success of my presentation!
During lunch, Mathias and I revisited topics from my talk. He showed me the grammar their (La)TeX parser used, which struck me as more elegant than expltools’ pipeline approach — tokenizing the text first, then using a rule-based parser to assemble larger structures. I pointed out, however, that while less elegant, expltools’ method is inherently more robust: it retains partial understanding of complex expl3 code that can’t be fully parsed, and uses this to reduce false positives. That exchange led me to draft a paragraph in our work-in-progress paper on expltools to highlight precisely this advantage.
After lunch, I took to the streets of Trivandrum once more, retracing on foot some of the sights from yesterday’s bus-tour.





That evening, a group of participants, including myself, attended a sitar-and-drum recital at a nearby theatre, followed by a Kathakali dance performance.


July 20: The third (and last) day of the conference
I woke up early and packed all my belongings for the 12 PM check-out at the hotel.
At breakfast, Erik Nijenhuis, the vice-president of TUG, taught me the Dutch word Kaaskop (cheese-head). Apparently, some Dutch speakers, such as Erik, use it to describe devoted cheese lovers, while non-Dutchers sometimes employ it as a lighthearted insult toward the Dutch.
Before lunch, I snapped photos with several attendees, caught up with Honza Vaněk and Thành about the latest news from our alma mater, and assisted Jean-Michel Hufflen in porting LaTeX2e code to LaTeX3.

During the lunch, I spoke with Vrajaraja Govinda from the International Society for Krishna Consciousness (ISKCON) in Belagavi about the adoption of GNU/Linux and (La)TeX in India and what can be done to spread awareness.
After lunch, the TUG Annual General Meeting convened under the chairmanship of former TUG president and current board member Boris Veytsman. Financially, TUG remains in the black, with its largest expenses devoted to printing the issues of TUGboat and to accounting salaries. However, membership has been steadily declining, and this year it dropped below the 1,000-member mark.
After the last session of talks, there was a calligraphic workshop by Narayana Bhattathiri.




Shortly after the workshop, I said my goodbyes and left for the Trivandrum airport.

I arrived in Prague early in the morning the next day.
Parting thoughts
Attending the conference was an unforgettable experience. Not only did I make lasting connections with fellow TeX enthusiasts, but I also had the joy of exploring India for the very first time. Along the way, I collected valuable bug reports for expltools, see issues #109, #110, and #111.
My heartfelt thanks go to the sponsors, organizers, and every participant whose passion and hard work brought this event to life. I’m especially grateful to Honza Vaněk, Erik Nijenhuis, Ben Davies, Mathias Jakobsen, and Julin S. for their camaraderie throughout the conference.
Last updated on July 24, 2025