15.07.2013 Views

breqn

breqn

breqn

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ody in the frame and from then on treat the body as a single box instead of<br />

multiple line boxes. But I had a notion that it might be possible some day to<br />

support vertical stretching of the frame.<br />

16 Prelim<br />

This package doesn’t work with L ATEX 2.09, nor with other versions of L ATEX earlier<br />

than 1994/12/01.<br />

1 〈∗package〉<br />

2 \NeedsTeXFormat{LaTeX2e}<br />

Declare package name and date.<br />

3 \RequirePackage{expl3}[2009/08/05]<br />

4 \ProvidesExplPackage{<strong>breqn</strong>}{2012/05/10}{0.98b}{Breaking equations}<br />

Regrettably, <strong>breqn</strong> is internally a mess, so we have to take some odd steps.<br />

5 \ExplSyntaxOff<br />

17 Package options<br />

Most options are set with the \options command (which calls \setkeys) because<br />

the standard package option mechanism doesn’t provide support for key-value<br />

syntax.<br />

First we need to get the catcodes sorted out.<br />

6 \edef\<strong>breqn</strong>popcats{%<br />

7 \catcode\number‘\"=\number\catcode‘\"<br />

8 \relax}<br />

9 \AtEndOfPackage{\<strong>breqn</strong>popcats}%<br />

10 \catcode‘\^=7 \catcode‘\_=8 \catcode‘\"=12 \relax<br />

11 \DeclareOption{mathstyleoff}{%<br />

12 \PassOptionsToPackage{mathstyleoff}{flexisym}%<br />

13 }<br />

Process options.<br />

14 \ProcessOptions\relax<br />

18 Required packages<br />

The flexisym package makes it possible to attach extra actions to math symbols,<br />

in particular mathbin, mathrel, mathopen, and mathclose symbols. Normally it<br />

would suffice to call \RequirePackage without any extra testing, but the nature of<br />

the package is such that it is likely to be called earlier with different (no) options.<br />

Then is it really helpful to be always warning the user about ‘Incompatible Package<br />

Options!’? I don’t think so.<br />

15 \@ifpackageloaded{flexisym}{}{%<br />

16 \RequirePackage{flexisym}[2009/08/07]<br />

16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!