Re: [NTG-context] Length range control of the last line of paragraph

2016-03-26 Thread Hans Hagen



On 3/26/2016 2:31 PM, Jan Tosovsky wrote:

On 2016-03-26 Hans Hagen wrote:

On 3/25/2016 10:57 PM, Jan Tosovsky wrote:

On 2016-03-25 Hans Hagen wrote:

On 3/25/2016 2:40 PM, Jan Tosovsky wrote:

On 2016-03-24 Hans Hagen wrote:

On 3/24/2016 8:36 PM, Jan Tosovsky wrote:


We basically need:


and I thought this is exactly what \parfillskip ensures
\parfillskip XX plus (hsize - 3*indent)


the fil is taken into account when calculating the best break
points and then the XX is fixed but plus/minus can lead to if
being less or more, all relative to other fill (distributed)

so, XX plus (hsize - 3*indent) is not a fixed value, it's XX
or more


So the following \parfillskip specification finally seems to be
what I was looking for ...

\parfillskip \lastlinemingap plus 
\dimexpr\availablehsize-\lastlineminlength-\lastlinemingap\relax



\parfillskip \lastlinemingap plus 1fill

works just as well



I am getting slightly different results on several pages. The number of 
problematic cases is lower in my variant so I hope it makes still sense.


try \ward{}okay i.e. a short word at the end


Hmm, I indeed tested my approach with bad example.
Now your previous examples make more sense to me :-)


for your case i see no solution apart from heuristic lua magic


Bad news. But I hope my parfillskip will work for majority cases and these 
problematic with words shorter than parindent+tolerance can be fixed afterwards 
by joining them with previous words using non-breaking space.


that is what previously posted alternative hyphenater code does: making 
sure that there are some reasonable amount of characters / words



I'll look into your 'crap' paragraph builder lua code if this exception could 
be handled programmatically without touching the source file (i.e. test for 
short last line and treat leading whitespace as it was '~' if necessary).

Jan

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


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

Re: [NTG-context] Footnote markers

2016-03-26 Thread Robert Krug
Thank you! 

Robert

> On Mar 26, 2016, at 8:00 AM, Hans Hagen  wrote:
> 
> On 3/25/2016 11:42 PM, Robert Krug wrote:
>> Greetings,
>> 
>> Is there a way to attach a footnote marker to the text following the
>> footnote, rather than to the text preceding? That is, given something
>> like:
>> 
>> Some text
>> \footnote{note.}
>> more text.
>> 
>> I would get (using an asterisk here, but that is not important):
>> 
>> Some text *more text.
>> 
>> rather than:
>> 
>> Some text* more text.
>> 
>> I am trying to re-typeset a couple of documents from circa 1600
>> where it is done that way.
>> 
>> Many thanks for Context. It is quite nifty.
> 
> i've added an option for that (experimental in beta)
> 
> \starttext
> 
>test
>\footnote{note 1}
>\footnote{note 2}
>test
> 
>\setupnotes[footnote][anchor=next]
> 
>test
>\footnote{note 3}
>\footnote{note 4}
>test
> 
> \stoptext
> 
> 
> -
>  Hans Hagen | PRAGMA ADE
>  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>  tel: 038 477 53 69 | 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
> ___

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

Re: [NTG-context] Length range control of the last line of paragraph

2016-03-26 Thread Jan Tosovsky
On 2016-03-26 Hans Hagen wrote:
> On 3/25/2016 10:57 PM, Jan Tosovsky wrote:
> > On 2016-03-25 Hans Hagen wrote:
> >> On 3/25/2016 2:40 PM, Jan Tosovsky wrote:
> >>> On 2016-03-24 Hans Hagen wrote:
>  On 3/24/2016 8:36 PM, Jan Tosovsky wrote:
> >
> > We basically need:
> > 
> >
> > and I thought this is exactly what \parfillskip ensures
> > \parfillskip XX plus (hsize - 3*indent)
> >
>  the fil is taken into account when calculating the best break
>  points and then the XX is fixed but plus/minus can lead to if
>  being less or more, all relative to other fill (distributed)
> 
>  so, XX plus (hsize - 3*indent) is not a fixed value, it's XX 
>  or more
> >
> > So the following \parfillskip specification finally seems to be 
> > what I was looking for ...
> >
> > \parfillskip \lastlinemingap plus 
> > \dimexpr\availablehsize-\lastlineminlength-\lastlinemingap\relax
> >
>
> \parfillskip \lastlinemingap plus 1fill
> 
> works just as well
>

I am getting slightly different results on several pages. The number of 
problematic cases is lower in my variant so I hope it makes still sense.

> try \ward{}okay i.e. a short word at the end

Hmm, I indeed tested my approach with bad example.
Now your previous examples make more sense to me :-)

