Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by h2774747.stratoserver.net (8.15.2/8.15.2/Debian-3) with ESMTP id x2VEB3ED020218 for ; Sun, 31 Mar 2019 16:11:04 +0200 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx015 [212.227.15.9]) with ESMTP (Nemesis) id 1M8RaE-1hF1173PeK-004XpH for ; Sun, 31 Mar 2019 16:10:57 +0200 IronPort-SDR: UJaE4CNRxFf5Hkx9Ep7Zku9Fo1y28fVwy34HJ8Ixoq3Z0S9/xAIwWajwpzWOTuRebByZpTblyU Xie9EhFivvigmYLLJGAYH7pE+zgMoSBg45qX5meghDfMEWo6a4hOdf/Q+I4g/4NxgoNZuRDOMn NaFDSonytFKo+yktZyCCppaSp/ueQTKTOMs7ACB1NR8UPlxV9my45F/lurc0tRsL1hQFDv4WRw Y7SIZKrd2uWy94GTXQw4oQopEbKvtC4gWAui4PnKBJ67BlKn4JuQaUuX1PRqbpii9J56h9UyM0 VG8= Received: from listserv.uni-heidelberg.de ([129.206.100.94]) by relay.uni-heidelberg.de with ESMTP; 31 Mar 2019 16:10:58 +0200 Received: from listserv (localhost [127.0.0.1]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id 94869123874; Sun, 31 Mar 2019 16:11:05 +0200 (CEST) Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 34675892 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sun, 31 Mar 2019 16:11:05 +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 C23D5124C42 for ; Sun, 31 Mar 2019 16:11:02 +0200 (CEST) IronPort-SDR: iu7ys12pMmAkzgareLLGvUkuGdV71vOffXr/mkY6EWUbGq7G5gZUkfDnv5wogBlVONcH15T9a9 lhNs7vzcfa7uojMzHaSaDWktksJLowdxalJm7BeTBRDBtXHayovl6yXNwy+NDuCEFVLhMynITe CVssHRqiuLzNgM31As8PM04GwFZnkmOG/enOC60NBFQ3YLyvnuoq7CI08xxSj9qwi/qd9Pxo2A aj53NB4KPpJhMxPwYS4Ckbu4OeatGrKaKtba3aBQYd8A4S/0Fp5FqBSN+m6UxSf0JKfqOQ2+nC L19Sx4V/yvj6ZjhIojauM7RP X-IronPort-MID: 17404976 X-IronPort-RemoteIP: 146.101.78.100 X-IronPort-SenderGroup: UNKNOWNLIST X-IronPort-MailFlowPolicy: $ACCEPTED X-IronPort-Reputation: 3.5 IronPort-PHdr: =?us-ascii?q?9a23=3AqRVUtxT0BVeG/VJ1M6qILeCw1dpsv++ubCcI9p?= =?us-ascii?q?oqja5Pea2//pPkeXbS/uhpkESQAt6J8f9AgvuQrqbhHGwN4JqMtHoPapMKWx?= =?us-ascii?q?JWwd4OkVkGB8iIQVb+MOasdzYzSchLSl5p9Fm9OEcTE8G4el6B6maq42s0HR?= =?us-ascii?q?PyfRFwOvyzH4fTi8qt0OXn95TNYgkOjzOnZbJpKBieqwze8MIRx5Zhee4q0h?= =?us-ascii?q?WchHxOdqxNwH9wY1KemxGp/sCr4Jtq6Dhdodos6otbVLniOqg1Sb1GAS43dj?= =?us-ascii?q?ltvIvutBzORgKU+j0XVWBPyEhyDgPI7Q/3UtLKigWg57ov/i6cMIW2V70wUC?= =?us-ascii?q?Xk8qFqDR/liSsKMzQ06m6RhsEixKRc6AmsoRBy2eu2KMmcKeZ+c6XBfNgbWX?= =?us-ascii?q?sJX8BfUDZEC5+9aI1HBvQIPOJRpY3w71UUqh72CQ6pDeLpgjhG4x2+laEzze?= =?us-ascii?q?UtGinA1QNmFNVIrXeV5NT5OaEOUPykmbHSxGaLZPdX1DHhrYnQJ0l9/7fVBe?= =?us-ascii?q?s2LpqXkBF3RGanxh2KpIfoPi2YzLEXvmyS/qx9U+Pqi2Mmpwx1qDW1yYEgh9?= =?us-ascii?q?qs5Mpdx1ba+CF+2ItwK8e/TRsxbde6EZcWvCiAM4ptRs4KRWhn/i09jKAF88?= =?us-ascii?q?3eHmBC2NE8yhjTZubSOYSB/BPvX86XKDg+j3UjZbH11F6itEOnzOP7TMy91l?= =?us-ascii?q?1H+zFEntf7vXcIzxXP68KDR6InrH2s0juOyQ3fr9p8Dxtuz/j9LJgsiv4qm5?= =?us-ascii?q?4aoALeGC6zmEj3gKKSfEg+9a6k5ravZLKuvZKaO4Ju72O2eq0zhsyyB/g5OQ?= =?us-ascii?q?kSTiCa/+q7zrjq4Uz+Rv1DkPQ3lqDTtJ2SK94co+a1BApc04Br7BjabX/u3N?= =?us-ascii?q?0GnHVBJ1tffBOci4XBPVjBZvv/S+q8whytnDpt2/HaL+jkC5TJIGLEleSEH/?= =?us-ascii?q?414EpdxQwviNFHsssIVPdYeKu1BR+37YSAXVcjPge5wvjqEoBn24cXSCSSBK?= =?us-ascii?q?7cMK7TvVKM7O81LK+Aadxw2n61Jv476vrplXJ8l0UaePzj0ZIJaXz+Ff18J0?= =?us-ascii?q?SCZXfEhN4OV2wN+Bc9Br+P6hXKQXtIanC+UrhprD0yFoOqS4zKXISsm7iM9C?= =?us-ascii?q?GyEdtdYSZbCRrfdBWgP5XBUPAKZiWIJ8ZnmTFRTrmtRbgq0hS2vRP7wb5qd7?= =?us-ascii?q?CGwCATuJP92dQw3NX9zkxipxpzCcnVk3uAS2hl2H4ORno20aFzrEh3x02Ml6?= =?us-ascii?q?R10bReEpRI6vVFXx1fV9aUxvFmC930RgPKf8uYAFegTNK8BDgtT9U3i9YQak?= =?us-ascii?q?d5Et+mg1jNxS2vS7MSkrWKAtQz/Me+lzDpIN1hzn/dyKQ7p1Q7B9BKKXXjiq?= =?us-ascii?q?N79hbeHZ+Myh3B0aOrcKkX1TXRsmyEyCvGvU1VVhJxTbSQXX0bYRizz5yx7U?= =?us-ascii?q?fDQrmyTLU/Z1Idl4jbcvIMNY2v1A0eF7/5Nd/TYny8gTKqCBKB1/WRaouve2?= =?us-ascii?q?gc0CjZAkUenEYf8CXjV0B2CyG/rmbZFDErG0joZham/eBgqX/9RUYuywCRa0?= =?us-ascii?q?BJ0bO6vBUSw+GfAaB2vPpMqGI6pjN4EUzolcrREMaFrhF9cb90bM54+1JbzS?= =?us-ascii?q?fVugh8IJG6PuU73gZYdgVyskjnzAkxAYJF25tPzjti3E95LqSW10lEfjWT0M?= =?us-ascii?q?XrO7HZHWL1+Qimd6/c3lyHgYSmv5wX4fF9kG3N+QSgF04s6XJiioAH1XKToJ?= =?us-ascii?q?7NShcRA8qoDhQHsiNirrSfWRETopvO3CQ1Y6+9vXnJ3JQ0B7l9k0vyT5JkKK?= =?us-ascii?q?qBUTTKPYgaCsypc7F4lkXsdRcYJKVe+ao1Ic68Zr7fgPbtOedlkTmvlngB64?= =?us-ascii?q?d4gBqB?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AxAgAwyKBch2ROZZJjHgEZBgaBUwK?= =?us-ascii?q?BDS9Qa3QECycKhASDRwOFMYpLgWAtkkaFd4EkA2MBGAEKCYFLgnUZhSAaBgY?= =?us-ascii?q?yBw0BAQMBAQkBAwEBFAEBAQoLCQgpIwyFSwEBBAEBIR0BATgPAgEIBBQqAgI?= =?us-ascii?q?CMCUCAwGDNQGBXQMVAQMLnTgCihMBAQFvgS+CeQEBBYJGgjMYggwDBYEvihS?= =?us-ascii?q?BHxeBQD+BOAyCMS4+gmEEgTlTCwKCUIJXijELmxEJglCFIYdrgVmCJSCCAyq?= =?us-ascii?q?FYoMqiHOIQ4kNjT0CBAIEBQIOAQEFgVQBggZNNASDJ4V4hRSCZoJZQTGBKIx?= =?us-ascii?q?ngS0BgR4BAQ?= X-IronPort-AV: E=Sophos;i="5.60,292,1549926000"; d="scan'208,217";a="17404976" X-MGA-submission: =?us-ascii?q?MDF7YuxoW/g20eTB1RQwuel0bcz+gpg/OWuuod?= =?us-ascii?q?8eSSY0z7AFLpBL7xdvhb0niH8J2dburgZQ2vsrZ6UT0I5PMNrs2ivG52?= =?us-ascii?q?nckvAg/2Og24u3cSmVxw3FFnA0P2SBzvanQkS1DbGnppBXFQPQDQdrGJ?= =?us-ascii?q?WbvM9Jueirs3A2gnBS7i4HFg=3D=3D?= Received: from eu-smtp-delivery-100.mimecast.com ([146.101.78.100]) by relay.uni-heidelberg.de with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Mar 2019 16:03:23 +0200 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2057.outbound.protection.outlook.com [104.47.13.57]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-33-yRxiGa8kMjWB_XMrUK51bA-1; Sun, 31 Mar 2019 15:03:17 +0100 Received: from VI1PR05MB3439.eurprd05.prod.outlook.com (10.170.239.17) by VI1PR05MB6415.eurprd05.prod.outlook.com (20.179.27.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1750.19; Sun, 31 Mar 2019 14:03:15 +0000 Received: from VI1PR05MB3439.eurprd05.prod.outlook.com ([fe80::40ed:88d0:f179:9c3]) by VI1PR05MB3439.eurprd05.prod.outlook.com ([fe80::40ed:88d0:f179:9c3%4]) with mapi id 15.20.1750.017; Sun, 31 Mar 2019 14:03:15 +0000 Thread-Topic: Rescanning first token of environment when no optional argument is given Thread-Index: AQHU58nHsw5Re3cxzECQbgXNfSbyL6YlxWAA References: <856ff273317abf46dda9ce8c6fb0d6bd8d22472b.camel@sipsolutions.net> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: LNXP265CA0021.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5e::33) To VI1PR05MB3439.eurprd05.prod.outlook.com (2603:10a6:802:1e::17) x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [88.202.154.239] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b8c18d2d-36bd-4b80-f6cb-08d6b5e19e7b x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(7021145)(8989299)(4534185)(7022145)(4603075)(4627221)(201702281549075)(8990200)(7048125)(7024125)(7027125)(7023125)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020);SRVR:VI1PR05MB6415; x-ms-traffictypediagnostic: VI1PR05MB6415: x-ms-exchange-purlcount: 1 x-microsoft-antispam-prvs: x-forefront-prvs: 0993689CD1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(39830400003)(136003)(346002)(376002)(366004)(396003)(199004)(189003)(2906002)(508600001)(105586002)(106356001)(966005)(316002)(14454004)(6916009)(66066001)(5660300002)(25786009)(305945005)(446003)(36756003)(31696002)(6246003)(256004)(11346002)(476003)(2616005)(6512007)(71200400001)(71190400001)(6306002)(53936002)(97736004)(76176011)(74826001)(53546011)(6486002)(6506007)(386003)(102836004)(486006)(7736002)(31686004)(229853002)(8936002)(52116002)(6116002)(3846002)(81156014)(26005)(186003)(6436002)(68736007)(99286004)(81166006)(8676002)(74482002);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR05MB6415;H:VI1PR05MB3439.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: uhZveWZ12YyicFlfr6JSw9m75EFpyAOUvHK+kIuSC0KfKZxNQeIiUewXVZ+vyUlTPYsJRhgGbZcOcTt6cpgCisfz1eYCJmeG4XZNL7ZuiBDdinyrZ8Dt5IYOCvM2vDZl8vIqs5v4j8twJQVaVX9oXlNhOiNRx8ly2bYjd1Mr2KT97vdFU7sckEzWkolLc87qmOmLL9tiMNk3ZV5Kheim5mKoB6xndZCIgsMk2C/QgzEBnKfPmOtKKkEPCOPopGmpcy2+doYrH7SAoDakao1CKDmcrGHxVHi0unzSBnCmATYgyGDiSMi4YZJCbR6bMmqfzmdqGnaDK+qLNtO5edLtJjvQeQMVPV9sDCTohrMrLJkG+ABvGrDoGaw9LmX+OrqHltDPO1RxmiHH8FjiYiLKG5XRLtPTDYHR5o/qEIatg3k= Content-ID: <9904EDDABB4D6143BCCF933146214424@eurprd05.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: nag.co.uk X-MS-Exchange-CrossTenant-Network-Message-Id: b8c18d2d-36bd-4b80-f6cb-08d6b5e19e7b X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2019 14:03:15.3739 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: e7971626-b996-462e-b3c9-bbba3a50d55d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6415 X-MC-Unique: yRxiGa8kMjWB_XMrUK51bA-1 X-Mimecast-Spam-Score: 0 Content-Type: multipart/alternative; boundary="MCBoundary=_11903311503180321" Message-ID: <96db896f-4809-07a1-7ac2-39e26eb9d2f8@nag.co.uk> Date: Sun, 31 Mar 2019 14:03:15 +0000 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: David Carlisle Subject: Re: Rescanning first token of environment when no optional argument is given To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <856ff273317abf46dda9ce8c6fb0d6bd8d22472b.camel@sipsolutions.net> 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:iXKuugzLJwA=:9CZ1aupf31LFrss/QsO2q58Iv/ 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 X-UI-Loop:V01:aEX9EdeNhqU=:tPTBTJmQoEc1uwfjP+yUEEmWQXo5oa1J1Qw3hMLlGtY= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:ZuZE2DRDmi0=:Bulxkrpa0fR5221T6f4rh+ oFqDqbVj3bbNANe+z5b/C9yPYdRlwRGaLY1dE0sGmuWcty2eT2foMuXn/LBnDk7aYOJFmRSr7 9yekBJl5gdyJLAGRpi1H/HnUls6slgbTIxwy5BjQWYlIHTV1GjBTI7voYHpIEal9TWVcIYlyF jKDtwbvXKFNZX4h+M+UBn3mcaffUk6qZMB8EPMGHOpu+ViJY5NIFpv/en/oqLnKb4YQ7LogpI PDMhVZh02m5PC+Ssr4ZfJkcyTY+rnFzs+il+4CbrHrWhYp3mP8MRORezX/ATPEoRCmE0pSh6f G/qB5FDz+h1GicPMmJ3nZUrLlAT6woQUsBr6PNibW9hdpsEDWC1f/izTSDtVM34OfavamaYrI wvyLnXts2vdhxVKx3yvd/SQA3mYgD6OMQb2xQum1GEsku49KePj7faqP699/+3IWEEjJxNBHa criMj4Qlrw== X-Scanned-By: MIMEDefang 2.78 on 81.169.212.23 Status: R X-Status: X-Keywords: X-UID: 8169 --MCBoundary=_11903311503180321 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 T24gMzEvMDMvMjAxOSAxMDoyMiwgQmVuamFtaW4gQmVyZyB3cm90ZToNCj4gSGksDQo+IA0KPiBJ IGNyZWF0ZWQgYW4gZW52aXJvbm1lbnQgd2hlcmUgSSBvdmVycmlkZSB0aGUgJiBjaGFyYWN0ZXIg dG8gYmUgYWN0aXZlDQo+IGFuZCB1c2UgaXQgYXMgYSBtYWNybyAocmF0aGVyIHRoYW4gYW4gYWxp Z25tZW50IGNoYXJhY3RlcikuIEkgYW0gbm93DQo+IHJ1bm5pbmcgaW50byB0aGUgaXNzdWUsIHRo YXQgdGhlb3JldGljYWxseSB0aGUgdXNlciBtaWdodCBub3QgcGFzcyBhbg0KPiBvcHRpb25hbCBh cmd1bWVudCBhbmQgYWxzbyB1c2UgdGhlICYgdG9rZW4gYXMgdGhlIGZpcnN0IGNoYXJhY3Rlcg0K PiBpbnNpZGUgdGhlIGVudmlyb25tZW50LiBJbiB0aGF0IGNhc2UgdGhlIHRva2VuIGlzIGludGVy cHJldGVkIGFzIGFuDQo+IGFsaWdubWVudCBjaGFyYWN0ZXIuDQo+IA0KPiBUaGUgZW52aXJvbm1l bnQgaW4gcXVlc3Rpb24gaXMgY3VycmVudGx5IGRlZmluZWQgd2l0aDoNCj4gICAgIFxOZXdEb2N1 bWVudEVudmlyb25tZW50IHsgc2RhcHNhcnJheSB9IHsgbyB9DQo+IA0KPiBOb3csIHRoaXMgaXMg YSB2ZXJ5IHJhcmUgY29ybmVyIGNhc2UgZm9yIG1lLCBhbmQgSSBhbSBoYXBweSB0byBzaW1wbHkN Cj4gZG9jdW1lbnQgdGhlIGxpbWl0YXRpb24uIEJ1dCwgSSBkbyB3b25kZXIgd2hldGhlciB0aGlz IG1heSBiZQ0KPiBjb25zaWRlcmVkIGEgYnVnIGluIHRoZSBvcHRpb25hbCBhcmd1bWVudCBwYXJz ZXIuDQo+IA0KPiBCZW5qYW1pbg0KPiANCj4gUFM6DQo+IFRoaXMgaXMgaW4gbXkgY3VzdG9tIFNE QVBTIGFycmF5IGVudmlyb25tZW50ICh3aGljaCBpcyB3ZWlyZCBpbiBhDQo+IG51bWJlciBvZiBy ZWdhcmRzKQ0KPiBodHRwczovL3NkYXBzLm9yZy9jbGFzcy1kb2Mvc2RhcHNhcnJheS5odG1sI1xz ZGFwc19hcnJheV9uZXdsaW5lJTNhDQo+IHNob3dzIHRoZSBleGFtcGxlIHdpdGggYSB3b3JrYXJv dW5kIChsYXN0IG9uZSBvbiB0aGUgcGFnZSkNCj4gDQo+IEZhaWxpbmcgY29kZSBpczoNCj4gICBc YmVnaW57c2RhcHNhcnJheX0NCj4gICAgICAmIGNvbCAxICYgY29sIDIgXFwNCj4gICAgIHJvdyBo ZWFkZXIgMSAmIGNlbGwxICYgY2VsbCAyDQo+ICAgXGVuZHtzZGFwc2FycmF5fQ0KPiANCj4gd2hp bGUgZWl0aGVyOg0KPiAgIFxiZWdpbntzZGFwc2FycmF5fVtdDQo+ICAgICAgJiBjb2wgMSAmIGNv bCAyIFxcDQo+ICAgICByb3cgaGVhZGVyIDEgJiBjZWxsMSAmIGNlbGwgMg0KPiAgIFxlbmR7c2Rh cHNhcnJheX0NCj4gDQo+IG9yDQo+ICAgXGJlZ2lue3NkYXBzYXJyYXl9DQo+ICAgICB7fSAmIGNv bCAxICYgY29sIDIgXFwNCj4gICAgIHJvdyBoZWFkZXIgMSAmIGNlbGwxICYgY2VsbCAyDQo+ICAg XGVuZHtzZGFwc2FycmF5fQ0KPiANCj4gd29ya3MgZmluZS4NCj4gDQoNCnlvdSBzaG91bGQgKG9y IGF0IGxlYXN0IGNvdWxkKSBkZWZpbmUgc2RhcHNhcnJheSB0byBqdXN0IHN3aXRjaCB0aGUgDQpj YXRjb2RlIG9mICYgYW5kIHRoZW4gY2FsbCBhbiBpbm5lciBtYWNybyB0aGF0IGRvZXMgdGhlIG9w dGlvbmFsIA0KYXJndW1lbnQgcGFyc2luZy4NCg0KRGF2aWQNCg0KRGlzY2xhaW1lcg0KDQpUaGUg TnVtZXJpY2FsIEFsZ29yaXRobXMgR3JvdXAgTHRkIGlzIGEgY29tcGFueSByZWdpc3RlcmVkIGlu IEVuZ2xhbmQgYW5kIFdhbGVzIHdpdGggY29tcGFueSBudW1iZXIgMTI0OTgwMy4gVGhlIHJlZ2lz dGVyZWQgb2ZmaWNlIGlzOg0KV2lsa2luc29uIEhvdXNlLCBKb3JkYW4gSGlsbCBSb2FkLCBPeGZv cmQgT1gyIDhEUiwgVW5pdGVkIEtpbmdkb20uDQoNClRoaXMgZS1tYWlsIGhhcyBiZWVuIHNjYW5u ZWQgZm9yIGFsbCB2aXJ1c2VzIGFuZCBtYWx3YXJlLCBhbmQgbWF5IGhhdmUgYmVlbiBhdXRvbWF0 aWNhbGx5IGFyY2hpdmVkIGJ5IE1pbWVjYXN0IEx0ZCwgYW4gaW5ub3ZhdG9yIGluIFNvZnR3YXJl IGFzIGEgU2VydmljZSAoU2FhUykgZm9yIGJ1c2luZXNzLiANCg== --MCBoundary=_11903311503180321 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8 On 31/03/2019 10:22, Benjamin Berg wrote:
> Hi,
>
> I created an environment where I override the & character to be ac= tive
> and use it as a macro (rather than an alignment character). I am now > running into the issue, that theoretically the user might not pass an<= BR> > optional argument and also use the & token as the first character<= BR> > inside the environment. In that case the token is interpreted as an > alignment character.
>
> The environment in question is currently defined with:
> \NewDocumentEnvironment { sdapsarray } { o }
>
> Now, this is a very rare corner case for me, and I am happy to simply<= BR> > document the limitation. But, I do wonder whether this may be
> considered a bug in the optional argument parser.
>
> Benjamin
>
> PS:
> This is in my custom SDAPS array environment (which is weird in a
> number of regards)
> https://sdaps.org/class-doc/sdapsarray.html#\sd= aps_array_newline%3a
> shows the example with a workaround (last one on the page)
>
> Failing code is:
> \begin{sdapsarray}
> & col 1 & col 2 \\
> row header 1 & cell1 & cell 2
> \end{sdapsarray}
>
> while either:
> \begin{sdapsarray}[]
> & col 1 & col 2 \\
> row header 1 & cell1 & cell 2
> \end{sdapsarray}
>
> or
> \begin{sdapsarray}
> {} & col 1 & col 2 \\
> row header 1 & cell1 & cell 2
> \end{sdapsarray}
>
> works fine.
>

you should (or at least could) define sdapsarray to just switch the
catcode of & and then call an inner macro that does the optional
argument parsing.

David


Disclaimer

The Numerical Algorithms Group Ltd is a company registered in= England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. Please = see our Privacy No= tice for information on how we process personal data and for details of= how to stop or limit communications from us.

This e-mail has be= en scanned for all viruses and malware, and may have been automatically arc= hived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for bus= iness.

--MCBoundary=_11903311503180321--