Screen readers don't seem to pay attention to an alt attribute on
svg. But they do read the aria-label. So if there's an alt
attribute, we copy its contents to aria-label, unless there is
already an aria-label. This will make pandoc's output with
`--embed-resources` more accessible.
Closes#9525.
Our recent relaxing of escaping (#9386) caused problems for
things like emphasized `-` characters that were rendered using
`#strong[-]#`. This now gets rendered as `#strong[\-]`.
Closes#9478.
If you used `lang: de-DE` but then had a span or div with `lang=de`, the
preamble would try to load `ngerman` twice, leading to an error.
This fix ensures that a language is only loaded once.
Closes#9472.
Associate with `\cref` and `\Cref` the reference-type `ref+label` and
`ref+Label`. So far we don't do anything fancy with these.
Also, associate with `\vref` `ref` instead of `ref+page`.
See #7463.
Emit `form: "prose"` or `form: "year"` qualifiers if the citation
is author-in-text or suppress-author.
Strip initial comma from suffix, since typst will add an extra
one.
Closes#9452.
The first (and often only) `<aside id=footnotes>` block remains
unchanged, however any additional blocks from `--reference-location` are
distinguished as `#footnotes-2`, `#footnotes-3`, and so on. No other
existing writer seems to implement per-section IDs, including HTML4.
Outer divs have longer fences. This aids clarity for the reader,
making it easier to see where the div ends. It also makes the
output compatible with some other implementations, e.g.
micromark, which require different-width fences for nesting.
Closes#9450.
+ When the optional base level parameter is provided, we no
longer ensure that the sequence of heading levels is gapless
[behavior change]. Instead, we set the lowest heading level to
the specified base level, and adjust the others accordingly. If
an author wants to skip a level, e.g. from level 1 to level 3,
they can do that. In general, the heading levels specified
in the source document are preserved; `makeSections` only
puts them into a hierarchical structure. Closes#9398.
+ Section numbers are now assigned so that the top level
gets `1`, no matter what heading level is used. So, even
if the top heading level is 2, numbers will be `1`, `2`, etc.
rather than `0.1`, `0.2`, as in the past. Closes#5071.
+ We revert to the old behavior when the `--number-offset` option
is used. So, for example, if a document begins with a level-3
heading, and `--number-offset=1,2` is used, the top-level section
numbers will be `1.2.1`, `1.2.2`, etc. This is mainly for
backwards-compatibility.
We no longer escape `(`. The reason we did this before (#9137)
has been addressed in another way (#9252).
We only escape `=`, `+`, `-` at the beginning of a line.
We now also escape `/` at the beginning of a line.
This should reduce unnecessary escapes.
Closes#9386.
...with a huge number of columns. Previously we got invalid pipe
tables when the number of table columns exceeded the setting of
`--columns`.
Closes#9346.
These styles were going into an office:styles element in content.xml,
but this is invalid. Instead they must go in styles.xml. See #9287.
The variable `highlighting-styles` no longer has any effect on
the default opendocument template, and highlighting styles are
not included in opendocument output.
when used with `--natbib` or `--biblatex`. These will treat a
bare number as a page locator, and they will be able to localize
it.
We borrow the code for stripping the locator label from the suffix
from Citeproc code. Note that the recognition of the locator label
is locale-sensitive; if `lang` is `de`, then `S. 33` is a page
reference, and `p. 33` is not!
Closes#9275.
* To conform to validator's expectations, `doc-footnote` role is used
with `aside` and `doc-endnotes` with `section`.
* `aside` is used only for notes at ends of sections or blocks;
if all the notes come at the end of the document, `section` is
used so we can have the `doc-endnotes` role.
Closes#8872.
In the current implementation , theorem labels in `theoremEnvironment` are
determined by the `LastLabel` in the current state.
This approach works well when the `\label{label_name}` is placed at the end
of the theorem body. However, when a label is placed at the beginning of the
theorem (another common practice) and additional labels follow in the theorem body,
`theoremEnvironment` incorrectly picks the last label (e.g., `\label{item2}` in #8872).
This patch addresses the issue by extracting the label extraction independently of the `LastLabel` state.
This revises the fix to #8150 (and the test case) and closes#9187.
HTML in the (invalid) form:
<ul>
<li>L1</li>
<ul>
<li>L1.1</li>
</ul>
</ul>
is treated by browsers like
<ul>
<li>L1
<ul>
<li>L1.1</li>
</ul>
</li>
</ul>
not
<ul>
<li>L1
<li><ul>
<li>L1.1</li>
</ul>
</li>
</ul>
as pandoc previously assumed.
This change will give a similar treatment to
<ul>
<li>L1</li>
<p>foobar</p>
</ul>
which also seems to match browser behavior.
The groff_man (7)` man page indicates that `-` characters will be
treated as typographic hyphens and are not appropriate for cases
where the output should be copy-pasteable as an ASCII
hyphen-minus character. (E.g. in command line options.)
However, until a recent update groff man did not actually do this;
it treated `-` and `\-` the same. With the new update (1.23.0)
the two are distinguished (see https://lwn.net/Articles/947941/
for background), so now it is important that pandoc escape `-`.
This reverts ee60ba5252.
That change was motivated by a problem with backslash-escaping
`-` in a filename for .PSPIC. That's simply a separate issue;
we shouldn't do the normal escapes in such a context. It has
been addressed in the previous commit.