TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question already has an answer here:

I found several entries about the fact that the ifthen package is obsolete. So my question is: how to define a condition check then? I have searched and I find several example for ifthenelse (contained in the ifthen) package OR the statement "ifthen package is obsolete".

share|improve this question

marked as duplicate by Peter Grill, Papiro, Masroor, Jubobs, Guido Aug 8 '14 at 23:00

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

it is not obsolete – Herbert May 6 '13 at 12:32
@Herbert I agree; maybe it's not the first choice any more, but it's easy and in some cases it's sufficient. Probably using xifthen in place of it is better anyway. – egreg May 6 '13 at 13:01
up vote 7 down vote accepted

It may be considered obsolete because there exist more modern variants and the package was not updated for a long time.

See for example http://www.ctan.org/pkg/etoolbox which uses e-TeX features.

Apart from the macros in ifthenelse being fragile, if you can handle that, you can just use them, no problem.

share|improve this answer
Welcome to TeX-SX! You may have a look at our starter page for a quick intro if you wish to familiarize yourself with our format. – Claudio Fiandrino May 6 '13 at 12:47

I prefer



to avoid the ifthen package.

The advantage of not using a package is that this approach can be used in files that are just \input by large document (for example TikZ images), when it cannot be guaranteed that a certain package is loaded.

share|improve this answer
Your code only shows how to check whether a macro is defined; I believe the OP's question is more general than that. – Jubobs Aug 9 '14 at 14:38
If you can influence setting the variable to true or false, you can also instead define or undefine it (\let\something\undefined) – Scz Aug 11 '14 at 16:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.