* 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.
Previously `[^super^](#ref)` wasn't parsed as a link, due to
code that was meant to prevent footnote markers from being
recognized as reference links. This commit tightens up that
code to avoid this bad effect.
We have also added a new restriction on footnote labels: they
cannot contain the characters `^`, `[`, or `]`. Though this is
technically a breaking change, we suspect that the impact will
be minimal, as it's very unlikely people would be using these
characters in their note labels.
Closes#8981.
See #9120.
We need to use `\c` before a `.UR` or `.MT`, to avoid
an extra space, and also after. To ensure that a space
at the beginning of the following line doesn't get swallowed
up, we escape it with `\`.
According to the CSL manual, the default entry spacing is 1.
We were treating it as 0.
T.P.Citeproc: always include an entry-spacing attribute
in the Div if the bibliography element contains an entry-spacing
attribute (previously we omitted it when it was 0).
LaTeX writer: use entry spacing 1 if no entry-spacing
attribute is present.
Update tests.
See #9058.
In general, the ID prefix makes it possible to combine multiple pieces
of Pandoc-generated HTML with no possibility that IDs will conflict. One
exception to this was that the footnotes were always put into an element
like
<aside id="foonotes" ...>
This commit applies the ID prefix to this ID as well.
In 3.1.6.1 the `~` was handled properly (either literally or with
`%E7`). This broke in 3.1.6.2, which used URI encoding in both
cases and didn't escape the `\` before `%E7`. This patch restores
the former behavior: `~` isn't escaped if it isn't escaped in the
original URL, and if it is, a backslash is added before `%`.
Closes#9043.
+ Use `\phantomsection` and `\label` instead of `\hypertarget`.
+ Use `\hyperref` for LaTeX internal links, `\hyperlink` for
beamer (since `\hyperref` doesn't seem to work).
Closes#9022.
The aim here (see #9020) is to produce more standard and more
portable man pages. To that end:
- We revert the fanciness introduced in #7506, which employs a
custom font name V and a macro that makes this act like boldface
in a terminal and monospace in other formats. Unfortunately,
this code uses a mechanism that is not portable (and does not
work in mandoc).
- Instead of using V for inline code, we simply use CR.
Note that `\f[CR]` is emitted instead of plain `\f[C]`,
because there is no C font in man. (This produces warnings
in recent versions of groff.)
- For code blocks, we now use the `.EX` and `.EE` macros,
together with `.IP` for spacing and indentation. This gives
more standard code that can be better interpreted e.g. by mandoc.
This improves the fix to #9017 in commit
7c4354646b
An alternative would be to avoid backslash escaping `#` and `%`
in URLs, and instead always add `fragile` to the slide environment.
We no longer wrap section headings in a `\hypertarget`.
This is unnecessary (hyperref creates an anchor based on the
label) and it interferes with tagging.
In addition, we now use `\hyperref` rather than `\hyperlink`
for internal links.
Currently `\hypertarget` is still being used for link anchors
not on headings.
Closes#8744. Thanks to @u-fischer.
Previously we used the max. #8634 switched to the min, but this
had bad results. This commit sets the RowHeadColumns to the consensus
value from all rows, or 0 if there is no consensus.
See #8984.