Received: from mx0.gmx.net (mx0.gmx.net [213.165.64.100]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with SMTP id q74B0xt5007315 for ; Sat, 4 Aug 2012 13:01:00 +0200 Received: (qmail 5771 invoked by alias); 4 Aug 2012 11:00:54 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 04 Aug 2012 11:00:54 -0000 Received: from relay.uni-heidelberg.de (EHLO relay.uni-heidelberg.de) [129.206.100.212] by mx0.gmx.net (mx022) with SMTP; 04 Aug 2012 13:00:54 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id q74Aw8ps004598 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 4 Aug 2012 12:58:08 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.8/8.13.1) with ESMTP id q73CcZoX008220; Sat, 4 Aug 2012 12:58:08 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 2489726 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sat, 4 Aug 2012 12:58:08 +0200 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.8/8.13.1) with ESMTP id q74Aw8aQ021230 for ; Sat, 4 Aug 2012 12:58:08 +0200 Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id q74AvpPF016338 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL) for ; Sat, 4 Aug 2012 12:57:53 +0200 Received: by wibhm2 with SMTP id hm2so260148wib.16 for ; Sat, 04 Aug 2012 03:57:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:x-enigmail-version:content-type :content-transfer-encoding:x-gm-message-state; bh=x+mopX5Mo1NBGrWPBUDVcVenxa/cC9mzEJZb5rYB/6Y=; b=dSYgKCZpY9uj7ZoIpKeDIPttv72HjbFVh+uL89H1/6I9xd16IuxCs6RpDdFsSfXKrI NFXzKIZh71IYCWKNrMVoSfQ+gmJ1F7xDPnQviVe0nCGkUsvo18p4kCJCohrHBmDSqF6M 3Q9lhVMDq+/9cTSwNQTz9vydXSZ9fZBM04ZHCecHTSGDRmXEM9uFX6T4kaSHUYhfBKBq q7V42uD9KfFgOSP+JeRVM0Iv3+Hht93IVXCVDWhp2moIIJ/QqJXzHUxjr3x11Ujxs9zc e357vSl4XbZtMIYelIzXJgVvj2NOgXG2usWXdlHuxqgygOpSTjdFU/uVZOtTy6Cl0snJ /4IQ== Received: by 10.216.139.196 with SMTP id c46mr2415550wej.220.1344077870937; Sat, 04 Aug 2012 03:57:50 -0700 (PDT) Received: from [192.168.2.6] (18.123.125.91.dyn.plus.net. [91.125.123.18]) by mx.google.com with ESMTPS id fu8sm2608944wib.5.2012.08.04.03.57.47 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 04 Aug 2012 03:57:50 -0700 (PDT) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 References: X-Enigmail-Version: 1.4.3 Content-Type: text/plain; charset=ISO-8859-9 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQkh37t5BOPBfwBQX7oChn6FuKZ/AMlrCtP4W1TTG2yM8v/xFtRCJpR5TGxUEQP5yoM1duTq Message-ID: <501D002B.7060006@longborough.org> Date: Sat, 4 Aug 2012 11:57:47 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Brent Longborough Subject: Some further thoughts on xcoffins To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (eXpurgate); Detail=5D7Q89H36p7zYQev1Bv5lawyulDRL8ctEnCHkA9F/NGf5JlFiSRZ9SLV9VacRJLV/JdG7 psSP4mkMbrRmHIUVlUPiPxJWI6v7NJNWKtqsfnvjKxWousS92ZTzxn068Toz+SQ0xLwtkz/ef31U +bhm+QuKXaM+sjtRvdeRPARTtVGEtA0UKcCiZhdkxuw2igTTe7BJwf4jq4=V1; X-Resent-By: Forwarder X-Resent-For: rainer.schoepf@gmx.net X-Resent-To: rainer@rainer-schoepf.de Status: R X-Status: X-Keywords: X-UID: 7099 xcoffins is an extremely valuable package to have in my TeXkit, but I often find myself thinking "if only...". Here are a few ideas for enhancements: 1. Positioning the 'master coffin' \TypesetCoffin, quite correctly, sets the coffin as if it were a 'character' (pardon what is almost certainly a gross approximation), within the current flow of the text. But often there may be cases where the coffin is the only 'character' on the page, and it would be much more convenient to place the coffin as if joining it to a 'page coffin'. Something like: \PageSetCoffin [t,l] \MyCoffin [t,l](-1cm,1cm) where the first [] specifies the 'page handle' for alignment. Of course, this leads to another question: 'what do you mean by page?', so one might also need things like '\TextblockSetCoffin' and '\StockSetCoffin', or another mechanism altogether. 2. Bleeding I can see a need to allow coffin content to bleed outside the coffin (in some sense), but not a simple way to achieve this. Take, for example, the reconstructed cover page of 'Elementare Typographie' -- I can imagine that the original intent was for the two thick red rules to bleed into the left-hand and bottom trim edges. But the designer would prefer to concentrate on positioning the non-bleeding stuff on the trimmed page, while the length of the rules to the left and below 'doesn't really matter'. It would be useful to have some way of saying 'this edge of this coffin stops here, but let all this stuff overflow outside the coffin'. I'm sorry -- that's a rather vague specification, but I hope you can see what I'm trying to achieve. 3. Debugging Putting a set of coffins together can sometimes be a bit of a brain-bending task. It would be useful to have a debug option which, when turned on, would produce the following effect on \JoinCoffins: 1. Locate the destination point (the intersection of the two destination poles), then, if the intersection point is defined by two different coffins: 2. Draw a rule along the horizontal pole from the vertical centre of its coffin to the intersection point 3. Draw a rule along the vertical pole from the horizontal centre of its coffin to the intersection point, and, finally: 4. If there is a non-zero offset, draw a line from the intersection point to the final offset destination I can see two ways to implement the on/off switch: something like \DebugJoinCoffinOn/Off, or a starred version of \JoinCoffin. Please believe that I am very grateful for xcoffins, and I realise that all this is extra, and probably complex work. But I see these things as being useful, so please feel free to shoot me down, to bring me back to the real world, or even to build on these ideas. Brent Longborough