On TeX.SX we can help other people use TeX and friends.

But what are some ways we can use TeX and friends to help other people?

Most users here, it seems, are typesetting research theses, articles, reports, curricula vitae for their own use. I would like to know, first, if anyone here is using TeX to benefit someone else, preferably not for pay. Second, I would like to poll for ideas for how this could be done.

Of course, we like LaTeX, ConText, etc. instead of proprietary document-production systems, and we think that convincing people to use our system will improve their lives. (Whether that's true for everyone is a separate discussion.) But I am looking for other ideas than simply promoting TeX.

For example, one might be able to help a church set up a better system for producing bulletins or orders of worship, by using a LaTeX template linked to a database of the Scripture readings and Lilypond files for the music clips. The problem with this idea, though, would be teaching a busy church staff member to maintain the system, and keeping it simple and robust enough to be used for a long time by multiple maintainers.

It would be great if comments on the answers addressed such practical concerns with implementing each idea, including pointing to existing packages that could be used.

  • 1
    I don't understand, should we make a case where it would be good to have TeX such that others can maybe do it? Or should we put stuff here as things that we have already done for community service?
    – percusse
    Commented Sep 11, 2014 at 15:53
  • 4
    Mostly I'm looking for examples of community service, either already accomplished or ideas for potential projects. PS - I would emphasize that this post is not meant to imply that TeX users are somehow self-serving. I find this community to be wonderfully helpful, and am very grateful especially to the package authors, book authors, and TeX.SX contributors, all of whom show a great desire to help others. Commented Sep 11, 2014 at 15:58
  • 2
    Will TeX cure people from diseases? No, but TeX generated documents will help spreading the knowledge for physicians. Will TeX provide means against climate change? No, but the knowledge is printed with TeX. Will TeX help in education -- yes, it provides (hopefully) better documents. The assistance is not in direct conjunction to a community (apart from the TeX community/society ;-))
    – user31729
    Commented Sep 11, 2014 at 18:30
  • 5
    Perhaps TeX can “cure”: I often think that some cases of dyslexia are in fact cases of self-respecting eyes giving up the struggle against bad typography. If we use TeX to make documents more readable, that’s already a service.
    – Thérèse
    Commented Sep 11, 2014 at 23:01
  • tex.stackexchange.com/questions/168721/…
    – Thérèse
    Commented Sep 11, 2014 at 23:27
  • 2
    Creating accessible documents would be a great way to benefit lots of people. Commented Sep 11, 2014 at 23:29
  • @AndyClifton Speaking of which we had this sometime ago, tex.stackexchange.com/questions/162738 also you can search for Braille on the site.
    – percusse
    Commented Sep 12, 2014 at 5:59
  • 2
    @Thérèse This is actually a thing that exists -- I showed (La)TeX to my girlfriend a few weeks ago. She has severe ADD and the ability to remove the distractions of a graphical interface while producing something that is fit for academic submission is a self-proclaimed huge help. Commented Sep 16, 2014 at 17:15
  • Should this be on Meta? It's not really about the site, but about the technology's impact on the community. Commented Sep 16, 2014 at 19:53
  • How about people talking about license ?. Commented Sep 20, 2014 at 7:18

2 Answers 2


TeX and friends play a very important role on things I do. Let me see if I can talk about a couple of them.


I'm the coordinator of a small choir in a parish. I decided to come up with a personal songbook to help me on keeping track of songs we use during masses or processions.

The songbook is typeset in LaTeX with help of several packages, most notably songs, imakeidx, expl3 and xpatch. I have a personal database (populated by me) with 1500+ songs and a program that generates the songbook source according to a certain template. I have a couple of scripts written in Bash, Ruby and Python, the database is provided by HSQLDB (I have an SQLite version of it as well) and I use Cheetah or Velocity as templating engines.

The following images cover one of my templates. The first image show the main index of the book, sorting songs based on their titles alphabetically. We can also see TikZ doing a cameo in the letter titles. :)


The following image presents the song itself. Catholic liturgy teaches us that music is an important part of the mass. So I had to have every rite or gesture mapped to the correct song, e.g, entrance song, Kyrie, Gloria, Alleluia, Presentation of the Gifts, and so forth. I also had to map songs according to their categories and also taking the time of the liturgical year into consideration, e.g, Advent, Christmas, Ordinary Time, Lent and Easter. So I had to cross map all categories along the year. Besides, I also had to take into consideration the calendar of saints, feasts and the sacraments.

Every song is self-contained: number, title, list of authors, categories (represented by circles) and the liturgical time (represented by squares). For this version, I decided to go with a Sans version, but it's actually just a matter of taste. :)


Since I have several categories, I needed a wayto easily search songs according to their moments during the mass. That's where an index shines. For every category, I have a proper index. Note that, in the template, every time the category is typeset, the song title is already indexed.

The liturgical time plays an important role too! So take a look at every entry in the index: there are five bullets. They represent Advent, Christmas, Ordinary Time, Lent and Easter, in order! So it's a quick way for me to see if the song is appropriate to the current time and moment of mass: if we have a filled bullet, it means the song is appropriate to the corresponding liturgical time. :)


As mentioned before, thanks to templating engines, I can easily change the generated source. The next image shows another layout of the same songbook, now with TikZ all over the place. :)


Speaking of TikZ, thanks to vector editing programs like Inkscape, I can have a lot of "macros" in TikZ that draw religious elements in my songbooks and songsheets, like Christ himself in the following image. :)


Since I have a huge database of songs, I can generate songsheets for my parish. Here's one. Songs are semi-automatically selected in the database (I have a very nice algorithm), then I can analyze the result.

