This adds the following table features:
- row span and column span
- footer row
- individual horizontal cell alignment
[API change] T.P.Writers.Shared: Add functions `allRowsEmpty` and
`tableBodiesToRows` from the RST writer for reuse in other writers.
Also fix hlint warning about `unzip` from `NonEmpty`:
The exported polymorphic function will become
monomorphic in the future. Restrict the `NonEmpty`
import to use the Prelude `unzip` function.
See jgm/typst-hs#80.
Note that previously, the typst reader never returned document
metadata. Now it does, even if the typst document does not contain
a `#title` function that would result in actually printing the
title block.
Before 3.8, the default behavior when producing a PDF `-t typst`
was to produce smart quotes according to typst's defaults.
(This could be defeated by specifying `-t typst-smart`.)
This behavior broke in 3.8 because of a change to Text.Pandoc.PDF.
This change caused `smart` to be disabled for all formats when
producing PDFs, when before it was only disable for TeX-based
formats (to avoid bad ligatures).
This commit restores the old behavior. Possibly the regression also
other affects other non-TeX formats, e.g. HTML.
Closes#11256.
They are not environments! `ifstrequal`, `iftoggle`, etc.
ifstrequal, iftoggle, etc. -- these are not environments,
and they are handled under inlineCommands.
Previously we just got big Str elements with spaces included.
But many pandoc writers assume that breakable spaces will be
Space elements. So, we got odd results with e.g. jira output.
Closes#11250.
We do this indirectly, by rendering the formatting using the
HTML tags that citeproc recognizes. Fixesjgm/citeproc#68
and jgm/citeproc#163.
Note that formatting is only possible for locators given in
the explicit form, surrounded by curly braces. It won't work
for implicit locators, since these expect number-like expressions.
The reader tries to parse the rest of the opening line of a block, e.g.,
`#+begin_myblock …`, as a parameters list. It first assumes that the parameters
are in lisp-style (`:key value`), then alternatively tries to read python-style
key-value pairs (`key=value`) and falls back to reading the entire remaining
line as a single `parameter` attribute.
This method is also applied to dynamic blocks.
Closes: #11188
This improves on commit e13aa5c015,
which worked only for recent versions of longtable.
For older versions, we need to define a dummy counter `none`.
Closes#11201. Thanks to @priiduonu for the solution.
Previously we added semicolons after inline commands not
followed by spaces, but mainly this was to deal with one issue:
the presence of a semicolon after an inline command, which
would be swallowed as a command separator (#9252).
This commits adopts an approach that should avoid so many
superfluous semicolons: it escapes semicolons that might come
right after a command. See #11196.
A template change in 3.8 added a show rule for links which
causes them to disappear except in special cases.
This change fixes the problem.
Closes#11194.