Which TeX variant should I use to most easily create a custom invoice and a custom letter template?

I have a design for the invoice that I would like to implement exactly using a suitable TeX related system. It involves different fields at specific positions on the paper, a logo at a specific position, and a field with continuous text (the specification of the invoice) that has to be correctly word-wrapped. There are also some graphic lines at specified positions. The invoice will be in A4 format and must be able to accept at least different European alphabets/languages.

The letter also has a similar look and requirements.

I have used plain LaTeX in the past and I have also read a bit about the very many different systems and variants that are available, but it is confusing to try get an overview of what they can do.

Are anyone aware of what system I should have a look at to most easily create such templates? Also, it would be great if there was a tutorial available for creating such custom templates.

I'll try to make myself a bit more clear. My very basic understanding of TeX et. al. is that Donald Knuth wrote TeX as a very low level typesetting language. To make it a bit more manageable, Leslie Lamport started LaTeX which I understand to be a sort of macros defined for TeX to make it more comfortable/productive. However, my understanding is that in LaTeX, you are more or less constrained to the templates that you get. You can change some things but it seems to be quite static.

What I want to do is to set up a very detailed template comprising graphic elements such as lines and boxes that should appear at exactly specified places on the page. Then some of the boxes I would like to fill with text that should be typeset by some TeX engine.

Perhaps I have got it all wrong and this is already possible in LaTeX?

From the answers so far, it seems that perhaps LuaTeX could be a good bet considering the language requirements. However, can I do the above detailed graphical configuration of the page in Lua? If so, what constructs should I use and are you aware of anyone who did something similar and wrote a blog post or tutorial for it?

  • Welcome to TeX.SE! I've deleted the "thanks in advance" sign-off. At this site, the best way to express one's gratitude is to upvote good answers and to "accept" (by clicking on the green check-mark) the answer that you find is best.
    – Mico
    Mar 6, 2015 at 20:32
  • 3
    Hi and welcome, the question is both, very specific, as well as very broad. I am not quite sure what the exact question is, but one hint: You can use scrartcl along with the new (and still in beta) letter package scrletter for your layout needs. For the different alphabet, you can use LuaLaTeX. Extra treat, you can do calculations using the Lua scripting language.
    – Johannes_B
    Mar 6, 2015 at 20:49
  • 1
    It looks like you've got two separate accounts, which means you cannot edit your original post or leave comments. The StackExchange staff can merge them together for you.
    – Adam Liter
    Mar 7, 2015 at 18:41
  • LaTeX is a modular thing, classes like memoir or the KOMA classes come with own interfaces to tweak the appearance of basic stuff. There are currently over 4000 packages on CTAN that help you in creating your document. You won't find anything, that puts exactly what you want down on a page, you always have to do adjustments.
    – Johannes_B
    Mar 7, 2015 at 20:00

1 Answer 1


I think there is some confusion here.

I am guessing that by different 'variants', you mean different engines. If you want to use LaTeX, you might be wondering whether to use the traditional TeX engine (so LaTeX), pdfTeX (so pdfLaTeX), XeTeX (so XeLaTeX) or LuaTeX (so LuaLaTeX). This choice has relatively minor implications for how you write the template and mark-up the document. The main differences here would be that for LaTeX or pdfLaTeX, you'd probably want to use


whereas if you use XeLaTeX or LuaLaTeX, you would want something like

%\usepackage{polyglossia}% alternative to babel

XeLaTeX and LuaLaTeX both allow you to use system fonts, whereas you are limited to TeX fonts if you use the other two engines. Moreover, Xe/LuaLaTeX both support UTF8 input by default and generally have better support for a wider range of unicode characters than LaTeX or pdfLaTeX, even when using the utf8 option to inputenc. pdfLaTeX still has the best support for microtype, if that is an issue, though there is some support for both XeLaTeX and, especially, LuaLaTeX.

As far as specifying the layout of the document is concerned, it otherwise really makes very little difference which engine you use. Indeed, you should be able to switch between one engine and another in most cases simply by switching from/to inputenc/fontenc and fontspec.

If, on the other hand, you are wondering whether to use LaTeX or something else, you might be trying to decide between, say, plain TeX, LaTeX and ConTeXt. This choice would have much more significant implications for how you write the template and mark-up the document. If you are familiar with LaTeX, however, you will probably be more comfortable using that unless you have a particular appetite for learning a whole new system of commands.

You must log in to answer this question.

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