ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* lmtx update
@ 2020-07-31  8:32 Hans Hagen
  2020-07-31  8:40 ` Taco Hoekwater
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Hans Hagen @ 2020-07-31  8:32 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

Sorry for the long mail ...

One of the changes in lmtx is that we freeze the properties that 
determine the paragraph shape as well as breaking into lines in such a 
way that we have predictable behaviour. As a side effect it can be that 
existing code (lmtx only) will behave differently (will be fixed when we 
notice) but also that some low level user tweaking can not work, i.e. 
they are just ignored, but only when they happen mid paragraph which 
actually is always debatable anyway.

Now, if for some reasom you get unexpected results and can't wait for a 
fix, you can do this:

   \forgetparagraphfreezing : disables
   \setparagraphfreezing    : enables (default)

Of course it might have other side effects once in lmtx we everywhere 
expect freezing to be enabled. You can take a snapshot with:

   \freezeparagraphproperties  : snapshot relevant parameters
   \defrostparagraphproperties : resets snapshot

More efficient is snapshotting a subcategory:

   \updateparagraphproperties : all
   \updateparagraphpenalties  : only penalties
   \updateparagraphdemerits   : other than penalties
   \updateparagraphshapes     : hangindent etc

Don't use the low level commands that they use because we take plenty of 
time to experiment at that level and interfaces might evolve, for instance:

\frozen\hangindent 30pt
\frozen\hangafter  2

is valid and will likely stay.

We're talking of a conceptually rather different approach. Internally 
the engine is still doing the same things but we can control it a bit 
differently. Due to the way ConTeXt is set up, we can make such a 
paradigm shift without too much troubles. I'll wrap up more details in 
an article later.

Other work in progress is: better columns in itemize, esp proper 
footnote support (not that I ever need that but I know users do so ...), 
experiments work ok, but I need to check spacing. In general, footnotes 
(will) behave a bit better, especially those used nested in other 
mechanisms. A side effect of more control is that we can do other tricks 
too and we're playing with it (kind of fun).

More work in progress concerns paragraph wrappers and that will result 
in a rewrite of some existing mechanism (generic subsystems with 
instances), but that might as well go unnoticed.

To give an idea of possibilities, here is an example:

\definedescription[whatever][alternative=right:bottom]

\startwhatever{just a small\\example}
     \input ward
\stopwhatever

No one ever requested it so see it an a quick and dirty example but 
don't hesitate to ask for more anyway (we like an occasional challenge).

Anyway, it might take some weeks / iterations before all this settles 
down and now you can't say that we didn't warn you.

So far,

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
___________________________________________________________________________________

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

* Re: lmtx update
  2020-07-31  8:32 lmtx update Hans Hagen
@ 2020-07-31  8:40 ` Taco Hoekwater
  2020-07-31 10:18   ` Hans Hagen
  2020-08-01 13:20 ` Otared Kavian
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 14+ messages in thread
From: Taco Hoekwater @ 2020-07-31  8:40 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi Hans,

> On 31 Jul 2020, at 10:32, Hans Hagen <j.hagen@xs4all.nl> wrote:
> 
> Hi,
> 
> Sorry for the long mail ...
> 
> One of the changes in lmtx is that we freeze the properties that determine the paragraph shape as well as breaking into lines in such a way that we have predictable behaviour. As a side effect it can be that existing code (lmtx only) will behave differently (will be fixed when we notice) but also that some low level user tweaking can not work, i.e. they are just ignored, but only when they happen mid paragraph which actually is always debatable anyway.
> 
> Now, if for some reasom you get unexpected results and can't wait for a fix, you can do this:
> 
>  \forgetparagraphfreezing : disables
>  \setparagraphfreezing    : enables (default)

Are those global or local or can they be prefixed? For example, can we do this:

  \setparagraphfreezing
  ….
  \placefigure[left]{}{} {Bla bla \forgetparagraphfreezing .. <override some stuff> }

or would that still trigger the built-in freeze ?


