Commit Graph
9248 Commits
Author SHA1 Message Date
Albert Krewinkel 13a5b1a4df Org reader: parse parameter lists on unknown blocks.
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
2025-10-18 17:35:23 +02:00
Albert Krewinkel 941b5662d7 Org reader: add support for dynamic blocks. 2025-10-18 17:34:38 +02:00
John MacFarlane d4dd5e9ab9 Docx writer: properly handle nested comment spans.
Patch credit: @mmourino.

Closes #8189. Closes #6959.
2025-10-15 23:33:04 +02:00
TuongNM 80ccc78a52 RST writer: Don't use simple tables with RowSpans (#11214) 2025-10-14 19:07:02 +02:00
John MacFarlane d81ee85952 RTF reader: improve hyperlink parsing.
Closes #11211.
2025-10-13 20:23:22 +02:00
John MacFarlane 3d6439ad15 Typst writer: Escape open paren after non-space.
This fixes an issue that occurs if an open paren comes
right after e.g. `#strong[test]`.

Closes #11210.
2025-10-13 12:11:29 +02:00
John MacFarlane 001abd1d96 HTML reader: allow blank space between open and close iframe. 2025-10-11 19:01:03 +02:00
John MacFarlane d8354618c4 LaTeX writer/template: small fix for unnumbered tables.
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.
2025-10-06 23:04:40 +02:00
John MacFarlane e87b86261f Typst writer: don't add semicolons as much.
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.
2025-10-05 16:33:03 +02:00
John MacFarlane c66553c76b Small improvement to oneOfStrings.
Use accumulator.
2025-10-04 19:26:59 +02:00
TuongNM 7571187792 LaTeX writer: Fix strikeout in links (#11192)
As in #1294 \url and \href need to be protected
inside an mbox for soul commands.

Closes #9366.
2025-10-04 19:21:18 +02:00
John MacFarlane 46ff66d28b Parsing.General: Rewrite oneOfStrings' with less conversion to string. 2025-10-03 11:41:20 +02:00
John MacFarlane e201e3370a Markdown tables: implement table_attributes extension.
When `table_attributes` is enabled (as it is by default for
pandoc's Markdown), attributes can be attached to a table by
including them at the end of the caption. Previously the writer
would emit an identifier in this position, but the reader didn't
handle it. Now arbitrary attributes are allowed, and they work in
both the reader and writer.

Closes #10884.

[API change]: Text.Pandoc.Extensions: Add `Ext_table_attributes`
constructor for `Extension`.
2025-10-02 13:37:53 +02:00
John MacFarlane e8bdaab34e T.P.XML: Add fetchpriority to list of HTML attributes.
Closes #11176.
2025-09-29 12:10:27 +02:00
TuongNM ca0fc7dc55 RST writer: Add col spans for simple tables (#11173)
Closes #10127.
2025-09-29 11:53:24 +02:00
TuongNM b62f2505b3 LaTeX writer: Fix strikeouts in beamer title (#11169)
beamer uses pdfstring for the pdfinfo which can't handle soul strikeouts.
Therefore, the title, subtitle and author contents need to be put inside
texorpdfstring to deal with both the pdfinfo as well as the formatting.

Fixes #11168.
2025-09-28 15:52:33 +02:00
John MacFarlane 3ffd47af68 Typst writer: Fix syntax highlighting.
See #11171.  Previously the native typst highlighting was
always used, regardless of the setting of `--syntax-highlighting`.
With this change, `--syntax-highlighting=none` and
`--syntax-highlighting=<style name>` (with skylighting) will work.

Completes #10525.
2025-09-28 15:36:21 +02:00
John MacFarlane c72ff7393c T.P.Highlighting: export typst functions.
[API change] New exported functions `formatTypstBlock`,
`formatTypstInline`, `styleToTypst`.
2025-09-28 11:42:06 +02:00
John MacFarlane d6bc9c3cce LaTeX writer: make beamer footnotes compatible with pauses.
Previously they would appear before the content to which
the note was attached, when there were pauses in a slide.

Closes #5954.

See related discussion in https://github.com/josephwright/beamer/issues/565.
2025-09-27 13:07:30 +02:00
John MacFarlane 9024df9348 RST writer: ensure blank line before directives.
Closes #11162.
2025-09-24 21:32:31 +02:00
TuongNM bdab9915ad OpenDocument writer: Add missing table elements (#11157)
Add missing header rows after the first one,
footer rows as well as TableBody header rows.

Also apply hlint suggestions to use Down and fuse mapM/map.

Closes #10002.
2025-09-20 21:05:29 +02:00
John MacFarlane 891e613e4a Docx writer: fix regression (3.8) in highlighted code.
We added DefaultHighlighting in commit 6475725 but didn't adjust the
pattern-match here.

Closes #11156.
2025-09-19 23:18:05 +02:00
John MacFarlane f64183fbbf Docx reader: handle figures in indented paragraphs.
Previously these were omitted.  Closes #11028.
2025-09-19 22:10:38 +02:00
John MacFarlane 643712ca70 LaTeX writer: avoid \_ in bibliography variable.
Since underscores are common in filenames, and pandoc will
render strings to variables using default LaTeX escaping, we
special-case `bibliography`, under the assumption that this variable
will be used in the context of the `\bibliography{..}` command,
which accepts unescaped underscores.

Closes #11152.
2025-09-19 10:16:25 +02:00
John MacFarlane 70393b4235 RST reader: fix regression in simple table parsing.
Closes #11150.
2025-09-18 11:52:22 +02:00
John MacFarlane 4f2a383f49 RST reader: SkippedContent warning if table directive...
containts non-tabular content.
2025-09-18 11:23:47 +02:00
John MacFarlane becb9a0a81 RST simple table fix.
Leading space in a cell should not cause the contents to
be parsed as a block quote.

Closes #11146.
2025-09-17 20:03:46 +02:00
John MacFarlane 2485c594d8 Docx reader: change default for textwidth.
This should only be used if sectPr is not found.
2025-09-17 15:45:42 +02:00
John MacFarlane d820620ccd Docx reader: properly calculate table column widths.
Previously we assumed that every table took up the full text
width. Now we read the text width from the document's
sectPr.

Closes #9837.
Closes #11147.
2025-09-17 14:24:33 +02:00
John MacFarlane e13aa5c015 LaTeX writer: ensure that unlabelled tables don't increment counter.
Closes #11141.
2025-09-16 18:01:07 +02:00
John MacFarlane cf760c7f66 Markdown reader: Improve superscript/subscript/inline note parsing.
We do not allow inline notes to be followed by `(` or `[`.
Otherwise, we parse inline notes before superscripts.
This fixes #8652.

Also, the sub/superscript parsers have been adjusted so that they
really exclude unescaped spaces (as they did not before, when the
spaces occurred in nested inlines). See #5878 for comment.
2025-09-16 12:46:25 +02:00
John MacFarlane c3a5513eed Markdown reader: refactor out litBetween. 2025-09-16 12:46:25 +02:00
reptee a0cfb3fd31 Vimdoc writer (#11132)
Support for vimdoc, documentation format used by vim in its help pages.
Relies heavily on definition lists and precise text alignment to generate tags.
2025-09-15 12:45:28 +02:00
John MacFarlane 1f3163a638 LaTeX reader: ignore \pandocbounded.
Third issue in #11140.
2025-09-15 10:50:04 +02:00
John MacFarlane f7059959ed Markdown writer: improve handling of implicit figures.
Allow implicit figures when alt text differs from caption
(in this case, we use an image attribute to add the alt).

Closes #11140.
2025-09-15 10:50:04 +02:00
John MacFarlane 9c36d884d5 RST reader: parse :alt: on figure.
Also give a better default if `alt` is not specified, using
the stringified caption rather than the filename.

Partially addresses #11140.

Add failing test case for Markdown writer issue in #11140.
2025-09-15 10:50:04 +02:00
TuongNM e2f088f4e5 LaTeX writer: Protect VERB in caption (#11139)
Also apply hlint suggestions for fewer imports and
moving brackets to avoid $.
2025-09-15 10:28:57 +02:00
massifrg 4be17f77b7 xml reader: parse MetaString (#11137)
`<MetaString>` contents parsing was missing.
2025-09-13 17:33:48 +02:00
TuongNM 5eb25ab448 Markdown reader: Fix simple table alignment (#11136)
Take wide characters into account when determining the alignment.
2025-09-12 11:44:34 +02:00
Raymond Berger c93acab035 Add support for reading typst pagebreak (#11126)
The pagebreak is parsed as a HorizontalRule inside a wrapper Div with class `page-break`.

Closes #11101.
2025-09-10 09:56:16 +02:00
John MacFarlane 71a0c5c61e Markdown writer: use approximate pipe tables when it's the only option.
If we have a table with row/colspans that can rendered as an
approximate pipe table (without row/colspans), and no other table
format is enabled that could render the table, we fall back to
an "approximate" pipe table, with no row/colspans.

Closes #11128.
2025-09-10 09:49:06 +02:00
John MacFarlane 3a2aab568d Markdown writer: refactor table cases. 2025-09-10 09:39:51 +02:00
Albert Krewinkel 4b126bd90b PandocMonad: Let fetching fail if the HTTP request is not successful.
HTTP requests that don't return a 200 error code are now treated as an
error. This ensures that a warning is triggered when using
`--embed-resources` or `--extract-media`.
2025-09-09 10:51:04 +02:00
Tuong Nguyen Manh 47e1cc46c6 RST Reader: Add col spans for simple tables
[API change] Text.Pandoc.Parsing: New functions `tableWithSpans`,
`tableWithSpans'`, `toTableComponentsWithSpans` and
`toTableComponentsWithSpans'` take a list of lists of
(Blocks, RowSpan, ColSpan) to parse a Table with different RowSpan and
ColSpan values accordingly.
New helper functions `singleRowSpans` and `singleColumnSpans` help set
all RowSpans or ColSpans to be 1 in case the table format only allows
setting one or the other.
2025-09-09 10:27:18 +02:00
Albert Krewinkel ff12c20f20 LaTeX writer: Don't add links to TOC.
Fixes: #11124
2025-09-09 10:26:05 +02:00
Albert Krewinkel 36bbdc667a T.P.Writers.Shared: add new function removeLinks.
The function converts links to spans. It is used, for example, to avoid
nested links.

The HTML writer used to put the description of nested links into small
caps, but uses a simple *span* now.
2025-09-09 10:26:05 +02:00
Tuong Nguyen Manh 6ba552232a pptx writer: Handle single column
Add an additional guard for a single column to be able to process it.
2025-09-08 09:22:56 +02:00
John MacFarlane 8aa665a33d Citeproc: put bibliography in a div with id .*__refs
as well as `refs`.  Reason: when `--file-scope` is used, a Div
with id `refs` gets a prefix attached, derived from the filename.
The prefix ends in `__`.

Closes #11072.
2025-09-06 19:54:00 +02:00
John MacFarlane f4eb08e37a Fix spacing errors. 2025-09-06 17:48:09 +02:00
John MacFarlane 536d548335 Docx reader: better handling of AlternateContent.
This revises the solution to #9214 in commit 2e8ecb3 in order to
handle a standard Word way of inserting emojis.

Closes #11113.
2025-09-06 10:48:22 +02:00