Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by h2774747.stratoserver.net (8.15.2/8.15.2/Debian-3) with ESMTP id wAC76GYo017933 for ; Mon, 12 Nov 2018 08:06:17 +0100 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx116 [212.227.17.5]) with ESMTPS (Nemesis) id 1MhmTA-1frSRm362K-00driJ for ; Mon, 12 Nov 2018 08:06:10 +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 wAC76A4B017282; Mon, 12 Nov 2018 08:06:10 +0100 Received: from listserv (localhost [127.0.0.1]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id 961CD124A63; Mon, 12 Nov 2018 08:06:06 +0100 (CET) Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 30952561 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 12 Nov 2018 08:06:06 +0100 Delivered-To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE Received: from listserv (localhost [127.0.0.1]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id 8353C124A63 for ; Mon, 12 Nov 2018 08:06:06 +0100 (CET) Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Message-ID: <5712906716130871.WA.kellysmith12.21gmail.com@listserv.uni-heidelberg.de> Date: Mon, 12 Nov 2018 08:06:06 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Kelly Smith Subject: Offer to Write an xskips Package To: LATEX-L@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:1/WrTzndFVU=:4KLXcUVmPsHBxqdOguBNnB31vM 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 X-UI-Loop:V01:Mr8wrHGzNUU=:DCVoPtuo1iNMzSdbcvJmt1ueprsISZEvQFO/EXd1swo= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V01:K0:3IEaTlG01DQ=:1VSpTIm/8DPv+ra9f6QW2B N/8YOj3NbUHBL9n4z3N9BeD4KCDq8oozEAHwH4HKzDpcb8QrarmNi7uWUwE4u2f8evZrXpFnn ZIgU8b/bKWnUScgl76IQ+wn7HM9K5Oq/btWdIx0qv7dBKtvyO0UJrXqvIT03LQZdVIKdpobXT +1eQWivDx+9w6nEkU8WITkaZxGn2fsq+wHen1Tm3KQxKmdZjg15dDltFQgUCD7W+ZmOwME78w rENUteTuIP4eCkmlJh36i9TQVI5WKT2zWqHJ8YgV6W3yA6uahlGjBPzPweRJO06wLAqyNowXk Y4xiP80cYs+ePMF0iaW8qCiIWHcngMePfm/As11x8bXfTVXIP9wQUToXhMfw1qV3iHn1jjz1F lc4xwu2PE1uQ2XyMipoewFQ9oFdWUtpFW6voHweGJsxM0SFzNpYxns8X/Y1KTK9y7Fi+Ssy9W HlfUBwv8Z/qQqs4ZR/KPVNCqFu8iftw= X-Scanned-By: MIMEDefang 2.78 on 81.169.212.23 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by h2774747.stratoserver.net id wAC76GYo017933 Status: R X-Status: X-Keywords: X-UID: 8109 Hello Everyone, 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. I know that the team is incredibly busy so I’d like to volunteer to write such a package—if the team thinks this is a good idea. I would follow the style and conventions of the existing xpackages and whatever criteria the team requires. 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. There are two things that I know the team is in the process of adding which I think would make good additions to this package: 1. user input validation for dims and skips (issue #380); and 2. skip component extraction (issue #497). I think there may be some uses for muskips but I’ve noticed that there isn’t a kernel primitive equivalent to `\tex_mskip:D`, so perhaps the team had other ideas for math spacing? When you have time, please let me know what you think. Warmly, —Kelly **Begin attachment, “xskips.sty”** \RequirePackage{expl3} \RequirePackage{xparse} \ProvidesExplPackage{xskips}{2018-11-09}{} {L3 Experimental design level lengths and skips} \NewDocumentCommand \NewLength { m } { \dim_zero_new:N #1 } \NewDocumentCommand \NewConstantLength { m m } { \dim_const:Nn #1 { #2 } } \NewDocumentCommand \SetLength { m m } { \dim_set:Nn #1 { #2 } } \NewDocumentCommand \AddToLength { m m } { \dim_add:Nn #1 { #2 } } \NewDocumentCommand \SubFromLength { m m } { \dim_sub:Nn #1 { #2 } } \NewExpandableDocumentCommand \MaxLength { m m } { \dim_max:nn { #1 } { #2 } } \NewExpandableDocumentCommand \MinLength { m m } { \dim_min:nn { #1 } { #2 } } \NewExpandableDocumentCommand \LengthRatio { m m } { \dim_ratio:nn { #1 } { #2 } } \NewDocumentCommand \NewSkip { m } { \skip_zero_new:N #1 } \NewDocumentCommand \NewConstantSkip { m m } { \skip_const:Nn #1 { #2 } } \NewDocumentCommand \SetSkip { m } { \skip_set:Nn #1 { #2 } } \NewDocumentCommand \AddToSkip { m m } { \skip_add:Nn #1 { #2 } } \NewDocumentCommand \SubFromSkip { m m } { \skip_sub:Nn #1 { #2 } } \NewDocumentCommand \HorizontalSpace { m } { \skip_horizontal:n { #1 } } \NewDocumentCommand \VerticalSpace { m } { \skip_vertical:n { #1 } } **End attachment.**