2310 Commits
Author SHA1 Message Date
John MacFarlane c0768e87cf Org reader: Fix treatment of id property under heading.
Cloess #9639.
2024-04-06 18:24:54 -07:00
John MacFarlane e1f4594272 DokuWiki reader: fix issues with links.
- Link text cannot contain formatting (e.g., `//` is not italics).
  Closes #9630.
- An explicitly empty link text (`[[url|]]`) works the same as an omitted
  link text. Closes #9632.
2024-04-04 10:13:02 -07:00
John MacFarlane c29c18a003 Put $ or $$ around math in csljson output.
Closes #9616.
2024-04-01 12:54:12 -07:00
John MacFarlane b28dc15817 LaTeX writer: fix math inside strikeout (closes #9597). 2024-03-22 08:50:20 -07:00
John MacFarlane 604f541b0f Typst writer: support Typst 0.11 table features. (#9593)
* Typst writer: support Typst 0.11 table features.

- colspans
- rowspans
- cell alignment overrides
- relative column widths
- header and footer
- multiple table bodies with intermediate headers

Row heads are not yet supported.

The default typst template has been modified so that tables
don't have lines by default. As is standard with pandoc, we only
add a line under a header or over a footer. However, a different
default stroke pattern can easily be added in a template.

Closes #9588.
2024-03-20 14:25:08 -07:00
John MacFarlane ebcae86cf4 DocBook reader: add empty title to admonition div if not present.
This allows admonition elements (e.g. `<note>`) to work with
gfm admonitions even if the `<title>` is not present.

Closes #9569.
2024-03-19 08:09:54 -07:00
John MacFarlane 27ee5a7696 Change lhs tests so they don't use --standalone.
This will avoid test failures due to minor changes in
skylighting versions, e.g. #9589.
2024-03-19 07:58:42 -07:00
John MacFarlane d89167d25f Typst writer: more reliable escaping in inline [..] contexts.
For example, we need to escape `[\1. April]` or it will be
treated as an ordered list.

Closes #9586.
2024-03-18 11:43:41 -07:00
John MacFarlane c5c7022ac5 Typst writer: handle unnumbered on headings.
Closes #9585.
2024-03-18 10:13:51 -07:00
John MacFarlane a1aca22e0d LaTeX reader: better handling of colwidths.
Previously the parser just failed if the column width
specified in `p{}` wasn't a multiple of `\linewidth`.
This led to cases where content was skipped.
Now we treat these as ColWidthDefault and silently
parse the table.

A future improvement could be to guess relative column
widths from the dimensions specified, based on a default
line width.

Closes #9579.
2024-03-17 19:15:49 -07:00
John MacFarlane 660823e2ec Typst writer: only use explicit figure 'kind' for tables.
The rest of the time the autodetection should work fine.
2024-03-17 15:46:17 -07:00
John MacFarlane 2c5d66cb5c Typst writer: use kind: image for image figures. 2024-03-17 11:39:32 -07:00
John MacFarlane a6392207fc Typst writer: avoid unnecessary box around image in figure.
See #9236.
2024-03-17 11:29:25 -07:00
John MacFarlane 9ae7557ac0 Typst writer: omit width/height in images unless explicitly specified.
Previously we computed width/heigth for images that didn't have
size information, because otherwise typst would expand the image
to fit page width. This typst behavior has changed in 0.11.
This change fixes a bug in which images would sometimes overflow
page margins, depending on their intrinsic size.

Closes #9236.
2024-03-17 10:59:47 -07:00
John MacFarlane 2514ad2531 Typst template: set table inset globally. 2024-03-16 10:26:14 -07:00
John MacFarlane ea3719818b Typst writer: don't add inset to tables.
This hardcoded `inset` prevented global customizations in
a template.

Closes #9580.
2024-03-16 10:26:14 -07:00
John MacFarlane 95661b6a05 Markdown reader: Fix bug with footnotes at end of fenced div.
Cloess #9576.
2024-03-14 11:04:26 -07:00
John MacFarlane 876bd49786 Typst writer: add 'kind' parameter to figures.
This helps to distinguish tables from other figures for
purposes of labeling and numbering.

Closes #9574.
2024-03-14 10:16:51 -07:00
John MacFarlane b2b04a2f1c Use djot 0.1.1.2, update tests.
djot 0.1.1.1 was horribly buggy and dropped content after lists.
2024-03-14 10:11:04 -07:00
John MacFarlane 69eab3fce5 Fix test for #9555. 2024-03-10 11:42:40 -07:00
John MacFarlane 812f82ab09 LaTeX reader: improve tokenization of @.
Make tokenization sensitive to `\makeatletter`/`\makeatother`.
Previously we just always treated `@` as a letter.  This led
to bad results, e.g. with the sequence `\@`.  E.g.,
`a\@ b` would parse as "ab" and `a\@b` as "a".

Closes #9555.
2024-03-10 11:14:41 -07:00
John MacFarlane 626ffd74b4 LaTeX reader: Make withRaw work inside parseFromToks.
This is needed for raw environments to work inside table cells.

Closes #9517.
2024-03-09 12:53:13 -08:00
John MacFarlane 67fa6cda5c SelfContained: add role="img" to svgs.
This is needed in conjunction with `aria-label` for screen
readers. Completes the fix to #9525.
2024-02-29 12:48:27 -08:00
John MacFarlane 85b3ac3ee1 SelfContained: Add aria-label to svg elements.
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.
2024-02-29 12:08:02 -08:00
John MacFarlane 6c88c39c6d Docx writer: don't copy over footnotePr in settings.xml...
rom reference.docx. Closes #9522.
2024-02-28 22:34:04 -08:00
John MacFarlane cd460ec9c7 Fix regression in section numbering.
Starting with pandoc 3.1.12, unnumbered sections incremented
the section number.

Closes #9516.
2024-02-28 11:31:05 -08:00
John MacFarlane 87b07c699a Docx reader: ensure that table captions are counted.
Normally these occur outside the table element itself, but they
should still be parsed as captions in this case.

Closes #9518.
2024-02-28 10:05:15 -08:00
John MacFarlane 4ca2de1715 Update test suite for latest skylighting-format-blaze-html. 2024-02-27 20:02:52 -08:00
John MacFarlane c131f8d4bc Markdown reader: fix regression in link parsing...
with wikilinks extensions.  This fixes a regression introduced
in 3.1.12.  Closes #9481.
2024-02-19 12:46:43 -08:00
John MacFarlane 54b001aa19 Org reader/writer: support admonitions.
Closes #9475.
2024-02-19 11:26:57 -08:00
John MacFarlane a6d85a0c98 Org writer: omit extra blank line at end of quote block. 2024-02-19 11:26:29 -08:00
John MacFarlane 8a0e522c39 Typst writer: ensure that -, +, etc. are escaped at beginning of block.
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.
2024-02-19 08:52:37 -08:00
John MacFarlane b36052144b LaTeX writer: fix bug when a language is specified in two different ways.
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.
2024-02-18 11:44:03 -08:00
John MacFarlane 45b6df537a More fixes for SVG ids with --self-contained.
This generalizes the fix to #9420 so it applies to things like
`style="fill(url(#..."`.

Closes #9467.
2024-02-16 10:06:12 -08:00
John MacFarlane 8c42926cb2 Add djot reader and writer.
Djot is a light markup syntax (https://djot.net).

This patch adds djot as input and output formats.

API changes:

Add Text.Pandoc.Readers.Djot
Add Text.Pandoc.Writers.Djot
2024-02-13 23:10:42 -08:00
John MacFarlane a5b691a77e Markdown reader: fix wikilinks extension to allow newlines in titles.
Closes #9454.
2024-02-13 22:20:03 -08:00
John MacFarlane cf847b0138 LaTeX reader: improve treatment of cref, Cref.
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.
2024-02-13 19:32:12 -08:00
John MacFarlane aa00714ba4 Typst writer: improve citation support.
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.
2024-02-12 20:01:44 -08:00
Sam May 758ff050b2 HTML5 writer: Add suffix to multiple footnote section ids
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.
2024-02-12 18:45:47 -08:00
John MacFarlane bf674e8ddd Markdown writer: use different width fences for nested divs.
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.
2024-02-12 10:05:36 -08:00
John MacFarlane bd352e41d6 Man reader: move spaces outside of emph/strong.
This is needed to avoid problems in conversion to Markdown
and some other formats. Closes #9445.
2024-02-11 19:06:50 -08:00
John MacFarlane 0604fa297d Fix id replacements in SVGs with clipping paths.
This fixes `--embed-resources` when SVGs have `clip-path`
attributes.

Closes #9420.
2024-02-09 16:39:48 -08:00
John MacFarlane ea23868ae4 Fix size of duplicated SVGs with --embed-resources.
Closes #9439.
2024-02-09 16:39:40 -08:00
John MacFarlane 3ef74d1fd2 Typst reader: fix handling of dot(), tilde(), ddot().
See jgm/typst-hs#38.
2024-02-04 22:37:37 -08:00
John MacFarlane 1e05f32ead Typst reader: fix character used for norm.
See jgm/typst-hs#38.
2024-02-04 22:01:26 -08:00
John MacFarlane 0706c7a285 Docx writer: restore ability to center-justify table.
The fix to #5947 caused all tables to be left indented.
This was necessary to avoid extra indentation in table cells
when a table appeared in a list item.  This change makes
the changes conditional, so that they only affect tables
in list items.

Closes #9393.
2024-02-03 22:50:55 -08:00
John MacFarlane 03bb426a4a Shared: makeSections behavior changes.
+ 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.
2024-02-03 22:19:29 -08:00
Tomas Dahlqvist 163be37dd6 Using internal column widths in pptx writer tables (#9392)
The table writer used to only divide all available width evenly
for all columns. In this update the code uses the incoming widths
if they are available. If they are not set the earlier even
distribution is used. Some of the golden templates are adjusted
slightly because of different rounding when using the new
calculation model.

Closes #5706
2024-02-01 10:37:12 -08:00
John MacFarlane c1f87fdb37 Typst writer: handle labels and citaiton ids with spaces...
and other special characters. In these cases, we produce an
explicit `label()` rather than using `<>` or `@`.

Cloess #9387.
2024-01-29 12:25:09 -08:00
John MacFarlane 97eb927339 Typst writer: avoid illegal labels.
Closes #9387.
2024-01-29 11:45:15 -08:00