> 
> Of course it might have other side effects once in lmtx we everywhere expect freezing to be enabled. You can take a snapshot with:
> 
>  \freezeparagraphproperties  : snapshot relevant parameters
>  \defrostparagraphproperties : resets snapshot
> 
> More efficient is snapshotting a subcategory:
> 
>  \updateparagraphproperties : all
>  \updateparagraphpenalties  : only penalties
>  \updateparagraphdemerits   : other than penalties
>  \updateparagraphshapes     : hangindent etc
> 
> Don't use the low level commands that they use because we take plenty of time to experiment at that level and interfaces might evolve, for instance:
> 
> \frozen\hangindent 30pt
> \frozen\hangafter  2
> 
> is valid and will likely stay.
> 
> We're talking of a conceptually rather different approach. Internally the engine is still doing the same things but we can control it a bit differently. Due to the way ConTeXt is set up, we can make such a paradigm shift without too much troubles. I'll wrap up more details in an article later.
> 
> Other work in progress is: better columns in itemize, esp proper footnote support (not that I ever need that but I know users do so ...), experiments work ok, but I need to check spacing. In general, footnotes (will) behave a bit better, especially those used nested in other mechanisms. A side effect of more control is that we can do other tricks too and we're playing with it (kind of fun).
> 
> More work in progress concerns paragraph wrappers and that will result in a rewrite of some existing mechanism (generic subsystems with instances), but that might as well go unnoticed.
> 
> To give an idea of possibilities, here is an example:
> 
> \definedescription[whatever][alternative=right:bottom]
> 
> \startwhatever{just a small\\example}
>    \input ward
> \stopwhatever
> 
> No one ever requested it so see it an a quick and dirty example but don't hesitate to ask for more anyway (we like an occasional challenge).
> 
> Anyway, it might take some weeks / iterations before all this settles down and now you can't say that we didn't warn you.
> 
> So far,
> 
> 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
> ___________________________________________________________________________________

Taco Hoekwater
Elvenkind BV




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

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

* Re: lmtx update
  2020-07-31  8:40 ` Taco Hoekwater
@ 2020-07-31 10:18   ` Hans Hagen
  0 siblings, 0 replies; 14+ messages in thread
From: Hans Hagen @ 2020-07-31 10:18 UTC (permalink / raw)
  To: mailing list for ConTeXt users, Taco Hoekwater

On 7/31/2020 10:40 AM, Taco Hoekwater wrote:
> Hi Hans,
> 
>> On 31 Jul 2020, at 10:32, Hans Hagen <j.hagen@xs4all.nl> wrote:
>>
>> Hi,
>>
>> Sorry for the long mail ...
>>
>> One of the changes in lmtx is that we freeze the properties that determine the paragraph shape as well as breaking into lines in such a way that we have predictable behaviour. As a side effect it can be that existing code (lmtx only) will behave differently (will be fixed when we notice) but also that some low level user tweaking can not work, i.e. they are just ignored, but only when they happen mid paragraph which actually is always debatable anyway.
>>
>> Now, if for some reasom you get unexpected results and can't wait for a fix, you can do this:
>>
>>   \forgetparagraphfreezing : disables
>>   \setparagraphfreezing    : enables (default)
> 
> Are those global or local or can they be prefixed? For example, can we do this:
> 
>    \setparagraphfreezing
>    ….
>    \placefigure[left]{}{} {Bla bla \forgetparagraphfreezing .. <override some stuff> }

