ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Wolfgang Schuster <wolfgang.schuster.lists@gmail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>,
	Pablo Rodriguez <oinos@gmx.es>
Subject: Re: issue splitting tables and horizontal mode
Date: Sun, 20 Oct 2019 11:49:15 +0200	[thread overview]
Message-ID: <3faa7a8c-8536-8902-b5a6-08e144c0ca41@gmail.com> (raw)
In-Reply-To: <6532e14b-7f23-3686-838c-3a61d28ccd07@gmx.es>

Pablo Rodriguez schrieb am 18.10.2019 um 16:23:
> Dear list,
>
> I have another issue related to extreme tables.
>
>      \setupxtable[split=yes]
>      \starttext
>      \startmakeup[standard]
>          \dontleavehmode
>          \startxtable[align={middle,lohi},columndistance=0em]
>              \startxrow
>                  \startxcell
>                      \dontleavehmode
>                      \externalfigure[cow.pdf]
>                          [scale=500]
>                  \stopxcell
>                  \startxcell
>                      \dontleavehmode
>                      \externalfigure[cow.pdf]
>                          [scale=500]
>                  \stopxcell
>              \stopxrow
>          \stopxtable
>      \stopmakeup
>      \stoptext
>
> When splitting extreme tables, I cannot use \dontleavehmode.
1. What is the purpose of \dontleavehmode in your example?

2. Why do you try to split a table in a makup environment (which will 
never work)?
> Since this worked before, am I missing something or is this a bug?
It isn't a bug but a side effect of the way how split=yes works.

The normal splitters uses a simple placement method where each table row 
is placed below each other. To prevent unwanted white space between the 
lines \nointerlineskip is used but the command works only a vertical 
mode. With \dontleavehmode like in your example you force horizontal 
mode for the table which results in the error message.

You can reproduce the error with the following minimal example:

\starttext

\dontleavehmode
\vbox{}
\nointerlineskip
\vbox{}

\stoptext

The reason why this doens't happen when splitting is disabled or when 
the header or footer lines are repeated is that ConTeXt puts the 
collected lines for each table in a \vbox. When you flush the lines in 
the \vbox the are placed in vertical modes and your \dontleavehmode is 
only applied to the outer \vbox while the lines itself are placed in 
vertical mode.

\starttext

\dontleavehmode
\vbox
   {\vbox{}
    \nointerlineskip
    \vbox{}}

\stoptext

Wolfgang

___________________________________________________________________________________
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	other threads:[~2019-10-20  9:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-18 14:23 Pablo Rodriguez
2019-10-20  9:49 ` Wolfgang Schuster [this message]
2019-10-20 10:36   ` Pablo Rodriguez
2019-10-20 10:53     ` Wolfgang Schuster
2019-10-20 17:38       ` Pablo Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3faa7a8c-8536-8902-b5a6-08e144c0ca41@gmail.com \
    --to=wolfgang.schuster.lists@gmail.com \
    --cc=ntg-context@ntg.nl \
    --cc=oinos@gmx.es \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).