On 6/17/2013 11:05 PM, Wolfgang Schuster wrote:
Am 17.06.2013 um 19:18 schrieb Pablo Rodríguez
: On 16/06/13 21:03, Wolfgang Schuster wrote:
Am 16.06.2013 um 09:46 schrieb Pablo Rodríguez
: [...] Is there no way to avoid orphans and widows in the lines environment?
1. Don’t use * in your setups names because names starting with an asterisk are system modes.
2. To load the defaults settings you have to use \setups[*reset] which needs the asterisks because it’s a system mode.
3.The settings doesn’t help because in the lines environment each line is a separate paragraph which makes \widowpenalty useless here.
Thanks for your reply, Wolfgang.
So, according to 3, there is no way to prevent widow or orphan lines in a line environment, isn't it?
Not with the current implementation of the environment because it doesn’t know how many lines are there. With a Lua based solution it would be simple to add a mechanism to prevent a page break at a certain region because the needed information are available.
yes, some of that is on the agenda (not to hard but as usual it take a bit of thinking / experimenting to get an interface) basically it's a variant of \setpenalties (the plural \widowpenalties etc)
\startluacode
userdata = userdata or { } userdata.linescontent = userdata.linescontent or { }
local linescontent = userdata.linescontent
function linescontent.process() local lines = string.splitlines(buffers.getcontent("linescontent")) context.begingroup() for i=1,#lines do local l = lines[i] context("%s",l) context.par() end context.endgroup() end
\stopluacode
\def\startlinescontent {\grabbufferdata[linescontent][startlinescontent][stoplinescontent]}
\def\stoplinescontent {\ctxlua{userdata.linescontent.process()}}
\starttext
\startlinescontent One Two Three Four Five Six \stoplinescontent
\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://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------