the forget will basically tell the system that it should use the normal 
(register) variables ... a freeze stores values in the local par node 
but also stores which parameters are stored, so it is selective (one can 
  freeze specific ones

\snapshotpar \frozenhangaftercode

which now makes me think: i can let a negative value do a specific 
unfreeze (\snapshotpar0 will unfreeze all)

> or would that still trigger the built-in freeze ?

the (enabled by default) stored the values right after the par has started

\setparagraphfreezing

so then these values are frozen

a successive change is then not used, but say that you do

\parfillskip100pt

in the middle of a paragraph, then that one will affect the next paragraph

\bgroup
\frozen \parfillskip100pt
\egroup

when this is done inside a paragraph, the assignment is done local, then 
it gets frozen in the current paragraph but it will not affect the next 
paragraph unless of course you used \global

(\frozen is just a prefix and when it's time to do an assignment, just 
like the global state is checked, the frozen state is checked, and 
applied after the normal assignment, of course only for variables that 
deal with the par buildingl it is ignored otherwise; so, \frozen also 
works here: \frozen\advance\leftskip 10pt\relax)

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
___________________________________________________________________________________

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

* Re: lmtx update
  2020-07-31  8:32 lmtx update Hans Hagen
  2020-07-31  8:40 ` Taco Hoekwater
@ 2020-08-01 13:20 ` Otared Kavian
  2020-08-01 14:17   ` Hans Hagen
  2020-08-01 16:41   ` Henning Hraban Ramm
  2020-08-02  3:30 ` lmtx update Aditya Mahajan
  2020-08-03 17:37 ` Pablo Rodriguez
  3 siblings, 2 replies; 14+ messages in thread
From: Otared Kavian @ 2020-08-01 13:20 UTC (permalink / raw)
  To: mailing list for ConTeXt users

> On 31 Jul 2020, at 10:32, Hans Hagen <j.hagen@xs4all.nl> wrote:
> 
> […]
> 
> Other work in progress is: better columns in itemize, esp proper footnote support (not that I ever need that but I know users do so ...), experiments work ok, but I need to check spacing. In general, footnotes (will) behave a bit better, especially those used nested in other mechanisms. A side effect of more control is that we can do other tricks too and we're playing with it (kind of fun).

Hi Hans,

Thanks for your explanations.

Regarding footnotes, would it be possible to have a built-in support for writing the footnotes in the margin? (For instance, assuming that the layout is such that for instance the right margin takes 1/3 of the page width, then the footnotes would occupy the right margin, beginning at the top).

Best regards: Otared

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

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

* Re: lmtx update
  2020-08-01 13:20 ` Otared Kavian
@ 2020-08-01 14:17   ` Hans Hagen
  2020-08-01 16:20     ` Otared Kavian
  2020-08-01 16:41   ` Henning Hraban Ramm
  1 sibling, 1 reply; 14+ messages in thread
From: Hans Hagen @ 2020-08-01 14:17 UTC (permalink / raw)
  To: mailing list for ConTeXt users, Otared Kavian

On 8/1/2020 3:20 PM, Otared Kavian wrote:
>> On 31 Jul 2020, at 10:32, Hans Hagen <j.hagen@xs4all.nl> wrote:
>>
>> […]
>>
>> Other work in progress is: better columns in itemize, esp proper footnote support (not that I ever need that but I know users do so ...), experiments work ok, but I need to check spacing. In general, footnotes (will) behave a bit better, especially those used nested in other mechanisms. A side effect of more control is that we can do other tricks too and we're playing with it (kind of fun).
> 
> Hi Hans,
> 
> Thanks for your explanations.
> 
> Regarding footnotes, would it be possible to have a built-in support for writing the footnotes in the margin? (For instance, assuming that the layout is such that for instance the right margin takes 1/3 of the page width, then the footnotes would occupy the right margin, beginning at the top).
It depends on what you want. This works ok:

\setuplayout
   [cutspace=5cm,
    width=middle,
    margin=4cm]

\setuptexttexts
   [margin]
   [] [{\directsetup{notabene}}]

\startsetups notabene
     \vbox to \textheight \bgroup
         \setupalign[tolerant]
         \topskipcorrection
         \placenotes[endnote][before=,after=]
         \vfilll
     \egroup
\stopsetups

\starttext

test \endnote{\input ward }\par
test \endnote{x}\par
test \endnote{x}\par

\setups{notaflush}

\stoptext

This one handles overflow (suboptimal, nicer is stepwise flushing) but 
this one also flushes notes that have refs on the next page. It just 
indicates the usual: most can be done in tex without too much hassle but 
one always needs to think about the edge cases as users can drop 
anything in there and all can interfere.

\newbox\MyNoteOverflow

\startsetups notabene
      \setbox\scratchbox\vbox\bgroup
         \setupalign[tolerant]
         \ifvoid\MyNoteOverflow \else
             \unvbox\MyNoteOverflow
         \fi
         \placenotes[endnote][before=,after=]
     \egroup
     \scratchdimen\dimexpr\textheight-.5\lineheight\relax
     \ifdim\ht\scratchbox>\scratchdimen
         \global\setbox\MyNoteOverflow\box\scratchbox
         \setbox\scratchbox\vsplit \MyNoteOverflow to \scratchdimen
     \fi
     \vbox\bgroup
         \topskipcorrection
         \unvbox\scratchbox
         \vfilll
     \egroup
\stopsetups

\startsetups notaflush
     \doloop {
         \page
         \ifvoid\MyNoteOverflow
            \exitloop
         \else
            \null \page
         \fi
     }
\stopsetups

\starttext

test \endnote{\input ward }\par
test \endnote{x}\par
test \endnote{x}\par

\setups{notaflush}

\stoptext

Variants (i can make one but not with this warm weather) can use 
selective flushing (all kinds of things are possible with notes) but 
another challenge is to have an independent criterium hooked into the 
page builder (when i'm done with playing with extensions regarding pars 
i might give that a go ... as usual more a challenge than a need so i 
need some motive).

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
___________________________________________________________________________________

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

* Re: lmtx update
  2020-08-01 14:17   ` Hans Hagen
@ 2020-08-01 16:20     ` Otared Kavian
  0 siblings, 0 replies; 14+ messages in thread
From: Otared Kavian @ 2020-08-01 16:20 UTC (permalink / raw)
  To: mailing list for ConTeXt users

> On 1 Aug 2020, at 16:17, Hans Hagen <j.hagen@xs4all.nl> wrote:
> 
> On 8/1/2020 3:20 PM, Otared Kavian wrote:
>>> On 31 Jul 2020, at 10:32, Hans Hagen <j.hagen@xs4all.nl> wrote:
>>> 
>>> […]
>>> 
>>> Other work in progress is: better columns in itemize, esp proper footnote support (not that I ever need that but I know users do so ...), experiments work ok, but I need to check spacing. In general, footnotes (will) behave a bit better, especially those used nested in other mechanisms. A side effect of more control is that we can do other tricks too and we're playing with it (kind of fun).
>> Hi Hans,
>> Thanks for your explanations.
>> Regarding footnotes, would it be possible to have a built-in support for writing the footnotes in the margin? (For instance, assuming that the layout is such that for instance the right margin takes 1/3 of the page width, then the footnotes would occupy the right margin, beginning at the top).
> It depends on what you want. This works ok:
> […]

Hi Hans,

That's great! Thanks a lot!
I have two questions in order to adapt what you sent to my case.
I played a bit with your second solution, as in:

%%%%%%% begin sidenote-Hans.tex
\showframe
\setupinteraction[state=start]
\setuplayout
	[cutspace=7cm,
	width=middle,
	margin=5cm,
	margindistance=7mm]

\setuptexttexts
	[margin]
	[] [{\directsetup{notabene}}]

\newbox\MyNoteOverflow
\setupnotation[endnote]
	[interaction=yes,
	after={\blank[big]}]
	
\startsetups notabene
	\setbox\scratchbox\vbox
	\bgroup
		\setupalign[tolerant]
		\ifvoid\MyNoteOverflow 
		\else
			\unvbox\MyNoteOverflow
		\fi
		\placenotes[endnote][before=,after=]
	\egroup
	\scratchdimen\dimexpr\textheight-.5\lineheight\relax
	\ifdim\ht\scratchbox>\scratchdimen
		\global\setbox\MyNoteOverflow\box\scratchbox
		\setbox\scratchbox\vsplit \MyNoteOverflow to \scratchdimen
	\fi
	\vbox
	\bgroup
		\topskipcorrection
		\unvbox\scratchbox
		\vfilll
	\egroup
\stopsetups

\startsetups notaflush
	\doloop {
	\page
	\ifvoid\MyNoteOverflow
		\exitloop
	\else
		\null \page
	\fi
	}
\stopsetups

\starttext

\dorecurse{10}{
	test \endnote{\input ward }\input tufte.tex \par
	test \endnote{This is a note about Ward, who says: \par \input ward.tex} \input ward.tex \par
	test \endnote{This is a note about Donald Knuth.} \input knuth.tex \par
	}
This is a last note. \endnote{This last note is here to see what happens in the next page\dots\par \input knuth.tex}
\par \input knuth.tex
%\setups{notaflush}
\stoptext
%%%%%%% end sidenote-Hans.tex

The first question is why did you define a setups called notaflush, and why your example works fine without using it ?

The second question is: the side notes are vertically centered in the margin (one can see this when the notes do not cover all the margin), which is fine for me. But, out of curiosity, what can be changed in the setups notabene in order to have the notes to begin at the top of the margin ?
(When a note runs into the next page, as in the last note, then it would be nicer to begin on top of the margin).

Thanks again: Otared K.
___________________________________________________________________________________
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
___________________________________________________________________________________

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

* Re: lmtx update
  2020-08-01 13:20 ` Otared Kavian
  2020-08-01 14:17   ` Hans Hagen
@ 2020-08-01 16:41   ` Henning Hraban Ramm
  2020-08-01 16:57     ` Otared Kavian
  1 sibling, 1 reply; 14+ messages in thread
From: Henning Hraban Ramm @ 2020-08-01 16:41 UTC (permalink / raw)
  To: mailing list for ConTeXt users


> Am 01.08.2020 um 15:20 schrieb Otared Kavian <otared@gmail.com>:
> 
> Regarding footnotes, would it be possible to have a built-in support for writing the footnotes in the margin? (For instance, assuming that the layout is such that for instance the right margin takes 1/3 of the page width, then the footnotes would occupy the right margin, beginning at the top).

I wanted to have footnotes in the margin, possibly starting in the same line as the marker.

Wolfgang came up with this:
https://wiki.contextgarden.net/Footnotes#..._but_not_at_the_bottom

(Not related to LMTX.)

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

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

* Re: lmtx update
  2020-08-01 16:41   ` Henning Hraban Ramm
@ 2020-08-01 16:57     ` Otared Kavian
  2020-08-01 17:19       ` margin notes (was: lmtx update) Henning Hraban Ramm
  0 siblings, 1 reply; 14+ messages in thread
From: Otared Kavian @ 2020-08-01 16:57 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi Hraban,

Thank you for reminding me of the solution cooked up by Wolfgang for you a few years ago. That solution works fine when the notes are short enough, but in some cases the notes in the margin bump into each other (indeed it is not a good habit to have long notes, but in some cases one cannot avoid them).

Best regards: Otared 

> On 1 Aug 2020, at 18:41, Henning Hraban Ramm <texml@fiee.net> wrote:
> 
> 
>> Am 01.08.2020 um 15:20 schrieb Otared Kavian <otared@gmail.com>:
>> 
>> Regarding footnotes, would it be possible to have a built-in support for writing the footnotes in the margin? (For instance, assuming that the layout is such that for instance the right margin takes 1/3 of the page width, then the footnotes would occupy the right margin, beginning at the top).
> 
> I wanted to have footnotes in the margin, possibly starting in the same line as the marker.
> 
> Wolfgang came up with this:
> https://wiki.contextgarden.net/Footnotes#..._but_not_at_the_bottom
> 
> (Not related to LMTX.)
> 
> Hraban
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________

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

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

* Re: margin notes (was: lmtx update)
  2020-08-01 16:57     ` Otared Kavian
@ 2020-08-01 17:19       ` Henning Hraban Ramm
  2020-08-01 20:36         ` Otared Kavian
  0 siblings, 1 reply; 14+ messages in thread
From: Henning Hraban Ramm @ 2020-08-01 17:19 UTC (permalink / raw)
  To: mailing list for ConTeXt users



> Am 01.08.2020 um 18:57 schrieb Otared Kavian <otared@gmail.com>:
> 
> Hi Hraban,
> 
> Thank you for reminding me of the solution cooked up by Wolfgang for you a few years ago. That solution works fine when the notes are short enough, but in some cases the notes in the margin bump into each other (indeed it is not a good habit to have long notes, but in some cases one cannot avoid them).

One essential bit is missing in the wiki example:

\setupmargindata[inmargin][
  location=right,
  stack=continue, % !!
  align=flushright,
]

The code I’m actually using for our German literature magazine “Kritische Ausgabe” is much more elaborated, but also cluttered with obsolete stuff – I need to sort that out some time...
(I only deleted some styling.)

%%% Footnotes / Marginals

\setupmargindata[inmargin][
  location=right,
  stack=continue,
  align=flushright,
]
\setupmargindata[inouter][
  location=right,
  stack=continue,
  align=flushright,
]

\def\FNVOffset{0} % Negative vertical offset of footnotes in lines
% Manual tweaking was necessary for a while, when stacking didn’t work reliably.

\def\MarginNote#1{%
\inmargin[
  voffset=\dimexpr-\FNVOffset\lineheight\relax,
  width=\ColWidth,
  align=flushleft,
]{%
  \inframed[
    width=\ColWidth,
    align=right,
    frame=off,
    offset=overlay,
    strut=yes,
    ]{#1}%
  }%
}

\define\PlaceFootnote{%
\inmargin[
  voffset=\dimexpr-\FNVOffset\lineheight\relax,
  width=\ColWidth,
]{%
  \vtop{\placelocalnotes[footnote][before=,after=]}}%
}

\def\FNo#1{{#1~}}
% I never managed to get number and text in consecutive lines without indented text
% or at least a constant whitespace after the number.

\setupnote[footnote][
  location=text,
  bodyfont=,
  indenting=no,
  before={\noindentation},
  next=\PlaceFootnote,
]

\setupnotation[footnote][
	way=bychapter,
	align=flushleft,
  indenting=no,
  location=serried,
  alternative=serried,
  width=broad,
  numbercommand=\FNo,
] % footnote text

\setuptexttexts[margin][][%
  {\framed[
    align={flushright,bottom},
    frame=off,
    height=\textheight,
    width=\ColWidth,
  ]{%
    \strut\vfill\placenotes[footnote]}}%
]


Best, Hraban

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

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

* Re: margin notes (was: lmtx update)
  2020-08-01 17:19       ` margin notes (was: lmtx update) Henning Hraban Ramm
@ 2020-08-01 20:36         ` Otared Kavian
  2020-08-01 21:01           ` Henning Hraban Ramm
  0 siblings, 1 reply; 14+ messages in thread
From: Otared Kavian @ 2020-08-01 20:36 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi Hraban,

Thank you for taking the time to send your code for sidenotes.
Unfortunately when I add

\starttext
test\footnote{A footnote in the margin.}
\stoptext

to your code, I get an error and unfortunately with recent versions of LMTX the error message 
!  Undefined control sequence
is not helpful to find the error… (LMTX considers \footnote as an undefined control sequence…).

Best regards: Otared

> On 1 Aug 2020, at 19:19, Henning Hraban Ramm <texml@fiee.net> wrote:
> 
> 
> 
>> Am 01.08.2020 um 18:57 schrieb Otared Kavian <otared@gmail.com>:
>> 
>> Hi Hraban,
>> 
>> Thank you for reminding me of the solution cooked up by Wolfgang for you a few years ago. That solution works fine when the notes are short enough, but in some cases the notes in the margin bump into each other (indeed it is not a good habit to have long notes, but in some cases one cannot avoid them).
> 
> One essential bit is missing in the wiki example:
> 
> \setupmargindata[inmargin][
>  location=right,
>  stack=continue, % !!
>  align=flushright,
> ]
> 
> The code I’m actually using for our German literature magazine “Kritische Ausgabe” is much more elaborated, but also cluttered with obsolete stuff – I need to sort that out some time...
> (I only deleted some styling.)
> 
> %%% Footnotes / Marginals
> 
> \setupmargindata[inmargin][
>  location=right,
>  stack=continue,
>  align=flushright,
> ]
> \setupmargindata[inouter][
>  location=right,
>  stack=continue,
>  align=flushright,
> ]
> 
> \def\FNVOffset{0} % Negative vertical offset of footnotes in lines
> % Manual tweaking was necessary for a while, when stacking didn’t work reliably.
> 
> \def\MarginNote#1{%
> \inmargin[
>  voffset=\dimexpr-\FNVOffset\lineheight\relax,
>  width=\ColWidth,
>  align=flushleft,
> ]{%
>  \inframed[
>    width=\ColWidth,
>    align=right,
>    frame=off,
>    offset=overlay,
>    strut=yes,
>    ]{#1}%
>  }%
> }
> 
> \define\PlaceFootnote{%
> \inmargin[
>  voffset=\dimexpr-\FNVOffset\lineheight\relax,
>  width=\ColWidth,
> ]{%
>  \vtop{\placelocalnotes[footnote][before=,after=]}}%
> }
> 
> \def\FNo#1{{#1~}}
> % I never managed to get number and text in consecutive lines without indented text
> % or at least a constant whitespace after the number.
> 
> \setupnote[footnote][
>  location=text,
>  bodyfont=,
>  indenting=no,
>  before={\noindentation},
>  next=\PlaceFootnote,
> ]
> 
> \setupnotation[footnote][
> 	way=bychapter,
> 	align=flushleft,
>  indenting=no,
>  location=serried,
>  alternative=serried,
>  width=broad,
>  numbercommand=\FNo,
> ] % footnote text
> 
> \setuptexttexts[margin][][%
>  {\framed[
>    align={flushright,bottom},
>    frame=off,
>    height=\textheight,
>    width=\ColWidth,
>  ]{%
>    \strut\vfill\placenotes[footnote]}}%
> ]
> 
> 
> Best, Hraban
> 
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________

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

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

* Re: margin notes (was: lmtx update)
  2020-08-01 20:36         ` Otared Kavian
@ 2020-08-01 21:01           ` Henning Hraban Ramm
  2020-08-01 21:35             ` Otared Kavian
  0 siblings, 1 reply; 14+ messages in thread
From: Henning Hraban Ramm @ 2020-08-01 21:01 UTC (permalink / raw)
  To: mailing list for ConTeXt users


> Am 01.08.2020 um 22:36 schrieb Otared Kavian <otared@gmail.com>:
> 
> Hi Hraban,
> 
> Thank you for taking the time to send your code for sidenotes.
> Unfortunately when I add
> 
> \starttext
> test\footnote{A footnote in the margin.}
> \stoptext
> 
> to your code, I get an error and unfortunately with recent versions of LMTX the error message 
> !  Undefined control sequence
> is not helpful to find the error… (LMTX considers \footnote as an undefined control sequence…).
> 

Of course it’s not \footnote that is undefined but something else from my code – I didn’t take the time to strip it of all the references to other setups in the same environment, probably \ColWidth that was just a shortcut for the column width:
\def\ColWidth{57mm}

Hraban

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

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

* Re: margin notes (was: lmtx update)
  2020-08-01 21:01           ` Henning Hraban Ramm
@ 2020-08-01 21:35             ` Otared Kavian
  0 siblings, 0 replies; 14+ messages in thread
From: Otared Kavian @ 2020-08-01 21:35 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi Hraban,

Thanks for the hint… indeed I did see that \ColWidth command but didn't think about its definition… Sorry!

Now with \ColWidth defined, your code works fine and it has the advantage that the text of the sidenote begins in the margin at the level where the \footnote command appears. However, it cannot control the overflow of a sidenote to the next page, whereas the code given by Hans can do that. I admit that this does not happen very often since a well designed text should not have too many long sidenotes…

In case other users would like to use your code, I put the whole example below.

Best regards: Otared
%%% sidenotes, or footnotes in the margin
%%% example given by Hraban:
%%% here the tweaking of the width of the sidenote is turned off
%%% remove the comment where there is \ColWidth
%%% in order to adapt to your layout
\showframe
\setuplayout
	[cutspace=7cm,
	width=middle,
	margin=5cm,
	margindistance=7mm]

%\def\ColWidth{57mm}
\setupmargindata[inmargin]
	[location=right,
	stack=continue,
	align=flushright,
	]

\setupmargindata[inouter]
	[location=right,
	stack=continue,
	align=flushright,
	]

\def\FNVOffset{0} % Negative vertical offset of footnotes in lines
% Manual tweaking was necessary for a while, when stacking didn’t work reliably.

\def\MarginNote#1{%
	\inmargin[
		voffset=\dimexpr-\FNVOffset\lineheight\relax,
%		width=\ColWidth,
		align=flushleft,
		]{%
			\inframed[
%				width=\ColWidth,
				align=right,
				frame=off,
				offset=overlay,
				strut=yes,
			]{#1}%
		}%
	}

\define\PlaceFootnote{%
	\inmargin[
		voffset=\dimexpr-\FNVOffset\lineheight\relax,
%		width=\ColWidth,
	]{%
	\vtop{\placelocalnotes[footnote][before=,after=]}}%
	}



\def\FNo#1{{#1~}}
% I never managed to get number and text in consecutive lines without indented text
% or at least a constant whitespace after the number.


\setupnote[footnote]
	[location=text,
	bodyfont=,
	indenting=no,
	before={\noindentation},
	next=\PlaceFootnote,
	]

\setupnotation[footnote]
	[way=bychapter,
	align=flushleft,
	indenting=no,
	location=serried,
	alternative=serried,
	width=broad,
	numbercommand=\FNo,
	] % footnote text

\setuptexttexts[margin][]
	[%
	{\framed[
	align={flushright,bottom},
	frame=off,
	height=\textheight,
%	width=\ColWidth,
	]{%
		\strut\vfill\placenotes[footnote]}}%
	]

\starttext
 \dorecurse{6}{\input ward\expanded{\footnote{This is a footnote \recurselevel}} }
test
\dorecurse{10}{
	test \footnote{\input ward }\input tufte.tex \par
	test \footnote{This is a note about Ward, who says: \par \input ward.tex} \input ward.tex \par
	test \footnote{This is a note about Donald Knuth.} \input knuth.tex \par
	}
This is a last note. \footnote{This last note is here to see what happens in the next page\dots\par \input knuth.tex}
\par 
\dorecurse{3}{\input knuth.tex }

\stoptext

> On 1 Aug 2020, at 23:01, Henning Hraban Ramm <texml@fiee.net> wrote:
> 
> 
>> Am 01.08.2020 um 22:36 schrieb Otared Kavian <otared@gmail.com>:
>> 
>> Hi Hraban,
>> 
>> Thank you for taking the time to send your code for sidenotes.
>> Unfortunately when I add
>> 
>> \starttext
>> test\footnote{A footnote in the margin.}
>> \stoptext
>> 
>> to your code, I get an error and unfortunately with recent versions of LMTX the error message 
>> !  Undefined control sequence
>> is not helpful to find the error… (LMTX considers \footnote as an undefined control sequence…).
>> 
> 
> Of course it’s not \footnote that is undefined but something else from my code – I didn’t take the time to strip it of all the references to other setups in the same environment, probably \ColWidth that was just a shortcut for the column width:
> \def\ColWidth{57mm}
> 
> Hraban
> 
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________

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

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

* Re: lmtx update
  2020-07-31  8:32 lmtx update Hans Hagen
  2020-07-31  8:40 ` Taco Hoekwater
  2020-08-01 13:20 ` Otared Kavian
@ 2020-08-02  3:30 ` Aditya Mahajan
  2020-08-03 17:37 ` Pablo Rodriguez
  3 siblings, 0 replies; 14+ messages in thread
From: Aditya Mahajan @ 2020-08-02  3:30 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Fri, 31 Jul 2020, Hans Hagen wrote:

Thanks for the update.

> Other work in progress is: better columns in itemize, esp proper 
> footnote support (not that I ever need that but I know users do so ...), 
> experiments work ok, but I need to check spacing. In general, footnotes 
> (will) behave a bit better, especially those used nested in other 
> mechanisms. A side effect of more control is that we can do other tricks 
> too and we're playing with it (kind of fun).

Does this mean we can get two-column footnotes in two-column documents?

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

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

* Re: lmtx update
  2020-07-31  8:32 lmtx update Hans Hagen
                   ` (2 preceding siblings ...)
  2020-08-02  3:30 ` lmtx update Aditya Mahajan
@ 2020-08-03 17:37 ` Pablo Rodriguez
  3 siblings, 0 replies; 14+ messages in thread
From: Pablo Rodriguez @ 2020-08-03 17:37 UTC (permalink / raw)
  To: ntg-context

On 7/31/20 10:32 AM, Hans Hagen wrote:
> Hi,
>
> Sorry for the long mail ...
>
> One of the changes in lmtx is that we freeze the properties that
> determine the paragraph shape as well as breaking into lines in such a
> way that we have predictable behaviour. As a side effect it can be that
> existing code (lmtx only) will behave differently (will be fixed when we
> notice) but also that some low level user tweaking can not work, i.e.
> they are just ignored, but only when they happen mid paragraph which
> actually is always debatable anyway.

Hi Hans,

many thanks for your explanation.

I wonder whether the new improvements could prevent body text running
into the footnotes (as some of us have already reported).

> [...]
> No one ever requested it so see it an a quick and dirty example but
> don't hesitate to ask for more anyway (we like an occasional challenge).

If you are open for suggestions, I would ask for a footnotes that behave
as a page index, such as in:

  \setuplanguage[en][patterns={en,agr}]
  \setuppapersize[A6]
  \setupbodyfont[dejavu]
  \definenote[dict]
  \setupnote[dict][n=2,rule=off,
      split=strict, inbetween=\hskip1.5em]
  \setupnotation[dict][number=no,
      style={\tfx\setupinterlinespace[line=2.5ex]}]
  \starttext
  Πρῶτον δεῖ θέσθαι τί ὄνομα\dict{ὄνομα,
  -ατος, τό: noun} καὶ τί ῥῆμα\dict{ῥῆμα, -ατος, τό: verb},
  ἔπειτα τί ἐστιν
  ἀπόφασις\dict{ἀπόφασις, -εως, ἡ: negation}
  καὶ κατάφασις\dict{κατάφασις, εως, ἡ:
  affirmation} καὶ ἀπόφανσις\dict{ἀπόφανσις,
  -εως, ἡ: statement} καὶ λόγος.
  \stoptext

What I need there is that these notes are alphabetically sorted, such as
in a standard register.

As I proposed that (years ago), you told me it was too complex. I wonder
whether this would be easier with the current developments.

Many thanks for your improvements to ConTeXt,

Pablo
--
http://www.ousia.tk
___________________________________________________________________________________
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
___________________________________________________________________________________

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

end of thread, other threads:[~2020-08-03 17:37 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-31  8:32 lmtx update Hans Hagen
2020-07-31  8:40 ` Taco Hoekwater
2020-07-31 10:18   ` Hans Hagen
2020-08-01 13:20 ` Otared Kavian
2020-08-01 14:17   ` Hans Hagen
2020-08-01 16:20     ` Otared Kavian
2020-08-01 16:41   ` Henning Hraban Ramm
2020-08-01 16:57     ` Otared Kavian
2020-08-01 17:19       ` margin notes (was: lmtx update) Henning Hraban Ramm
2020-08-01 20:36         ` Otared Kavian
2020-08-01 21:01           ` Henning Hraban Ramm
2020-08-01 21:35             ` Otared Kavian
2020-08-02  3:30 ` lmtx update Aditya Mahajan
2020-08-03 17:37 ` Pablo Rodriguez

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