Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by h2774747.stratoserver.net (8.15.2/8.15.2/Debian-3) with ESMTP id w9M58gDS013677 for ; Mon, 22 Oct 2018 07:08:43 +0200 Received: from relay2.uni-heidelberg.de ([129.206.119.212]) by mx-ha.gmx.net (mxgmx016 [212.227.15.9]) with ESMTPS (Nemesis) id 1Mfqf5-1fhIQW09Qf-00g5zz for ; Mon, 22 Oct 2018 07:08:37 +0200 Received: from relay2.uni-heidelberg.de ([129.206.119.212]) by mx-ha.gmx.net (mxgmx016 [212.227.15.9]) with ESMTPS (Nemesis) id 1Mfqf5-1fhIQW09Qf-00g5zz for ; Mon, 22 Oct 2018 07:08:37 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay2.uni-heidelberg.de (8.15.2/8.15.2) with ESMTP id w9M58aEJ005944; Mon, 22 Oct 2018 07:08:36 +0200 Received: from listserv (localhost [127.0.0.1]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id 557161275D5; Mon, 22 Oct 2018 07:08:26 +0200 (CEST) Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 30447470 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 22 Oct 2018 07:08:26 +0200 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 32BE912757A for ; Mon, 22 Oct 2018 07:08:26 +0200 (CEST) Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Message-ID: <3293228949484868.WA.kellysmith12.21gmail.com@listserv.uni-heidelberg.de> Date: Mon, 22 Oct 2018 07:08:26 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Kelly Smith Subject: Abstracting Over Templates 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:mXDKSWP7GKs=:FdTQdCOdp1nMBZNb5iEXgTETim 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 X-UI-Loop:V01:YqOwYQF2iSM=:OpZs6rfVwFTXfmr9/TGkaoeXcYcBl+W8zWY17PSHEE0= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V01:K0:wnFis54tKx8=:wZcgQLD3HmrhOTg6Ev+/q+ Jo7Oa4vuL+r+QLbAdT2qBOp1lgS/giSnwUuLRW5L3mm56RsR/71IYRKFXo47ZeaKdvFBp2c1X un0SVyQanizav86bJUvnRdNtajlIc88Nrh6wqFTis9kZ/9Z1QW74n5QgmNt09OCcMPbsgc94R xy/96jk3qqH81ZEBaucqsEqEV/PWVy/zoeRx5qXBJzRnJyDKu7Af1k2hSVv9xno1Ik1IoMcMP tOmH4AueHgJ8F2pX9FpjCkqtb7JVRkn8pIBXRgsMRKJSCydlk3zgs3TAM+HHCeIScI/aMl7M5 w+FDB1oK67G3ABg38etCibCCjwrYInmATqZyLC1SFJo2LY9ellgVe8O6lVQR3CdrgikItS/+E 7Qx3VYJKQ9mNU7u2gOExlT8Gu/lYojPzVH/RORZjXsw1Sp0btuHLxUH38a9FdYw1ZCVFKxXF/ 3bgCkW+nT+RBApY1YMOvIGlJcer6KKw= 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 w9M58gDS013677 Status: R X-Status: X-Keywords: X-UID: 8095 Hello, The class is coming along nicely. The class options are fully-functional and no longer crash TeX (thanks to Joseph Wright for the info on option processing in 2e). I have found templates very useful for managing document components. However, this means that some templates are woven into the class internals, necessitating that there only ever be a single template for a given object type. Of course, instances of that single template can be declared and used freely. As such, it seems prudent to provide a more limited interface to document designers. An example of such a limited interface is font sizes. I provide the commands `\DeclareFontSize {} {}` `\EditFontSize {} {}` `\UseFontSize {}` as wrappers around the `\DeclareInstance`, &c. set of commands. The idea is that these commands should be the only means by which one interact will with the class' font size template. I am making a similar system for page layout. Is this an appropriate approach to abstraction, or is it an abuse of xtemplate? -Kelly