Okay, I think I'm getting close, but I'm not quite there yet. The
pagecolumns source code is found in page-pcl.mkiv (
source.contextgarden.net/tex/context/base/mkiv/page-pcl.mkiv), and in that
code, the \page_col_stop_yes macro seems to have something to do with the
issue:

```
\unexpanded\def\page_col_stop_yes
  {\column % \page_otr_eject_page
   \page
   \endgroup
 % \setupoutputroutine[\s!singlecolumn]%
   \page_otr_command_set_vsize
   \page_otr_command_set_hsize
   \page
   \endgroup}
```

If I redefine this macro in my MWE as follows, I can remove the extra page
that is added when the last page ends with text in the last column:

```

\unprotect

\def\page_col_stop_yes

{\column %\page_otr_eject_page

%\page

\endgroup

% \setupoutputroutine[\s!singlecolumn]%

\page_otr_command_set_vsize

\page_otr_command_set_hsize

%\page

\endgroup}

\protect
```

Commenting out the \page calls does the trick in this case, but now, if the
last page ends with its text in a column before the last one, then the last
page is not typeset at all, and a blank page takes its place.

On Sun, May 10, 2020 at 8:34 PM Thangalin <thanga...@gmail.com> wrote:

> Bump.
>
> See also: https://tex.stackexchange.com/q/542993/2148
>
> On Mon, May 4, 2020 at 11:46 AM Joey McCollum
> <jmccollum20140...@gmail.com> wrote:
> >
> > After continuing to look into this a bit, I noticed that a similar issue
> involving the insertion of a blank page after a columnset environment has
> been discussed on the mailing list in the thread "Blank page inserted when
> text reaches column's end" (dated 08 Dec 2019). In that thread, a proposed
> solution was to redefine the \page_grd_stop macro found in page-cst.mkiv as
> follows:
> >
> > ```
> > \unprotect
> > \def\page_grd_stop{%
> >   \endgraf % needed, else wrong vsize in one par case
> >   \vfill % otherwise weird \placenotes[endnotes]
> >   \page_grd_command_set_vsize % needed
> >   \penalty\c_page_otr_eject_penalty
> >   %\page_grd_command_flush_page
> >   \page_otr_fill_and_eject_page
> >   \page_grd_command_set_vsize % why here
> >   \egroup
> >   \page_otr_command_set_vsize
> >   \page_otr_command_set_hsize
> > }
> > \protect
> > ```
> >
> > Unfortunately, this approach was found to have potential issues in that
> thread, and it does not fix the problem with pagecolumns in my MWE. Are
> pagecolumns commands aliased to pagegrid commands like columnset commands
> are, or are they defined somewhere else? I checked page-col.mkiv, but it
> seems to be too short to be the file that defines pagecolumns behavior.
> >
> > Joey
> >
> > On Sat, May 2, 2020 at 11:46 AM Joey McCollum <
> jmccollum20140...@gmail.com> wrote:
> >>
> >> I recently found the pagecolumns manual (
> http://www.pragma-ade.com/general/manuals/pagecolumns.pdf), and in
> several of the examples (including those for side floats and footnotes),
> the addition of a blank page after the end of the pagecolumns environment
> also seems to occur. So when the manual says, "We always start at a new
> page and end on a new one," does it mean that this is a feature of
> pagecolumns? And if so, is there any way to disable it? I have no problem
> with a page break after the end of the pagecolumns environment, but an
> empty page added after the break seems unnecessary. I checked for a wiki
> page on the \definepagecolumns command to get more information on its
> accepted inputs, but there doesn't appear to be a page for this command.
> >>
> >> Joey
> >>
> >> On Tue, Apr 28, 2020 at 1:40 PM Joey McCollum <
> jmccollum20140...@gmail.com> wrote:
> >>>
> >>> I am typesetting a document using pagecolumns to ensure that my
> footnotes are set ragged-bottom in columns. I have observed some unexpected
> behavior whenever the last column on a page is left incomplete: a blank
> page is added at the end of the document. A minimal working example follows:
> >>>
> >>> ```
> >>>
> >>> \starttext
> >>>
> >>> \startpagecolumns[n=2]
> >>>
> >>> \dorecurse{3}{\par\input zapf}
> >>>
> >>> \stoppagecolumns
> >>>
> >>> \stoptext
> >>>
> >>> ```
> >>>
> >>> I typeset this using ConTeXt version 2020.03.10, as released with
> TeXLive 2020. Notably, if \dorecurse{3} is changed to \dorecurse{2} or
> \dorecurse{6} (so that the text ends in the first column of a page), then
> there is no problem. I have tried to fix this by specifying page=no in the
> \startpagecolumns arguments, but it did not change anything. Is there
> something else I am missing?
> >>>
> >>> Thank you,
> >>>
> >>> Joey
> >
> >
> ___________________________________________________________________________________
> > 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
>
> ___________________________________________________________________________________
>
___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to