Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by h2774747.stratoserver.net (8.15.2/8.15.2/Debian-3) with ESMTP id wACFcOeH027033 for ; Mon, 12 Nov 2018 16:38:25 +0100 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx115 [212.227.17.5]) with ESMTPS (Nemesis) id 1Mji43-1fcC9Z3S1L-00lEP3 for ; Mon, 12 Nov 2018 16:38:18 +0100 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.15.2/8.15.2) with ESMTP id wACFcIr3013420; Mon, 12 Nov 2018 16:38:18 +0100 Received: from listserv (localhost [127.0.0.1]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id 9A03B1282EF; Mon, 12 Nov 2018 16:38:14 +0100 (CET) Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 30973503 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 12 Nov 2018 16:38:14 +0100 Delivered-To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.119.212]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id 88D271282EE for ; Mon, 12 Nov 2018 16:38:14 +0100 (CET) Received: from comedy.dante.de (comedy.dante.de [176.28.54.184]) by relay2.uni-heidelberg.de (8.15.2/8.15.2) with ESMTPS id wACFc88V010667 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 12 Nov 2018 16:38:11 +0100 Received: from Franks-MBP.fritz.box (p200300CBAF222E0030DC50BCF2338F4C.dip0.t-ipconnect.de [IPv6:2003:cb:af22:2e00:30dc:50bc:f233:8f4c]) (authenticated bits=0) by comedy.dante.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id wACFc635007264 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Mon, 12 Nov 2018 16:38:07 +0100 References: <5712906716130871.WA.kellysmith12.21gmail.com@listserv.uni-heidelberg.de> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-DANTE-Spam-Score: -1.899 () BAYES_00,SPF_FAIL X-Scanned-By: MIMEDefang 2.78 on 81.169.212.23 X-Scanned-By: MIMEDefang 2.71 on IPv6:2a01:488:67:1000:b01c:36b8:0:1 Message-ID: <78e19413-e0a6-4f89-6cf8-d71f715506a1@latex-project.org> Date: Mon, 12 Nov 2018 16:38:05 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Re: Offer to Write an xskips Package To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <5712906716130871.WA.kellysmith12.21gmail.com@listserv.uni-heidelberg.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: Envelope-To: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3; X-Spam-Flag: NO X-UI-Filterresults: notjunk:1;V01:K0:budNUomUt54=:l0PR2RFFeOR4wsZyOlLaNdXd5G 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 X-UI-Loop:V01:L73AodYC4B0=:hTzHepWDwOghFekjHj1jR8HWVhwOMkLagR5I05CSwbI= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V01:K0:BoxZXKGU0Rc=:cfUopUyNKPdBH6VDkRNQqD 2bNBOCR14s7PePJvh4FJBq5gff6IAKm3JyfNV8iOy18d+dx5bQucg8qtgxp7lTtabB5Hqglqc jcU7IM2KCDVGnK2ZOuKk8BI8V2PCGFMLKoWVej23B/UiisL0uTVD2Katv2mHJJC3RpEh7yAqk j6SzLeutUw/KP/u2Vk6/9jbFruj5PQ19CRN1Uj0RXDzWTQaX+jGh/gf88IES3yVX0izeVOT6D xlmVN0efnS573EwfVr5A8GH5+ckj41a0Jszyy7VStwSBe740AbE7WSw3gCcxKweTVFPYH1USW qCtf6gmFSpiD7zeYGSADp5hRXQJJ9Xiomct+1FOPMZ2Nvy+1fem0Pu7TPcBXtMTGMI4N42eBE vCO9nRXcctNefMIrsyiPMYRkdNZBtUzLS+SGMoXcJ1fiOsoT3nLM2xOz2Pnj+JLAgozOSdIqP 6nrb0uiPIbeOJjG+vDHxzRa7sAAUzqc= Status: R X-Status: X-Keywords: X-UID: 8110 Hi Kelly, > While working on my class, I’ve been thinking about the available tools and > where 2e is necessary vs. what can be replaced with L3 methods. > > I know that there isn’t a consensus on how boxes should work, so things like > `\parbox` and friends should still be used (unless coffins happen to work > better for a given use case). > > However, I think there’d be no harm in providing an L3 interface for dims and > skips. I know that the 2e kernel already provides tools for this, and so an L3 > interface would have some redundancies. I think an `xskips` package would still > be useful because: > > 1. it would provide more tools than 2e does; and > 2. it would harmonize with the other L3 design-level interfaces. that's a good question what harmonizes with L3 design-level interface. Remember that we think of the designer level of more or less free of programming, i.e., you make declarations (possibly using CamelCase syntax but you don't "program" (or if you do, because the features you are looking for require that it would be in a clearly separate section that is actually package code only not separated out --- and then that kind of code would be direct expl3). So what is the purpose for example of \VerticalSpace? would it have a natural place to live and if so why? I guess our ask here would be use cases for the commands you proposed to get a feeling whether they should and if so in what form they should be provided but not embark on making a copy of the expl3 code interfaces 1-2-1 into CamelCase unless we all agree on seeing a good reason for it. There are of course boundary cases, eg a function for setting length parameters should naturally support evaluations of its value argument (which right now \newlength doesn't offer (unless you load calc. But already the distinction between skips and dimens (that exist on the programming level but not on the 2e user level in the setters) is something to ponder. An I would be interested to see examples why the distinction os sensible on the designer level (I'm not convinced it is) I mean, why shouldn't there be a single set of design-level setters. As for allocation, to what extend are they needed on the design level? Aren't they only needed when you are actually asking for some programmed code? > I have attached the raw .sty code which contains what I think are appropriate > tools for the designer level. Of course, this would become a proper .dtx file > with documentation and examples. So rather than documenting that suggestion, I would ask for convincing examples for each of the proposed functions that are design tasks that should live in a class file rather than programming tasks that should live in package/modules that offer building blocks for titles building blocks for headings etc etc. I'm not saying none of them are, maybe some are the right choice for the design level, but instead of embarking on providing stuff that we later regret, let us first better understand the needs. So if you have the time I would very much look forward in seeing how you intend to use each and every of these functions. best frank ps while we are at it, uses of \parbox and friends (or coffins) would be also very much of interest. where do you use them and how ...