> for your case i see no solution apart from heuristic lua magic

Bad news. But I hope my parfillskip will work for majority cases and these 
problematic with words shorter than parindent+tolerance can be fixed afterwards 
by joining them with previous words using non-breaking space.

I'll look into your 'crap' paragraph builder lua code if this exception could 
be handled programmatically without touching the source file (i.e. test for 
short last line and treat leading whitespace as it was '~' if necessary).

Jan

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

Re: [NTG-context] Footnote markers

2016-03-26 Thread Hans Hagen

On 3/25/2016 11:42 PM, Robert Krug wrote:

Greetings,

Is there a way to attach a footnote marker to the text following the
footnote, rather than to the text preceding? That is, given something
like:

Some text
\footnote{note.}
more text.

I would get (using an asterisk here, but that is not important):

Some text *more text.

rather than:

Some text* more text.

I am trying to re-typeset a couple of documents from circa 1600
where it is done that way.

Many thanks for Context. It is quite nifty.


i've added an option for that (experimental in beta)

\starttext

test
\footnote{note 1}
\footnote{note 2}
test

\setupnotes[footnote][anchor=next]

test
\footnote{note 3}
\footnote{note 4}
test

\stoptext


-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
  tel: 038 477 53 69 | 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
___

Re: [NTG-context] Length range control of the last line of paragraph

2016-03-26 Thread Hans Hagen

On 3/25/2016 10:57 PM, Jan Tosovsky wrote:

On 2016-03-25 Hans Hagen wrote:

On 3/25/2016 2:40 PM, Jan Tosovsky wrote:

On 2016-03-24 Hans Hagen wrote:

On 3/24/2016 8:36 PM, Jan Tosovsky wrote:


We basically need:


and I thought this is exactly what \parfillskip ensures
\parfillskip XX plus (hsize - 3*indent)



the fil is taken into account when calculating the best break
points and then the XX is fixed but plus/minus can lead to if
being less or more, all relative to other fill (distributed)

so, XX plus (hsize - 3*indent) is not a fixed value, it's XX or
more

take this:

\ruledhbox to 10cm {x\hskip0pt plus 1cm x}

the skip will stretch more than 1cm


I can see.

But sorry for my ignorance, as far as I understand, \parfillskip
is added to the end of the paragraph, so we have rather
\ruledhbox to 10cm {x\hskip0pt plus 1cm} % without that 'x' at the
end, so no 'glue' distribution is performed


there is but not enough stretch so there will be a warning ... you
can see it from

\ruledhbox to 10cm {x}
\ruledhbox to 10cm {x\hskip0pt plus 1cm}
\ruledhbox to 10cm {x\hskip0pt plus 1fill}



I get it, thanks.


If '\parfillskip 2em plus (hsize - 3*(2em) - 2em)' is specified, I
still think we should get space of width at least 2em '' which
can be extended as indicated by hyphens '-' here:

emememememememememememememememememememem
emememememem

So there are two last line lengths extrems:
(shortest)
emememememememememememememememememememem
emememememem

(longest)
emememememememememememememememememememem
emememememememememememememememememem


you always add a 2em skip so there will never be a word touching the
right margin in the last line;


yes, but this is my goal (!)

See https://mailman.ntg.nl/pipermail/ntg-context/2016/084858.html - case (2)

I am afraid I hasn't been clear enough yet.



Can I somehow define command globally which takes local block widths?

\parfillskip #1 plus \localhsize-#1-#2, where
#1 gap width
#2 shortest line width


\availablehsize




So the following \parfillskip specification finally seems to be what I was 
looking for as it covers both cases in my original question:

\setupindenting[yes,2em]

\newdimen\lastlineminlength
\newdimen\lastlinemingap

\lastlineminlength=3em
\lastlinemingap=1em

\parfillskip \lastlinemingap plus 
\dimexpr\availablehsize-\lastlineminlength-\lastlinemingap\relax

\edef\ward{\cldloadfile{ward}}

\starttext

\dorecurse{100}{
  \hsize\dimexpr\textwidth-#1mm\relax
  \ward  \par
  \ward  \par
  \startnarrower[left]
  \ward \par
  \ward \par
  \stopnarrower
  \page
}

\stoptext


try \ward{}okay i.e. a short word at the end and you'll see theh

\parfillskip \lastlinemingap plus 1fill

works just as well


As it can be done in one place globally and in almost single line, no special 
new command is necessary (as requested originally).


i've removed the one|two|three and added final|2*final|3*final|4*final

where final is a hspace of one em by default

the only purpose of this feature is to ensure a gap at the end (handy 
when there is no indentation)


for your case i see no solution apart from heuristic lua magic

Hans


-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
  tel: 038 477 53 69 | 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
___