* Headers with "unnumbered" attribute are not numbered.
(Nor do they cause an increment in running numbering.)
* Section numbers now work properly, even when there is
material before the first numbered section.
Also `writerNumberFrom` -> `writeNumberOffset`.
The offset is a list of numbers (0 by default).
These are added to the section, subsection, etc.
numbers that would have been generated automatically.
Previously the numbering restarted from 1 in each chapter
(with `--number-sections`), though the numbers in the table
of contents were correct.
Note that this fix is a bit hackish and possibly fragile:
if the rendering of section numbers in HTML changes in the
future, it may break. But it works, without needing
changes in other modules.
Note: The attributes go on the enclosing section or div
if `--section-divs` is specified.
Also fixed a regression (only now noticed) in html+lhs output.
Previously the bird tracks were being omitted.
Unnumbered sections get [] for their section number.
So far only the HTML writer has been adjusted to be sensitive
to this.
If we keep this change, all the writers will need to be changed
either (a) to directly check for the "unnumbered" class, if they
do section numbering themselves, or (b) to check for a null section
number, if they use hierarchicalize.
* Citations will work in markdown even if `--biblio` isn't
specified. Note: this may cause unexpected behavior for people
who use strings of the form `@foo` that are not citations!
* If `--biblio` isn't used, the markdown writer will write markdown
citations rather than CSL-rendered citations.
* This means, for example, that you can do `pandoc -f latex -t markdown`
and convert biblatex or natbib citations into pandoc citations.
The call to toLower in ciMatch was very expensive (and very often
used), because toLower from Data.Char calls a fully unicode
aware function. This optimization avoids the call to toLower
for the most common, ASCII cases. This dramatically reduces the
speed penalty that comes from enabling the `autolink_bare_uris`
extension. The penalty is still substantial (in one test, from 0.33s
to 0.44s), but nowhere near what it used to be.
Now latex macro definitions are preserved when output is latex,
and applied when it is another format, as originally intended.
Partially addresses #730.
\providecommand is still not supported. For this we need changes
to texmath.