ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* bugs in math engine?
@ 2009-05-15 12:03 Oliver Buerschaper
  2009-05-15 14:03 ` Aditya Mahajan
  0 siblings, 1 reply; 10+ messages in thread
From: Oliver Buerschaper @ 2009-05-15 12:03 UTC (permalink / raw)
  To: mailing ConTeXt users list for

Dear list,

the following are probably bugs in the new math engine as of  
yesterday's beta (2009.05.14 16:44):


1. The symbols for number sets in Cambria Math aren't taken from the  
double-struck variant.

---
\usetypescript[cambria]
\setupbodyfont[cambria]


\starttext

\math{\naturalnumbers}, \math{\integers}, \math{\rationals},  
\math{\reals}, \math{\complexes}, \math{\primes}

\stoptext
---


2. Vector arrows look somewhat strange in Cambria Math ... is this  
perhaps due to the font itself?

---
\usetypescript[cambria]
\setupbodyfont[cambria]


\starttext

The arrows should neither extend over the right bracket nor into the  
primes:

\startformula{}
     [\alpha(\vec{k})\alpha(\vec{k}'),\alpha^\dagger(\vec{k}'')]
\stopformula

\stoptext
---


3. The command \implies is undefined (see previous posting).

---
\starttext

\startformula
     A\implies B
\stopformula

\stoptext
---


Oliver
___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


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

* Re: bugs in math engine?
  2009-05-15 12:03 bugs in math engine? Oliver Buerschaper
@ 2009-05-15 14:03 ` Aditya Mahajan
  2009-05-15 14:28   ` Hans Hagen
                     ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Aditya Mahajan @ 2009-05-15 14:03 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Fri, 15 May 2009, Oliver Buerschaper wrote:

> Dear list,
>
> the following are probably bugs in the new math engine as of yesterday's beta 
> (2009.05.14 16:44):
>
>
> 1. The symbols for number sets in Cambria Math aren't taken from the 
> double-struck variant.

Hans, please apply the following patch to math-def.mkiv

diff --git a/math-def.mkiv b/math-def.mkiv
index 31db66e..30beb5c 100644
--- a/math-def.mkiv
+++ b/math-def.mkiv
@@ -97,12 +97,12 @@
  \definemathcommand [tanh]    [nolop] {\mfunction{tanh}}
  \definemathcommand [tan]     [nolop] {\mfunction{tan}}

-\definemathcommand [integers]        {\mfunction{Z}}
-\definemathcommand [reals]           {\mfunction{R}}
-\definemathcommand [rationals]       {\mfunction{Q}}
-\definemathcommand [naturalnumbers]  {\mfunction{N}}
-\definemathcommand [complexes]       {\mfunction{C}}
-\definemathcommand [primes]          {\mfunction{P}}
+\definemathcommand [integers]        {\mathblackboard{Z}}
+\definemathcommand [reals]           {\mathblackboard{R}}
+\definemathcommand [rationals]       {\mathblackboard{Q}}
+\definemathcommand [naturalnumbers]  {\mathblackboard{N}}
+\definemathcommand [complexes]       {\mathblackboard{C}}
+\definemathcommand [primes]          {\mathblackboard{P}}

  % using attributes

> 2. Vector arrows look somewhat strange in Cambria Math ... is this perhaps 
> due to the font itself?
>
> ---
> \usetypescript[cambria]
> \setupbodyfont[cambria]
>
>
> \starttext
>
> The arrows should neither extend over the right bracket nor into the primes:
>
> \startformula{}
>   [\alpha(\vec{k})\alpha(\vec{k}'),\alpha^\dagger(\vec{k}'')]
> \stopformula
>
> \stoptext
> ---

I don't know whether the font or luatex/context is at fault.

> 3. The command \implies is undefined (see previous posting).

Hans, can we add this somewhere?

%D This is a temporary hack until we figure out how to do this correctly.

\unexpanded\def\implies    {\mathrel{\;\Longrightarrow\;}}
\unexpanded\def\impliedby  {\mathrel{\;\Longleftarrow\;}}
\unexpanded\def\And        {\mathrel{\;\internalAnd\;}}
\unexpanded\def\iff        {\;\Longleftrightarrow\;}

Aditya
___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


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

* Re: bugs in math engine?
  2009-05-15 14:03 ` Aditya Mahajan
