How to test the emptyness of a variable?
I'm sure there is also a "cleaner" TeX way, but I'm not experienced enough for that.
I think you misunderstood my issue: your Lua way does the same thing than my TeX way: it displays: ONE Cool 2 Cat 3 Mouse but that is NOT what I want. What I want is: 1 Cool 2 Cat 3 Mouse So I need to check if the chapter label has been set empty or not by the user, because it is not empty (let's say the user chose the string "CHAPTER~" for the chapter label) I want to display this: CHAPTER ONE Cool CHAPTER 2 Cat CHAPTER 3 Mouse The way to do that is to check if the variable \currentstructurelabel is empty, so the code must be: \define[1] \MyCommand{\doifelse{\currentsectioncountervalue}{1}{\doifnotemptyelse{\currentstructurelabel}{ONE}{#1}}{#1}} \setuphead[chapter][deepnumbercommand=\MyCommand] \starttext \setuplabeltext[chapter=CHAPTER~] \chapter{Cool} \chapter{Cat} \chapter{Mouse} \stoptext \starttext \setuplabeltext[chapter=] \chapter{Cool} \chapter{Cat} \chapter{Mouse} \stoptext But the problem is that in the second case, even if the chapter label is set empty the command \doifnotemptyelse{\currentstructurelabel} thinks the variable \currentstructurelabel is not empty. So there must be something invisible in it, like a strut or something.
On Thu, 7 Nov 2013, Géry Ogam wrote:
I'm sure there is also a "cleaner" TeX way, but I'm not experienced enough for that.
I think you misunderstood my issue: your Lua way does the same thing than my TeX way: it displays:
ONE Cool 2 Cat 3 Mouse
but that is NOT what I want. What I want is:
1 Cool 2 Cat 3 Mouse
So I need to check if the chapter label has been set empty or not by the user, because it is not empty (let's say the user chose the string "CHAPTER~" for the chapter label) I want to display this:
CHAPTER ONE Cool CHAPTER 2 Cat CHAPTER 3 Mouse
The way to do that is to check if the variable \currentstructurelabel is empty, so the code must be:
Why not just check the labeltext? \define[1]\MyConversion {\doifelse{#1}{1}{ONE}{#1}} \define\CheckedConversion % #1 number {\doiftextelse{\labeltexts{chapter}}\MyConversion\numbers} \defineconversion[CheckedConversion][\CheckedConversion] \setuphead[chapter][conversion=CheckedConversion] \doifmode{label}{\setuplabeltext[chapter=CHAPTER~]} \starttext \chapter{Cool} \chapter{Cat} \chapter{Mouse} \stoptext compile with and without --mode=label. Aditya
participants (2)
-
Aditya Mahajan
-
Géry Ogam