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 x317Z44g006602 for ; Mon, 1 Apr 2019 09:35:05 +0200 Received: from relay2.uni-heidelberg.de ([129.206.119.212]) by mx-ha.gmx.net (mxgmx116 [212.227.17.5]) with ESMTP (Nemesis) id 1Mxmv0-1h1PbQ3F78-00zENp for ; Mon, 01 Apr 2019 09:34:58 +0200 IronPort-SDR: I0UNI2XmCCLN7voz9FP4nJezpkxCAtAyw89nGev5XahDVZF/YIbmvIs88oq19FPu6zEb9MPumb ufmAWZaCL8eWlOPRhkfQJ6KY2KzWWFRvbvhiePmC0CkTWNZVTFLT7oF2yTyLRqIkSio4YrubXE 5Fpnsg3qusT9FD5mm0mQ5xep3LL87b6DLqyuw31Kjgnk92Q0Stqcd8c+FMsjUQ8wXKJ/2xnWCj FA5mgRbDmkjG17bxVkHBoImHuYlsrEWauS2jvEW4DoG4Alp9UiioIhuGCjsovHr+nLzyRziOen 9bE= Received: from listserv.uni-heidelberg.de ([129.206.100.94]) by relay2.uni-heidelberg.de with ESMTP; 01 Apr 2019 09:34:59 +0200 Received: from listserv (localhost [127.0.0.1]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id 01A87127F7C; Mon, 1 Apr 2019 09:30:01 +0200 (CEST) Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 34680645 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 1 Apr 2019 09:30:00 +0200 Delivered-To: LATEX-L@listserv.uni-heidelberg.de Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id E343612116D for ; Mon, 1 Apr 2019 09:30:00 +0200 (CEST) X-Ironport-Dmarc-Check-Result: validskip IronPort-SDR: G3ayhzFdeEd0RXXq059LZdDyof7gwcVkODOUmuJ8iXQP21HLNQVh7Kl1XZHG0bOf3ZPNA+vCnQ 820CFVl2AN0+xF4+zcacv57bvIHFtLtJW/PIM5NlExFIDTlfXsGlAUvoplzulJorYeGNp3wIZ8 JNoh9MwR7obPaq+zSgcEUE5+dZ+8Ormajm+8CsAzvb3GjBdJDPbsXJjRoq6W+ZMrdYGc0ftQ9k PEm7v31MbPyTG9X4eKJaj1ySKvmPYELYLP/mJ3dG5xJLIr5a0xceF135us00jTAkPiJQtFlItD kaJLdmnYi6XUEbpuBn8dY19M X-IronPort-MID: 17455080 X-IronPort-RemoteIP: 144.76.43.62 X-IronPort-SenderGroup: SUSPECTLIST X-IronPort-MailFlowPolicy: $THROTTLED X-IronPort-Reputation: None IronPort-PHdr: =?us-ascii?q?9a23=3A8P9wtxYxiIbO9o5Td+8+YCD/LSx94efdIxIV55?= =?us-ascii?q?w7irlHbqWk+dHYMVfC4el21gaTD5/W7/tVzffQsuXgVG0M7JKLvWoNNpBBBF?= =?us-ascii?q?cJisQTygonBsPNSUj2N+XjYCFyGsNeHERk8He2PQkdGMv3a1DI5Hzn6zkUF0?= =?us-ascii?q?a3LhJ7c8LyHIOalMGrz6aq4ZSGaQhOhjO4YLVaNxSutgLVq9UXho15bKA81k?= =?us-ascii?q?iBuWNGLsJRw24gPlePh1D578a08oRk9nFatvQj/stBV43hfrwjSrhFEDUhNX?= =?us-ascii?q?tz4sD35lHYVQXawHwaXy0NlwZQRQjI6BavRpDqri7zrfZwwgGBPNXtSrQpRT?= =?us-ascii?q?Wl6bwtThL00X1VDTMy/WDJh8A1t5p1+0vx9Tp4xYOcIJuYMPNvOL7bfJYaSG?= =?us-ascii?q?tNU8JbWjZORI+xPcMJCKIaMOBUopOYxRNGpAaiBQSqGOLkyyNZzn7w06og1u?= =?us-ascii?q?09EAbAlAU+FtMKuX7QoZ37LqAXGeyyyaDJy33EYZY0kX/35Y7KexUgp9mXXK?= =?us-ascii?q?prds7M1UgoERiDiFiM6MTkMz6TyuURoj2D9eMzMIDnw2Ujqgx3vn2u3pJ11t?= =?us-ascii?q?WP2dxTlguCq38qiJw4LtC5VkNhNMSpFJJB8TycNs52T8IuTmVitTw1jLEL6v?= =?us-ascii?q?vZNGAHzooqwxnHZrmJaY+Nt1jpWeCTKDJ5glp+eaqkgBKv7UmnzPa6UMSomg?= =?us-ascii?q?UvzGINgpzXu3YB2gaGoMKKTPl0+0an8S2OzxvU7vxYIEcyjuzdJoJrkdtS3t?= =?us-ascii?q?ID9E/EGCHxgkD/iqSbI14l9uaf4OPierz6p5WYOtYu2DvzOakvhMGzRN8AHF?= =?us-ascii?q?NUBDq9/uKxnP358EnwUfNXiPxzkqTYvJ3eL8kBqei1Dl0d1IFr8Bu5Azq8tb?= =?us-ascii?q?ZQ1XAaMFJIfg6GhIn1KhnPJv7/F/K2n1Wrln9i2fnHOrTrBpiFIGLElf/ter?= =?us-ascii?q?N06kgUzwRWr5gX7Z9SCLgEIfTbQU7pr9vcEwM4NAqvheDqFJQ1148TX36OHr?= =?us-ascii?q?7MNarTtVGS4ed8RovELIQRuTv7N70k/6u30SN/xgFbIfLvg8FEIGq1FflnPU?= =?us-ascii?q?iDNGDhht4QV3oMv08+Qe3mhVmIXCRcIXq/DMdernk2DpyrCYDbS8WjmruEiW?= =?us-ascii?q?2xE5tUb2VHDHiXEG/zcIGZR/YLbjnUJMJ92G9hN/DpW8o62BeiuRWvgbBqKO?= =?us-ascii?q?jd/ywenYnizMNy4/DPlBY07npyAtjXgATvBylk22gPQTExxqV2p0dwn0yC3a?= =?us-ascii?q?ZPiPtdDdVP5vlNX15gZ6TRxOF7Fd3+Hzn5UIzTEwSARdOrSXErQ9Y40pkTZU?= =?us-ascii?q?c4G9ijgh3H1SewDPkZmu7DApt86a/a03XrQqQ1g3/byKksiUUnScpTJCWngK?= =?us-ascii?q?B47Q3aG4/OlQ2Qia+rca0W2COF+n2EyCKCu0RRUQg4VqugPzhXfkzNsdHw/V?= =?us-ascii?q?/PVZe1CKw8NQ9c1c+FLLAMbND1zB1HSPrlJNXCcjexlmO3VnPqjvuHaIvnfX?= =?us-ascii?q?lY3T2IURRY1V9Nuyrdc1ZkVW+7rmnTDSJjDwf1bkfl4K9jrnL+TkI1wwyOZU?= =?us-ascii?q?B72Py5901w57TURvUN07YDoCpkpS9zGQP31d/QCdOFpgxJZ6REetQ5/UtG0m?= =?us-ascii?q?TC8QpwItbzSsIqzk5baAlxs070gl9vDZ5clMExsH4w5BFzMbmf1E5ddjSext?= =?us-ascii?q?b2N6GdeQyQtFi/LqXR3F/ZytOf/KwCve85p1vUtwasDkM+8n9j3oAEgUvZ3Y?= =?us-ascii?q?3DCU8paby0V0828xZgoLSDMnsm5pvP0nlxLaiztCSE3d81VrN8lkSQOuxHOa?= =?us-ascii?q?bBLzfcVtUADpH+evcrg0Ouag8YPedU7+gyMt/0L6Lbip7uB/5pmXedtUoC4I?= =?us-ascii?q?151RvcpTF9UvXP24sZwvaexU2BWiuu1Fo=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BtBQDUvKFc/z4rTJBjHgEGBwaBZYI?= =?us-ascii?q?OgTshAwQLhDViiBmMWJo4AgkFKwGEQAKFWgYGNBIBAQMBAQkBAwEBbSiFSgE?= =?us-ascii?q?BAQMBAQEhWwsJAhgqAgJXBQEugwiBbQiMNJtlgS+FR4RPD4EvgUqKAIF/g3U?= =?us-ascii?q?uPodOglcDikeHSZM6CYJQkSpqik8BiHKIQ5ZygWQhKIEuMxoIJgqDKJBMQIE?= =?us-ascii?q?zAY9XAQE?= X-IronPort-AV: E=Sophos;i="5.60,295,1549926000"; d="asc'?scan'208";a="17455080" X-MGA-submission: =?us-ascii?q?MDG2vnHibr2NGQwKMQ6XVM6NZ5UiI6CTVJEFp3?= =?us-ascii?q?KhPbHL2MOf1ij73D16yTa4gxcfZ8cMK7Kgf7wVVdXccxQvi25Lm8hocD?= =?us-ascii?q?7kftiW+AfWHA/N9ducjNeQxfUoRpjRetYYB6gduuE92vMHJ/C0nb0UOT?= =?us-ascii?q?MKac+/gFpCDoX/+ogbqJsv2A=3D=3D?= Received: from s3.sipsolutions.net (HELO sipsolutions.net) ([144.76.43.62]) by relay.uni-heidelberg.de with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Apr 2019 09:30:01 +0200 Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92-RC5) (envelope-from ) id 1hArOJ-00064t-ES for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 01 Apr 2019 09:29:59 +0200 References: <856ff273317abf46dda9ce8c6fb0d6bd8d22472b.camel@sipsolutions.net> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-z/ujdVECtNJPMZKd/6mj" User-Agent: Evolution 3.30.5 (3.30.5-1.fc29) MIME-Version: 1.0 Message-ID: <85c344a1672db33f48cda03ab5438ddedf4664ad.camel@sipsolutions.net> Date: Mon, 1 Apr 2019 09:29:53 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Benjamin Berg Subject: Re: Rescanning first token of environment when no optional argument is given To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: 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;V03:K0:2rH8lJS+i3M=:Ce4DZW6UPlrw7UFWFfTYijXSKH 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 vAQdW4IQdYpXigjDTOa1Cxj+zvJ7hkJmX X-UI-Loop:V01:p3FS9dnn7NY=:43CuK8MIIsXM7ECLJURvKD9ZiKWYvROMcaP2v0/kCwM= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:GLObiGnAWMg=:rV9WX6Kknlnq4cftkKCtUh 8jcTIdh+PuCYws2Qc/WGOu7UGI1631HveNojHodkfdRNhZY+UrEdFclMDqXS/40CWlgx41XXu 8eef9iqYWC8Q3S+mD5g97TYuLrC3jANrDBfkXk7+gBr2dHDywDiu6toVnEgy24ifsK4t+he5Q A+nC9GUZytv2NkJ0grk2Y1kgRF12bHd0VISaCh/JsMRCZzSegDcpZ433EA2M7QGzNY+mvmX+I /XhzmfIASb8EdH4bjKMycQQBIJ9xBmwxHgaHBRXypdwO5jXMVakKlZgU04N3dVbc2RIRqiAC5 3BbAdGRzrHLjZzhLudvKZ2X/KYlH0XXiJR+AOZdwc7w0y77jNk2EBxIjPwjVp3yT0f+MPBufF zqMAB5qV3bNKhRL4qzC4qSl4V+N/GfBk4JqFtlOmiMEPxEHlA8Vu5+8lvkyX1 X-Scanned-By: MIMEDefang 2.78 on 81.169.212.23 Status: R X-Status: X-Keywords: X-UID: 8171 --=-z/ujdVECtNJPMZKd/6mj Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Sun, 2019-03-31 at 18:57 -0300, Phelype Oleinik wrote: > If you can't switch the catcode of & before looking for the > optional argument, as David suggests David has a good point, I could handle the optional argument parsing myself and ensure that the case works correctly. It may not be trivial, but it should be reasonably easy. It had not occurred to me that I could do that. > you can use the ! argument modifier to disallow a space token before > the first =E2=80=9C[=E2=80=9D: > \NewDocumentEnvironment { sdapsarray } { !o } Oh, I really like the simplicity of that solution. Thanks to you and David for the suggestions! Benjamin > in which case: >=20 > \begin{sdapsarray} > & b > \end{sdapsarray} >=20 > will work as expected, but: >=20 > \begin{sdapsarray} [] % note the space before the [] > & b > \end{sdapsarray} >=20 > and: >=20 > \begin{sdapsarray} > [] > & b > \end{sdapsarray} >=20 > won't see the optional argument anymore. >=20 > Best, >=20 > Phelype --=-z/ujdVECtNJPMZKd/6mj Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEED2NO4vMS33W8E4AFq6ZWhpmFY3AFAlyhvfEACgkQq6ZWhpmF Y3CR1w//T6WTgKvcGYceBnEqq4dgeHTKpMWLgBjm6/e85smOUgyNaTxllFFgWUyM H0yCXOL0Tr2bAIsVuPA5gkRIxcLs0dVfAg9BY7PigDBCuTcUpHZvTc+RMgFUqCOa UL67dQAPulmx5VPf9+J0FCruTO5sq9Z2bO+jd72t+4NCS7Br3oxH/hDm/SqqvTV0 I8tD+/4RTxpkXYbcyYgdOvzlHXwVpdrsf2vHR2MKtWF9c2B7eINbDITMeInHLwg4 fhRXAHX+ULTf2hX+TafjZ8FK4UXa9p1/vHbwkFKpGJ6f252CA/ZbBqauuBNFzd4e 9ANbfE5vyxYB2gdvnKPKIeNE06+zTwbH+8pcgyBiPcN+jZCoNOgRGUpVCeGObr9a mthxtw7RyN8jXS5nnjRmSsLiy6hjxxKBakIu9l0okEdJ1XZtHKvuF8wHZWOO9IW/ emWshxiAkrwd2AEMiiJmB6nJHGEkFOokfTQnUt36GGrWizaTYMybcWNaQj0r0U4C z55CRtZK4oITLHoaORoUUbbVhL/ATGZTLkSmHY34/klCKNm9FgpQ3sVMY4LUzkXk RjuWuzMufG8zaAb2V7HzQDyYwRvZiwd2z0oc4igiOHYJOBPuyqeUBsseBQATHWZ7 rjd7OxU0u5cP+NqUSG0F2ja63264tudfsyLH7KdK9uTAFzAvp5U= =sbMf -----END PGP SIGNATURE----- --=-z/ujdVECtNJPMZKd/6mj--