@ 2009-05-15 14:28   ` Hans Hagen
       [not found]   ` <330B8D23-9AA4-4BF3-AE82-D665063C6261@mpq.mpg.de>
  2009-05-20 14:26   ` Oliver Buerschaper
  2 siblings, 0 replies; 10+ messages in thread
From: Hans Hagen @ 2009-05-15 14:28 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Aditya Mahajan wrote:

> Hans, please apply the following patch to math-def.mkiv

ok

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


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

* Re: bugs in math engine?
       [not found]     ` <alpine.LNX.2.00.0905151310560.25712@ybpnyubfg.ybpnyqbznva>
@ 2009-05-15 20:26       ` Patrick Gundlach
  2009-05-15 20:47         ` Aditya Mahajan
  0 siblings, 1 reply; 10+ messages in thread
From: Patrick Gundlach @ 2009-05-15 20:26 UTC (permalink / raw)
  To: ntg-context

Hi,

> We (Patrick, Mojca, and I) have discussed hosting a git repo on the
> garden. I do not think it was implemented. I am Ccing Patrick and
> Mojca, and maybe they can shed more light on the status of git server
> on the garden.

It is not implemented (yet). If someone can give me a strategy (pseudo
code welcome) which alpha/beta/stable to put into the repository this
should be quite easy to do.

Patrick
-- 
ConTeXt wiki and more: http://contextgarden.net
___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


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

* Re: bugs in math engine?
  2009-05-15 20:26       ` Patrick Gundlach
@ 2009-05-15 20:47         ` Aditya Mahajan
  2009-05-16  5:45           ` Patrick Gundlach
  0 siblings, 1 reply; 10+ messages in thread
From: Aditya Mahajan @ 2009-05-15 20:47 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Fri, 15 May 2009, Patrick Gundlach wrote:

> Hi,
>
>> We (Patrick, Mojca, and I) have discussed hosting a git repo on the
>> garden. I do not think it was implemented. I am Ccing Patrick and
>> Mojca, and maybe they can shed more light on the status of git server
>> on the garden.
>
> It is not implemented (yet). If someone can give me a strategy (pseudo
> code welcome) which alpha/beta/stable to put into the repository this
> should be quite easy to do.

How about two branches: one for all officical stable releases, and one for 
all beta releases (from Hans's ftp server, synced periodically). I believe 
that alpha releases are rare enough to be ignored[1]. Unless disk space is 
a problem, I do not see a reason for not storing all betas. Official betas 
can be tagged with the release date and time.

Aditya

[1]: Actually, at least for this year, there have been more alpha releases 
than stable releases :-)
___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


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

* Re: bugs in math engine?
  2009-05-15 20:47         ` Aditya Mahajan
@ 2009-05-16  5:45           ` Patrick Gundlach
  0 siblings, 0 replies; 10+ messages in thread
From: Patrick Gundlach @ 2009-05-16  5:45 UTC (permalink / raw)
  To: ntg-context

Hi Aditya (and others),

Aditya Mahajan <adityam@umich.edu> writes:

> How about two branches: one for all officical stable releases, and one
> for all beta releases (from Hans's ftp server, synced periodically). I
> believe that alpha releases are rare enough to be ignored[1]. Unless
> disk space is a problem, I do not see a reason for not storing all
> betas. Official betas can be tagged with the release date and time.

OK, thats what I had in mind. Perhaps Mojca can tell me where all the
files are on the server, if not I will find out by myself.

I promise I will give it a try next week sunday, until then I don't have
internet access (vacation :) and my battery from my notebook is almost
empty because I've forgot my power supply at home :-)


Patrick

-- 
ConTeXt wiki and more: http://contextgarden.net
___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


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

* Re: bugs in math engine?
  2009-05-15 14:03 ` Aditya Mahajan
  2009-05-15 14:28   ` Hans Hagen
       [not found]   ` <330B8D23-9AA4-4BF3-AE82-D665063C6261@mpq.mpg.de>
