On Wed, 13 Jan 2016 23:18:03 +0100
Pablo Rodriguez <oi...@gmx.es> wrote:

> which is the difference between \doiftext and \doifempty?

First of all, the logic is reversed, \doiftext prints the second
argument if the first one contains text, \doifempty does print the
second argument if the first one *does not* contain anything. You can
get around this by using the \…else versions.

Then, the major difference is that \doifempty checks if the argument
is empty and nothing else. \doiftext checks if it contains a box of
non-zero width.

\starttext
  text: \doiftextelse{foo}{is text}{no text}\par
  text: \doifemptyelse{foo}{is empty}{not empty}\par
  empty: \doiftextelse{}{is text}{no text}\par
  empty: \doifemptyelse{}{is empty}{not empty}\par
  space: \doiftextelse{\space}{is text}{no text}\par
  space: \doifemptyelse{\space}{is empty}{not empty}\par
  zero width: \doiftextelse{\framed[width=0cm]{frame}}{is text}{no text}\par
  zero width: \doifemptyelse{\framed[width=0cm]{frame}}{is empty}{not empty}\par
  image: \doiftextelse{\externalfigure[cow]}{is text}{no text}\par
  image: \doifemptyelse{\externalfigure[cow]}{is empty}{not empty}\par
\stoptext

Marco
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to