In my opinion, the most elegant solution to this is to use a Unicode typesetting engine, such as XeLaTeX or LuaLaTeX, which enables you to input the special characters used for writing Esperanto.

However, this does raise additional questions, two of which are: "How do you input the Esperanto characters in the first place?" and "Don't I need a font which contains those characters?".

The answer to the first question will doubtless have been answered in greater length elsewhere but my own solution for problems like this is to create a custom keyboard layout using the Microsoft Keyboard Layout Creator (on Windows; similar tools are available for Mac).