@ 2009-05-20 14:26   ` Oliver Buerschaper
  2009-05-21  0:10     ` Aditya Mahajan
  2 siblings, 1 reply; 10+ messages in thread
From: Oliver Buerschaper @ 2009-05-20 14:26 UTC (permalink / raw)
  To: mailing list for ConTeXt users

>> 1. The symbols for number sets in Cambria Math aren't taken from  
>> the double-struck variant.
>
> Hans, please apply the following patch to math-def.mkiv
>
> diff --git a/math-def.mkiv b/math-def.mkiv
> index 31db66e..30beb5c 100644
> --- a/math-def.mkiv
> +++ b/math-def.mkiv
> @@ -97,12 +97,12 @@
> \definemathcommand [tanh]    [nolop] {\mfunction{tanh}}
> \definemathcommand [tan]     [nolop] {\mfunction{tan}}
>
> -\definemathcommand [integers]        {\mfunction{Z}}
> -\definemathcommand [reals]           {\mfunction{R}}
> -\definemathcommand [rationals]       {\mfunction{Q}}
> -\definemathcommand [naturalnumbers]  {\mfunction{N}}
> -\definemathcommand [complexes]       {\mfunction{C}}
> -\definemathcommand [primes]          {\mfunction{P}}
> +\definemathcommand [integers]        {\mathblackboard{Z}}
> +\definemathcommand [reals]           {\mathblackboard{R}}
> +\definemathcommand [rationals]       {\mathblackboard{Q}}
> +\definemathcommand [naturalnumbers]  {\mathblackboard{N}}
> +\definemathcommand [complexes]       {\mathblackboard{C}}
> +\definemathcommand [primes]          {\mathblackboard{P}}
>
> % using attributes

Many thanks! Although this doesn't quite solve the bug yet, now I know  
where to look ...

Test case:

---
\starttext

\math{\primes P},
\math{\naturalnumbers N},
\math{\integers Z},
\math{\rationals Q},
\math{\reals R},
\math{\complexes C}

\stoptext
---

Proposed patch:

diff math-def.mkiv.orig math-def.mkiv
100,105c100,105
< \definemathcommand [integers]      {\mathblackboard{Z}}
< \definemathcommand [reals]         {\mathblackboard{R}}
< \definemathcommand [rationals]     {\mathblackboard{Q}}
< \definemathcommand [naturalnumbers]{\mathblackboard{N}}
< \definemathcommand [complexes]     {\mathblackboard{C}}
< \definemathcommand [primes]        {\mathblackboard{P}}
---
 > \definemathcommand [integers]      {{\mathblackboard Z}}
 > \definemathcommand [reals]         {{\mathblackboard R}}
 > \definemathcommand [rationals]     {{\mathblackboard Q}}
 > \definemathcommand [naturalnumbers]{{\mathblackboard N}}
 > \definemathcommand [complexes]     {{\mathblackboard C}}
 > \definemathcommand [primes]        {{\mathblackboard P}}

Hans, Aditya, does this make sense?

Oliver
___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


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