It's worth mentioning that there are lots of things underneath this "simple" task. For example:

  1. Fonts have to be easily readable by people of all ages, including the elder. The less effort to read, the easier to follow and sing along.

  2. Songs are treated as atomic blocks, so they won't be spread amongst several columns or pages (so people don't need to keep flipping pages in order to follow a song).

  3. If a split is unavoidable, repeat important blocks, so there's one flow (for example, repeat choruses in the following column or page so you don't need to go back). As an counterexample, the following image does not cover this aspect, since it was a prior version of my algorithm. :P

It's an interaction between TeX and my underlying software infrastructure. :) TeX typesets it, tells the box info (height, width) to my subroutines and the algorithm takes control on what to do. :)


Ergonomy matters. :) Simple, very simple concepts (yet not so trivial to implement, I tell you) that make a huge difference. People sometimes come to me and say, "I love how you managed Word to achieve such nice layout!". Oh if they knew. :)

The next image refers to a wedding sheet I did to a friend. We can see the Gospel according to Mark. The colour is green because of the liturgical time (ordinary time). I also have a mass sheet template in case we need to add the lectures, psalm, gospel and the eucharistic prayer.


Speaking of eucharistic prayers, I had an old template for an order of mass. I actually need to rewrite a lot of stuff, but I guess you can get the idea from it (I don't like the icons too much). :)


I also have another (tiny) database of songs in which I have additional musical information (I usually know how to play most of the songs by heart, so I only populate this database according to the demand of other people). Here's one of my chorded songbooks:


Since I am lazy, I used the very same database to generate a song sheet for my parish, so people could follow the lyrics and sing along, as we see in the following image. It is just a very simple text processing and everything is ready. :)


During the holy week, we have a schedule of things that happen in the parish, from processions to masses. So I decided to give it a try and write this schedule in TeX and friends. I think the little clocks add a nice touch, don't you think? :)


One of my lovely psalmists is learning how to read song scores. Meanwhile, we use this trick to help her know where her voice needs to go up or down. :) Very simple yet it works like a charm. Yay!


And I also have a transcript of J. S. Bach's St. John Passion in TeX and friends. We can see the original in German on the left, and the English translation on the right.


I think I have a couple more things, but I couldn't find them in my backup, so that's what I have to offer on the religious section. :)


I found a couple of jewels worth sharing on general stuff. At least it's a good way of seeing TeX and friends outside of the academic bubble. :)

This is a lovely happy birthday card we did for David Carlisle. Of course, David loved it. Nicola was also in charge of the cake.


I also found a TikZ version of Pikachu. Just don't ask me why I had TikZ code that generates this yellow rat. Sean liked it though. :) It might be useful for someone's thesis, I believe.


I play Pokémon Y in my Nintendo 3DS, but I know nothing about types and stuff, so I had to come up with a table that helps me understand what the heck I was doing. Here it is.


For Valentine's day, I had a song by John Denver written with the magic of TeX. Too bad it didn't work. :)


TeX and friends also help my mom. Every time she needs a recipe, I go to the computer and typeset it for her. Then I have the perfect excuse to eat the recipe afterwards. :)


I once tried to write a letter to Santa, but that didn't work. I got a rock. Stupid rock.


And also we need to keep the football momentum in the chatroom, so we have our favourite Italian team!


Of course, we also have some internet memes:




We also do book covers in TeX:


I once had to typeset a couple of dominoes, so I wrote some TikZ code that does the trick for me nicely. I can have any combination I want! :)


And at last but not least, a timeless StackOverflow classic:


Moral of the story

There are lots of ways of using TeX and friends. Like clay in the hand of the potter, we shape TeX to do whatever our hearts desire. So we can use it to help others, in a way or another. :)

Mere macro expansions. Simple yet insanely powerful concept. :)

  • I think all the points are very nice, except for the one about that football team ;) Commented Oct 13, 2014 at 12:39
  • @ClaudioFiandrino That's the best part!
    – egreg
    Commented Oct 13, 2014 at 12:53

You can not expect others give you ideas or solve practical issues pointing packages etc... That totally depend on the application and each application has different requirements. Not to mention that every time humans are involved you have to consider their ability to use the tool.

I'll give you a practical example.

This is an application I've recently developed for a friend who manages a hotel/restaurant. In this period of the year they have junior sport teams retreats. They need to know in advance what people is gonna eat, so they provide to the teams menus. Kids are may and don't eat a variety of things, so in the past they managed to print 6 menus per page. They were doing this with a well known commercial software and, honestly, that wasn't much practical.

So, coming to the point, how to speed up things here? With LaTeX, obviously. Basically, I created a simple graphical interface

enter image description here

that allows to select dishes from a database. This is possible with very limited knowledge of PHP and MySQL. Pressing submit, the interface redirects to a confirmation page

enter image description here

but in background it creates, with LaTeX, a PDF:

enter image description here

Source file is just create on the way on the basis of information provided (dishes, number of menus and so on).

Although there's LaTeX in background, the guys don't need to know anything about LaTeX. They just press few buttons of a ''traditional'' web page. And this really improved their workflow: no need of Word templates to re-arrange every time, the process is way faster and, most important ;), they have guidelines to cut the menus (thanks TikZ, and background package as well).

The experiment was very positive and now they're thinking to have an update to handle other types of menu more complicated and fancy than that.

  • 5
    This work is supposed to be presented to the next GuIT meeting. Commented Sep 12, 2014 at 6:26
  • Very nice, Claudio! :) Commented Sep 24, 2014 at 10:43
  • @PauloCereda: Thanks! Next version I'll try to put some moving "submit" buttons for let the guys having fun ;) Commented Sep 24, 2014 at 11:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .