Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by h1439878.stratoserver.net (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id t4VEaQGL013831 for ; Sun, 31 May 2015 16:36:27 +0200 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx006) with ESMTPS (Nemesis) id 0Me4dy-1YkGE632QY-00PwPb for ; Sun, 31 May 2015 16:36:20 +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 t4VEYxtF001785 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 31 May 2015 16:35:00 +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.8) with ESMTP id t4VAWAT2029110; Sun, 31 May 2015 16:34:59 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 12138203 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sun, 31 May 2015 16:34:59 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t4VEYx94012340 for ; Sun, 31 May 2015 16:34:59 +0200 Received: from smtp4-g21.free.fr (smtp4-g21.free.fr [212.27.42.4]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id t4VEYsPm001758 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 31 May 2015 16:34:56 +0200 Received: from [IPv6:2a01:e35:2e92:63f0:fa16:54ff:fef7:e1a8] (unknown [IPv6:2a01:e35:2e92:63f0:fa16:54ff:fef7:e1a8]) (Authenticated sender: frnchfrgg) by smtp4-g21.free.fr (Postfix) with ESMTPSA id 1A8F74C802B for ; Sun, 31 May 2015 16:30:57 +0200 (CEST) references: <55676BAC.7010604@free.fr> <55678C62.1090601@morningstar2.co.uk> <556A194A.9070501@morningstar2.co.uk> <556A2446.5090004@free.fr> <556B1417.3060900@morningstar2.co.uk> user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.0 mime-version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Message-ID: <556B1C0D.2020900@free.fr> Date: Sun, 31 May 2015 16:34:53 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: "Julien RIVAUD (_FrnchFrgg_)" Subject: Re: l3galley, margins/parshapes and cutouts To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <556B1417.3060900@morningstar2.co.uk> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-MIME-Autoconverted: from 8bit to quoted-printable by relay.uni-heidelberg.de id t4VEYxtF001785 Envelope-To: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3; X-GMX-Antivirus: 0 (no virus found) X-UI-Filterresults: notjunk:1;V01:K0:bytub21FO+I=:9xD6U8zhwPTSD3/rVqpfJAsX3L J71nSf/HO1lreTUyZ8pHdECTbAObxl5sw8Uh0viemmRX7cBFbzDYrd74biATmRVbUqeazmAbt 5B8u1KRllb/PF3vbX2ZHe5p5Emon4nUY3sI/W1RhDMflAjrKdD9yfwDXCE+0LqlKgzu1dXgnr ueBpSDH8mdQRZ+G76425W6lQGLfg2ERRbxhX2eWKPuYTR9JVmVMfgRGUeBB4sb8mZAidk3mfD olw6nUcsr6amMroAazhdro3mvzS6uoGcbK4gRFuiiFgu2ETRTvbMIxkb9/NOVDp58iAkVYNgG lWGfWRErV+N7UQN9KMvrp9a9ztQSHif2HNBR0DSHAqCCf53ei8FERdAZHrsF+LsZPF7GW3R5m xSDa8Uq9cjfu28SVU0+U3rfIn7NuUqlm7uBcZObeCGmtHVw1l+HcK7BWV+iP9UkD3KFiFThT0 ILNoAAwX6wnAXjEHPIn78fRzdqcC3uDW7GJldcNNYKzobvfi5MM8HkaMCo2njrRjZ/ENqHreg Ef2zbncMkz7e38PCzIYb7/jtoEX4PN+LWi/JIKx7bOAZxsNYrLfK7m9hO3Yn2JmG1TSZEgU+c s422FBSVA5rRGKbs5QZgzmK7qBvS/XQouyZNI6NU8PqqDw3ECsgh0+vRuGJYwzdzcFtdxt9Zb MeaA26OrKR1X6iWJQuHQRns5nNAwGlguBFQj8uWw6MRU4Jdz4B0trB79/v0x9SB1y5gC+q9e3 l3NtWEp0f91eQV7p2+uBPGVbG1/EpXCDxcriWnfY2alzqTA6fZkOQcZAn7xEORYy4VO8xp0ke YMk1cTEEf+RzKGwXuRV83hnp72aiAM7eB+xUfb5g0d7FVoCIZJya0jBadadPChbXK12vytB4Q h4AP0uEfBtdV9is3+xDc5Jm7Kz02+uIam76+ugMo42QTV3AwIUo2Opl9/KAl7XCnkL5UD116/ oDc+/GL9ovJkbS46p5C1BoQb+/vR37s3DZptGh4mcyAi9Yhx0O1KvW/PEqb0mnSkbo3lYIVV9 3dj+RIsh2K7oMA626/bAOqX1QJag/C1zRxSWR53oCZvcOZ53cJc3sicfs0R6aYjZ3SJ6+p0I4 /xHmPoj/6WRTu4Wz4WgMjiSiSozFl4E/Ea9EbSMx9kdUVJOCzRXgE30O8kfqSt3BU4+xj9rDF EN8pepJAIDIYAbAIrjrJfM6YfJz2PPHykS1umGirRPst4LlWJEtWv+VJ+dperYy0besKE2RTV bX2VGs38ayC0Zvym1WpF19STYN/u8bCXFLH1KPGjM2dOPYugt0dwgoQnxAQG+fY0DMkUmLbHz 01JsTVwsy47PBpS21HQzadEMiEXmlAK+zdCQhyQ+oWLF9QDCX99wDXlRv6TiBKHIekQbbvOhx 7xspc+FqLYSxEyqxSNWP30bRphWFeSf9HohknI/KTUvkpTsqq94t7gcWUXLE7EtleZCXuAMy8 wGJkWOiraeHSHf0WRVDo0dNaMIYm78x+f2hRKt7SlSwU/Bi2Po X-UI-Loop:V01:zN7KzRZxaXQ=:1EyAwqxC8hrHKVeSrU09N/tXazk6nfKaFsJF7JYfpTM= X-UI-Out-Filterresults: notjunk:1; X-Scanned-By: MIMEDefang 2.71 on 85.214.41.38 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by h1439878.stratoserver.net id t4VEaQGL013831 Status: R X-Status: X-Keywords: X-UID: 7719 Le 31/05/2015 16:00, Joseph Wright a écrit : >> -> a way to read currently setup parshapes in clist form (so that it can >> be edited then fed back to l3galley). It would then be easier to have >> cutouts implemented as simple wrappers around parshapes (at least for >> the current paragraph). > > I don't see the requirement to read back raw parshapes. Indeed, as the > concept is that margins, measure and cutouts are separate concepts, > access to the raw parshape sounds like a bad idea! For example, if you > are coding a list-like structure you've no idea is some other code will > alter the margins or impose a cutout, so should not expect to be able to > set the raw parshape. If internally parshapes/cutouts are stored so that they can be cumulative, then that's not needed. It was more an implementation need that a real interface requirement. The idea is that if parshapes aren't cumulative (with a way to reset them if needed), then a package using parshapes to do, say hanging items or theorem heads would clobber a parshape previously set by a wrapfig-like package, unless it reads them back to add to them instead of wiping previous settings. Some real reasons to read parshapes would be: - ensuring that consecutive lines have the same shape (I can envision environments that would prefer to get a rectangular area, even if it means a smaller one) - querying the space some line will have (e.g., to decide if the first enumerate label should be on the same line as the surrounding enumerate item, or if we should typeset pending labels then start a new paragraph --- \leavevmode\par for LaTeX2e) Of course, both of these could/would better be solved with other means (maybe carefully crafted penalties/skips for the second one, because I'm not sure that in a galley setting we really need to delay label typesetting, even if the code needs to know if the last thing we typeset *is* a label) > I've refactored the entire area here, so there is no longer an internal > readback of the \parshape primitive. However, the data structures are > largely internal. I'd expect any higher-level interface to track the > settings it is requesting itself. So you trade compatibility with legacy code ? (Currently, enumitem already does strange things when xgalley is loaded, but most things work normally). Julien RIVAUD