LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender: Mailing list for the LaTeX3 project <[log in to unmask]>
Date: Mon, 16 Jan 2017 08:36:22 +0000
Reply-To: Mailing list for the LaTeX3 project <[log in to unmask]>
Message-ID: <[log in to unmask]>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
In-Reply-To: <[log in to unmask]>
Content-Type: text/plain; charset=utf-8
From: Joseph Wright <[log in to unmask]>
Parts/Attachments: text/plain (30 lines)
On 16/01/2017 08:19, David Carlisle wrote:
> On 16/01/2017 00:58, Andrew Parsloe wrote:
>> Only recently have I learnt to distinguish inline from display-style
>> maths mode by using \mode_if_inner:TF. It would be helpful for those of
>> us who come to expl3 programming without a good prior grounding in TeX
>> if a comment to this effect could be added to the documentation
>> (interface3.pdf).
>> Andrew
> \mode_if_inner:TF is a wrapper around \ifinner so can't be used to
> distinguish inline from display. In fact in math \ifinner can't be used
> to detect much useful at all, the points at which tex is or is not in
> inner math mode are not usually interesting. (Unlike testing for inner
> when in vertical mode that tells you if you are in a box or on the main
> vertical list)

Indeed, one cannot be sure that display math mode will actually be used
for any 'display' anyway. See for example the strategy used by breqn:
all typesetting is done in inline math mode, using \displaystyle where
appropriate. (Display math mode is used only for obtaining the length of
the line of text immediately preceding the 'display'.)

Almost certainly you want to use \mathchoice (currently there is no
interface for this in expl3 beyond the primitive), though you might also
look at LuaTeX's additional primitives in this area if you are
considering a 'LuaTeX-only' solution.