Re: [NTG-context] CSS selector for elements strictly preceded by other elements

2018-08-04 Thread Hans Hagen

On 8/3/2018 4:31 PM, MF wrote:



make a (real) minimal example and we'll see what can be done



Here it is:

\startbuffer[test]

   In this paragraphfirst footnoteendnote 
strictly
   following a footnote (no other XML nodes between them)
   a footnote marker and an endnote marker are at the same point in the text;
   in the XML source, their elements are contiguous, with nothing in between.
   The CSS selector footnote + endnote works right, and the setup
   associated to that selector puts a comma between their markers to
   separate them in the typesetting.

   In this paragraphsecond footnote they don't occur at 
the
   same point in the textendnote comes after footnote: there's some
   text between them, but no XML elements;
   for the CSS selector footnote + endnote it's the same case of 
the previous paragraph,
   because there's no other XML element between the footnote and 
the
   endnote elements: that's why you still see a comma before
   the endnote's marker, but this time it's not what I want.

   In this paragraphthird footnote they don't occur at 
the
   same point in the text, and the CSS selector footnote + endnote
   does not matchendnote comes after footnote, but there are 3 nodes
   between them: a text, a code element, another text,
   because there's a code element between footnote
   and endnote elements.

   CSS has no operator to discriminate between the first two cases.

\stopbuffer

\setupnotation[footnote][numberconversion=a]
\setupwhitespace[line]

\startxmlsetups xml:notesetups
   \xmlsetsetup{#1}{body|p|footnote|code}{xml:*}
   \xmlsetsetup{#1}{{endnote}}{xml:endnote}
   \xmlsetsetup{#1}{{footnote + endnote}}{xml:endnote-after-footnote}
\stopxmlsetups

\xmlregistersetup{xml:notesetups}

\startxmlsetups xml:body
   \xmlflush{#1}
\stopxmlsetups

\startxmlsetups xml:p
   \xmlflush{#1}\par
\stopxmlsetups

\startxmlsetups xml:footnote
   \footnote{\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:code
   {\tt\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:endnote
   \endnote{\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:endnote-after-footnote
   \high{,}\endnote{\xmlflush{#1}}
\stopxmlsetups

\starttext
   \xmlprocessbuffer{main}{test}{}
   \page
   \placenotes[endnote]
\stoptext


The obvious ...

\setupnotes[textseparator={, }]

\startxmlsetups xml:notesetups
\xmlsetsetup{#1}{body|p|footnote|endnote|code}{xml:*}
\stopxmlsetups

\startxmlsetups xml:endnote
\endnote{\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:footnote
\footnote{\xmlflush{#1}}
\stopxmlsetups




--

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | 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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___

Re: [NTG-context] CSS selector for elements strictly preceded by other elements

2018-08-03 Thread MF

> make a (real) minimal example and we'll see what can be done
> 

Here it is:

\startbuffer[test]

  In this paragraphfirst footnoteendnote 
strictly
  following a footnote (no other XML nodes between them)
  a footnote marker and an endnote marker are at the same point in the text;
  in the XML source, their elements are contiguous, with nothing in between.
  The CSS selector footnote + endnote works right, and the setup
  associated to that selector puts a comma between their markers to
  separate them in the typesetting.

  In this paragraphsecond footnote they don't occur at 
the
  same point in the textendnote comes after footnote: there's some
  text between them, but no XML elements;
  for the CSS selector footnote + endnote it's the same case of 
the previous paragraph,
  because there's no other XML element between the footnote and the
  endnote elements: that's why you still see a comma before
  the endnote's marker, but this time it's not what I want.

  In this paragraphthird footnote they don't occur at 
the
  same point in the text, and the CSS selector footnote + endnote
  does not matchendnote comes after footnote, but there are 3 nodes
  between them: a text, a code element, another text,
  because there's a code element between footnote
  and endnote elements.

  CSS has no operator to discriminate between the first two cases.

\stopbuffer

\setupnotation[footnote][numberconversion=a]
\setupwhitespace[line]

\startxmlsetups xml:notesetups
  \xmlsetsetup{#1}{body|p|footnote|code}{xml:*}
  \xmlsetsetup{#1}{{endnote}}{xml:endnote}
  \xmlsetsetup{#1}{{footnote + endnote}}{xml:endnote-after-footnote}
\stopxmlsetups

\xmlregistersetup{xml:notesetups}

\startxmlsetups xml:body
  \xmlflush{#1}
\stopxmlsetups

\startxmlsetups xml:p
  \xmlflush{#1}\par
\stopxmlsetups

\startxmlsetups xml:footnote
  \footnote{\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:code
  {\tt\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:endnote
  \endnote{\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:endnote-after-footnote
  \high{,}\endnote{\xmlflush{#1}}
\stopxmlsetups

\starttext
  \xmlprocessbuffer{main}{test}{}
  \page
  \placenotes[endnote]
\stoptext
___
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___

Re: [NTG-context] CSS selector for elements strictly preceded by other elements

2018-08-02 Thread Hans Hagen

On 8/2/2018 10:20 AM, MF wrote:

Hello list,
please consider these XML snippets:

some text

some textblah blahsome other text



now apply these CSS selectors to them:

e ~ f matches all

e + f matches the first and the third

There's no CSS selector to match ONLY the third.

But i have a use case for that: sometimes i have endnote markers that
immediately follow footnote markers.
Since -- in my layout -- footnotes have letter markers and endnotes
numbers, it results in something like "c30" in superscript.
It would be nice putting a comma between them ("c,30") or a thin space,
but the "e + f" selector does not discriminate between:

blah blah

and

blah blah some other text 

it would match both, but it's only the first one that i want to catch.

I'd suggest a non-standard "e ++ f" operator.
Would you prefer a lpath expression (which one)?

make a (real) minimal example and we'll see what can be done

Hans

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | 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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___

[NTG-context] CSS selector for elements strictly preceded by other elements

2018-08-02 Thread MF
Hello list,
please consider these XML snippets:

some text

some textblah blahsome other text



now apply these CSS selectors to them:

e ~ f matches all

e + f matches the first and the third

There's no CSS selector to match ONLY the third.

But i have a use case for that: sometimes i have endnote markers that
immediately follow footnote markers.
Since -- in my layout -- footnotes have letter markers and endnotes
numbers, it results in something like "c30" in superscript.
It would be nice putting a comma between them ("c,30") or a thin space,
but the "e + f" selector does not discriminate between:

blah blah

and

blah blah some other text 

it would match both, but it's only the first one that i want to catch.

I'd suggest a non-standard "e ++ f" operator.
Would you prefer a lpath expression (which one)?

Greetings,
Massi
___
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___