# What is the difference between \pgfutil@empty and \empty in an \ifx environment

I've seen that sometimes (most in TikZ code) people use \pgfutil@empty to test a macro.

Is there any benefit from using \pgfutil@empty instead of the \empty macro?

Also, is there any usage or good practices for the preference of one over the other? Can you elaborate in which cases you prefer one over the other? Or even if one is obsolete and you should always use the other?

-

TikZ/PGF was designed to be usable with LaTeX, ConTeXt, and Plain TeX, and therefore cannot rely on certain things existing that might be considered "standard" by a LaTeX-only package. Therefore, PGF (re)defines a load of stuff that it knows it will use from the LaTeX core so that it can use it with ConTeXt and Plain TeX. These tend to be macros with the prefix pgfutil@. We thus have \pgfutil@empty, \pgfutil@firstofone, and so forth.
@Dror The \pgfutil@ macros are defined in pgfutil-common.tex. –  Loop Space Sep 6 '13 at 6:34