* Re: bugs in math engine?
  2009-05-20 14:26   ` Oliver Buerschaper
@ 2009-05-21  0:10     ` Aditya Mahajan
  2009-05-21  9:51       ` Hans Hagen
  0 siblings, 1 reply; 10+ messages in thread
From: Aditya Mahajan @ 2009-05-21  0:10 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Wed, 20 May 2009, Oliver Buerschaper wrote:

> Proposed patch:
>
> diff math-def.mkiv.orig math-def.mkiv
> 100,105c100,105
> < \definemathcommand [integers]      {\mathblackboard{Z}}
> < \definemathcommand [reals]         {\mathblackboard{R}}
> < \definemathcommand [rationals]     {\mathblackboard{Q}}
> < \definemathcommand [naturalnumbers]{\mathblackboard{N}}
> < \definemathcommand [complexes]     {\mathblackboard{C}}
> < \definemathcommand [primes]        {\mathblackboard{P}}
> ---
>> \definemathcommand [integers]      {{\mathblackboard Z}}
>> \definemathcommand [reals]         {{\mathblackboard R}}
>> \definemathcommand [rationals]     {{\mathblackboard Q}}
>> \definemathcommand [naturalnumbers]{{\mathblackboard N}}
>> \definemathcommand [complexes]     {{\mathblackboard C}}
>> \definemathcommand [primes]        {{\mathblackboard P}}
>
> Hans, Aditya, does this make sense?

Yes, I should unlearn amsmath syntax at some stage.

Aditya
___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


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

* Re: bugs in math engine?
  2009-05-21  0:10     ` Aditya Mahajan
@ 2009-05-21  9:51       ` Hans Hagen
  2009-05-21 13:40         ` Aditya Mahajan
  0 siblings, 1 reply; 10+ messages in thread
From: Hans Hagen @ 2009-05-21  9:51 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Aditya Mahajan wrote:
> On Wed, 20 May 2009, Oliver Buerschaper wrote:
> 
>> Proposed patch:
>>
>> diff math-def.mkiv.orig math-def.mkiv
>> 100,105c100,105
>> < \definemathcommand [integers]      {\mathblackboard{Z}}
>> < \definemathcommand [reals]         {\mathblackboard{R}}
>> < \definemathcommand [rationals]     {\mathblackboard{Q}}
>> < \definemathcommand [naturalnumbers]{\mathblackboard{N}}
>> < \definemathcommand [complexes]     {\mathblackboard{C}}
>> < \definemathcommand [primes]        {\mathblackboard{P}}
>> ---
>>> \definemathcommand [integers]      {{\mathblackboard Z}}
>>> \definemathcommand [reals]         {{\mathblackboard R}}
>>> \definemathcommand [rationals]     {{\mathblackboard Q}}
>>> \definemathcommand [naturalnumbers]{{\mathblackboard N}}
>>> \definemathcommand [complexes]     {{\mathblackboard C}}
>>> \definemathcommand [primes]        {{\mathblackboard P}}
>>
>> Hans, Aditya, does this make sense?
> 
> Yes, I should unlearn amsmath syntax at some stage.

\unexpanded\def\mathscript    {\setmathalphabet{script}}
\unexpanded\def\mathfraktur   {\setmathalphabet{fraktur}}
\unexpanded\def\mathblackboard{\setmathalphabet{blackboard}}

we can make these into

\unexpanded\def\mathscript    #1{{\setmathalphabet{script}#1}}
\unexpanded\def\mathfraktur   #1{{\setmathalphabet{fraktur}#1}}
\unexpanded\def\mathblackboard#1{{\setmathalphabet{blackboard}#1}}

\unexpanded\def\mathsr{\setmathalphabet{script}}
\unexpanded\def\mathfr{\setmathalphabet{fraktur}}
\unexpanded\def\mathbb{\setmathalphabet{blackboard}}

does that make sense?


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


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

* Re: bugs in math engine?
  2009-05-21  9:51       ` Hans Hagen
@ 2009-05-21 13:40         ` Aditya Mahajan
  0 siblings, 0 replies; 10+ messages in thread
From: Aditya Mahajan @ 2009-05-21 13:40 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Thu, 21 May 2009, Hans Hagen wrote:

