ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* How to test the emptyness of a variable?
@ 2013-11-07 17:45 Géry Ogam
  2013-11-09 19:55 ` Aditya Mahajan
  0 siblings, 1 reply; 8+ messages in thread
From: Géry Ogam @ 2013-11-07 17:45 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 1316 bytes --]

> 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.

[-- Attachment #1.2: Type: text/html, Size: 1860 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: How to test the emptyness of a variable?
@ 2013-11-10 16:32 Géry Ogam
  0 siblings, 0 replies; 8+ messages in thread
From: Géry Ogam @ 2013-11-10 16:32 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 750 bytes --]

Thank you very much Aditya, now it works.

As you said, the trick was to use \doiftextelse{}{}{} function as test of
emptyness function, and \labeltext{chapter} instead of
\currentstructurelabel as variable for the test because the latter was
never found empty, even when it was.

Thus the right code for me is:

\define[1]
\MyConversion{\doifelse{\currentsectioncountervalue}{1}{\doiftextelse{\labeltext{chapter}}{ONE}{#1}}{#1}}
\defineconversion[MyConversion][\MyConversion]
\setuphead[chapter][conversion=MyConversion]

\starttext

\setuplabeltext[chapter=]
    \chapter{Cool}
    \chapter{Cat}
    \chapter{Mouse}

\setuplabeltext[chapter=CHAPTER~]
\setupheadnumber[chapter][0]
    \chapter{Cool}
    \chapter{Cat}
    \chapter{Mouse}

\stoptext

[-- Attachment #1.2: Type: text/html, Size: 1071 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread
* How to test the emptyness of a variable?
@ 2013-11-05 21:56 Géry Ogam
  2013-11-07 12:21 ` Procházka Lukáš Ing. - Pontex s. r. o.
  0 siblings, 1 reply; 8+ messages in thread
From: Géry Ogam @ 2013-11-05 21:56 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 791 bytes --]

Any idea for achieving this behaviour?

- When there is a chapter label (\setuplabeltext[chapter=CHAPTER~]), display
:

CHAPTER ONE Cool
CHAPTER 2 Cat
CHAPTER 3 Mouse
etc.

- When there is no chapter label (\setuplabeltext[chapter=]), display:

1 Cool
2 Cat
3 Mouse
etc.


My try achieves the first display, but not the second one since I don’t
know how to test the emptyness of the chapter label. When I remove the
chapter label, it displays:

ONE Cool
2 Cat
3 Mouse

 instead of:

1 Cool
2 Cat
3 Mouse


My code:

\setuplabeltext[chapter=CHAPTER~]
\define[1] \MyCommand{\doifelse{\currentsectioncountervalue}{1}{ONE}{#1}}
\setuphead[chapter][deepnumbercommand=\MyCommand]

\starttext

\chapter{Cool}
\chapter{Cat}
\chapter{Mouse}

\stoptext

[-- Attachment #1.2: Type: text/html, Size: 5040 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread
* How to test the emptyness of a variable?
@ 2013-11-05 12:41 Géry Ogam
  0 siblings, 0 replies; 8+ messages in thread
From: Géry Ogam @ 2013-11-05 12:41 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 737 bytes --]

> you can try
>
> \doifnothing\currentstructurelabel{Do something}


It does not work in my case (even if the currenstructurelabel is empty it
acts as if it not empty). In fact I asked that to get the following
behaviour:

— When there is a chapter label (\setuplabeltext[chapter=CHAPTER~]) I want
that:

CHAPTER ONE Cool
CHAPTER 2 Cat
CHAPTER 3 Mouse
etc.

— When there is no chapter label (\setuplabeltext[chapter=]) I want that:

1 Cool
2 Cat
3 Mouse
etc.


E.g.:

\setuplabeltext[chapter=CHAPTER~]
\define[1] \MyCommand{\doifelse{\currentsectioncountervalue}{1}{ONE}{#1}}
\setuphead[chapter][deepnumbercommand=\MyCommand]

\starttext

\chapter{Cool}
\chapter{Cat}
\chapter{Mouse}

\stoptext

[-- Attachment #1.2: Type: text/html, Size: 1397 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread
* How to test the emptyness of a variable?
@ 2013-11-04 23:42 Géry Ogam
  2013-11-05  8:29 ` Hans Hagen
  0 siblings, 1 reply; 8+ messages in thread
From: Géry Ogam @ 2013-11-04 23:42 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 278 bytes --]

Hello,


How to test if the current structure label is empty? The following example
does not work because I don’t know how to expand the variable
\currentstructurelabel.

E.g.:

\define \MyCommand{\doifempty{\currentstructurelabel}{Do something}}


Best regards.

[-- Attachment #1.2: Type: text/html, Size: 471 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-11-10 16:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-07 17:45 How to test the emptyness of a variable? Géry Ogam
2013-11-09 19:55 ` Aditya Mahajan
  -- strict thread matches above, loose matches on Subject: below --
2013-11-10 16:32 Géry Ogam
2013-11-05 21:56 Géry Ogam
2013-11-07 12:21 ` Procházka Lukáš Ing. - Pontex s. r. o.
2013-11-05 12:41 Géry Ogam
2013-11-04 23:42 Géry Ogam
2013-11-05  8:29 ` Hans Hagen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).