ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Smart Acronym Pluralization (`y' or `ie' before `s')
@ 2015-05-23 23:39 Alexander Shukaev
  2015-05-24  9:17 ` Hans Hagen
  0 siblings, 1 reply; 3+ messages in thread
From: Alexander Shukaev @ 2015-05-23 23:39 UTC (permalink / raw)
  To: ntg-context


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

Hello,

Consider the following:

\definesynonyms
[ACRONYM]
[ACRONYMS]
[\FULL]
[\SHORT]

\ACRONYM{DLL}{Dynamic-Link Librar\doifnextcharelse{s}{ie}{y}}

Why

\FULL{DLL}s

does not do what I expect it to do?  I assume that it's because
`\doifnextcharelse' expands before `\FULL'.  So how to achieve the desired
effect?  Thanks.

Kind regards,
Alexander

[-- Attachment #1.2: Type: text/html, Size: 1476 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] 3+ messages in thread

* Re: Smart Acronym Pluralization (`y' or `ie' before `s')
  2015-05-23 23:39 Smart Acronym Pluralization (`y' or `ie' before `s') Alexander Shukaev
@ 2015-05-24  9:17 ` Hans Hagen
  2015-05-24 14:56   ` Alexander Shukaev
  0 siblings, 1 reply; 3+ messages in thread
From: Hans Hagen @ 2015-05-24  9:17 UTC (permalink / raw)
  To: ntg-context

On 5/24/2015 1:39 AM, Alexander Shukaev wrote:
> Hello,
>
> Consider the following:
>
> \definesynonyms
> [ACRONYM]
> [ACRONYMS]
> [\FULL]
> [\SHORT]
>
> \ACRONYM{DLL}{Dynamic-Link Librar\doifnextcharelse{s}{ie}{y}}
>
> Why
>
> \FULL{DLL}s
>
> does not do what I expect it to do?  I assume that it's because
> `\doifnextcharelse' expands before `\FULL'.  So how to achieve the
> desired effect?  Thanks.

\FULL is doing a lot and it's unlikely that inside there the nest token 
seen is the 's' so your test fails

\ACRONYM{DLL}{\SelectFull{Dynamic-Link Library}{Dynamic-Link Libraries}}

\def\VeryFullSingular#1#2{\FULL{#1}}
\def\VeryFullPlural  #1#2{\FULL{#2}}

\unexpanded\def\VeryFull
   {\doifnextcharelse{s}
      {\let\SelectFull\VeryFullPlural}
      {\let\SelectFull\VeryFullSingular}}

test \VeryFull{DLL} or \VeryFull{DLL}s it is

if there is real need for this i can consider building something in but 
the check for a following 's' is not that common I think


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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] 3+ messages in thread

* Re: Smart Acronym Pluralization (`y' or `ie' before `s')
  2015-05-24  9:17 ` Hans Hagen
@ 2015-05-24 14:56   ` Alexander Shukaev
  0 siblings, 0 replies; 3+ messages in thread
From: Alexander Shukaev @ 2015-05-24 14:56 UTC (permalink / raw)
  To: mailing list for ConTeXt users


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

On Sun, May 24, 2015 at 11:17 AM, Hans Hagen <pragma@wxs.nl> wrote:

> On 5/24/2015 1:39 AM, Alexander Shukaev wrote:
>
>> Hello,
>>
>> Consider the following:
>>
>> \definesynonyms
>> [ACRONYM]
>> [ACRONYMS]
>> [\FULL]
>> [\SHORT]
>>
>> ​​
>> \ACRONYM{DLL}{Dynamic-Link Librar\doifnextcharelse{s}{ie}{y}}
>>
>> Why
>>
>> \FULL{DLL}s
>>
>> does not do what I expect it to do?  I assume that it's because
>> `\doifnextcharelse' expands before `\FULL'.  So how to achieve the
>> desired effect?  Thanks.
>>
>
> \FULL is doing a lot and it's unlikely that inside there the nest token
> seen is the 's' so your test fails
>
> \ACRONYM{DLL}{\SelectFull{Dynamic-Link Library}{Dynamic-Link Libraries}}
>
> \def\VeryFullSingular#1#2{\FULL{#1}}
> \def\VeryFullPlural  #1#2{\FULL{#2}}
>
> \unexpanded\def\VeryFull
>   {
> ​​
> \doifnextcharelse{s}
>      {\let\SelectFull\VeryFullPlural}
>      {\let\SelectFull\VeryFullSingular}}
>
> test \VeryFull{DLL} or \VeryFull{DLL}s it is
>
> if there is real need for this i can consider building something in but
> the check for a following 's' is not that common I think
>
>
> -----------------------------------------------------------------
>                                           Hans Hagen | PRAGMA ADE
>               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>     tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
>                                              | www.pragma-pod.nl
> -----------------------------------------------------------------
>
> ___________________________________________________________________________________
> 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
>
> ___________________________________________________________________________________


​Hello Hans,

Thanks for your response.  It seems to me that a simple (and backward
compatible) extension would be to add ​the 3rd optional parameter to
`ACRONYM':

​\ACRONYM{DLL}{Dynamic-Link Library}[Dynamic-Link Libraries][s]
​             ​ ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^
              <single>              <plural>                <trigger>
(should of course be `s' by default, but let it be configurable just in
case)

​and put

\doifnextcharelse{<trigger>}{<plural>}{<single>}​

​inside `FULL' properly so that it can indeed find <trigger> in case of
`\FULL{DLL}<trigger>'.​

Regards,
Alexander

[-- Attachment #1.2: Type: text/html, Size: 5649 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] 3+ messages in thread

end of thread, other threads:[~2015-05-24 14:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-23 23:39 Smart Acronym Pluralization (`y' or `ie' before `s') Alexander Shukaev
2015-05-24  9:17 ` Hans Hagen
2015-05-24 14:56   ` Alexander Shukaev

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