> Aditya Mahajan wrote:
>> On Wed, 20 May 2009, Oliver Buerschaper wrote:
>> 
>>> Proposed patch:
>>> 
>>> diff math-def.mkiv.orig math-def.mkiv
>>> 100,105c100,105
>>> < \definemathcommand [integers]      {\mathblackboard{Z}}
>>> < \definemathcommand [reals]         {\mathblackboard{R}}
>>> < \definemathcommand [rationals]     {\mathblackboard{Q}}
>>> < \definemathcommand [naturalnumbers]{\mathblackboard{N}}
>>> < \definemathcommand [complexes]     {\mathblackboard{C}}
>>> < \definemathcommand [primes]        {\mathblackboard{P}}
>>> ---
>>>> \definemathcommand [integers]      {{\mathblackboard Z}}
>>>> \definemathcommand [reals]         {{\mathblackboard R}}
>>>> \definemathcommand [rationals]     {{\mathblackboard Q}}
>>>> \definemathcommand [naturalnumbers]{{\mathblackboard N}}
>>>> \definemathcommand [complexes]     {{\mathblackboard C}}
>>>> \definemathcommand [primes]        {{\mathblackboard P}}
>>> 
>>> Hans, Aditya, does this make sense?
>> 
>> Yes, I should unlearn amsmath syntax at some stage.
>
> \unexpanded\def\mathscript    {\setmathalphabet{script}}
> \unexpanded\def\mathfraktur   {\setmathalphabet{fraktur}}
> \unexpanded\def\mathblackboard{\setmathalphabet{blackboard}}
>
> we can make these into
>
> \unexpanded\def\mathscript    #1{{\setmathalphabet{script}#1}}
> \unexpanded\def\mathfraktur   #1{{\setmathalphabet{fraktur}#1}}
> \unexpanded\def\mathblackboard#1{{\setmathalphabet{blackboard}#1}}
>
> \unexpanded\def\mathsr{\setmathalphabet{script}}
> \unexpanded\def\mathfr{\setmathalphabet{fraktur}}
> \unexpanded\def\mathbb{\setmathalphabet{blackboard}}
>
> does that make sense?

Actually, better will be if we go for full ams compatibility:

Leave \mathscript, \mathfraktur, and \mathblackboard as they are, and 
define

\unexpanded\def\mathcal #1{{\setmathalphabet{script}#1}}
\unexpanded\def\mathfrak#1{{\setmathalphabet{fraktur}#1}}
\unexpanded\def\mathbb  #1{{\setmathalphabet{blackboard}#1}}

%TODO: Once bold is settled
%unexpanded\def\mathbf #1{{\setmathalphabet{bold}#1}}

% TODO: I need to actually see what exactly these commands to
%unexpanded\def\mathrm #1{{....}
%unexpanded\def\mathit #1{{....}

% TODO: Probably better will be \mathss since we use ss for sans serif
%unexpanded\def\mathsf #1{{....}

% TODO: \mathscr is euler script. We can add this, but need to figure out
% how to deal with two script families in a configurable way
% For LM one can go with either euler script or RSFS (or both?)
%unexpanded\def\mathscr #1{{...}

Aditya
___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


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

end of thread, other threads:[~2009-05-21 13:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-15 12:03 bugs in math engine? Oliver Buerschaper
2009-05-15 14:03 ` Aditya Mahajan
2009-05-15 14:28   ` Hans Hagen
     [not found]   ` <330B8D23-9AA4-4BF3-AE82-D665063C6261@mpq.mpg.de>
     [not found]     ` <alpine.LNX.2.00.0905151310560.25712@ybpnyubfg.ybpnyqbznva>
2009-05-15 20:26       ` Patrick Gundlach
2009-05-15 20:47         ` Aditya Mahajan
2009-05-16  5:45           ` Patrick Gundlach
2009-05-20 14:26   ` Oliver Buerschaper
2009-05-21  0:10     ` Aditya Mahajan
2009-05-21  9:51       ` Hans Hagen
2009-05-21 13:40         ` Aditya Mahajan

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