Commit Graph
1208 Commits
Author SHA1 Message Date
TuongNM ca0fc7dc55 RST writer: Add col spans for simple tables (#11173)
Closes #10127.
2025-09-29 11:53:24 +02:00
John MacFarlane 95326e21e6 Add shorthands variable for LaTeX output.
If true, pandoc will allow language-specific shorthands
when loading babel.

Closes #11160.
2025-09-24 22:25:07 +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 70393b4235 RST reader: fix regression in simple table parsing.
Closes #11150.
2025-09-18 11:52:22 +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 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
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
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 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
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
John MacFarlane 0dc31a470f Fix test case that changed because of addition of nocase span. 2025-09-03 18:06:27 +02:00
John MacFarlane 037a6e81e2 T.P.Citeproc.BibTeX: Protect case in periodical titles.
Thus, for example, `{npj} Quantum Information` should translate as
`[npj]{.nocase} Quantum Information`.

Closes #11048.
2025-09-03 12:56:58 +02:00
Albert Krewinkel e0acb24528 Refactor highlighting options [API Change]
A new command line option `--syntax-highlighting` is provided; it takes
the values `none`, `default`, `idiomatic`, a style name, or a path to a
theme file. It replaces the `--no-highlighting`, `--highlighting-style`,
and `--listings` options.

The `writerListings` and `writerHighlightStyle` fields of the
`WriterOptions` type are replaced with `writerHighlightStyle`.

Closes: #10525
2025-09-02 17:50:47 +02:00
TuongNM 3e2c029a77 RST Reader: Support multiple header rows (#11057)
[API change] Text.Pandoc.Parsing: `tableWith` and `tableWith'` now
return a list of lists of Blocks, rather than a list of Blocks, for the
header rows, allowing for multiple header rows.

Closes #10338.
2025-09-02 13:12:34 +02:00
John MacFarlane f3c7a931b4 Update default.csl from new chicago-author-date.csl. 2025-09-02 12:42:16 +02:00
John MacFarlane 65c698a5bb Use latest dev citeproc. 2025-09-02 11:26:10 +02:00
John MacFarlane 4d545b69fe Change latex-pos to latex-placement. 2025-09-02 08:39:47 +02:00
John MacFarlane f865b3bc4b Typst reader: properly resolve image paths in included files.
Closes #11090.
2025-08-30 00:04:23 +02:00
Tuong Nguyen Manh 01f97ed55d Typst Writer: Check XID_Continue in identifiers
Add unicode-data dependency for isXIDContinue for this to match the
rust implementation.
Also apply hlint suggestions for redundant $, literal pattern and
moving brackets to avoid $.
2025-08-26 18:25:08 +02:00
John MacFarlane 1ac4030c1a Rename command test for 10047 -> 11047.
Commit 2c857d3 closed #11047 but was mislabeled as closing #10047.
2025-08-17 17:53:32 +02:00
John MacFarlane 5e50e4e605 Citeproc: don't move footnotes around em-dashes.
Closes #11046.
2025-08-17 17:45:36 +02:00
John MacFarlane 2c857d379b Typst writer: add escapes to prevent inadvertent lists...
due to automatic wrapping.

Also simplify existing code that was meant to do this.

Closes #10047.
2025-08-17 17:45:36 +02:00
Albert Krewinkel de31a9f130 Org reader: accept quoted values as argument values.
Fixes: #8869
2025-08-14 19:35:37 +02:00
John MacFarlane a6a5be132a Typst writer: add parens around typst-native year-only citations.
Closes #11044.
2025-08-12 22:43:27 -07:00
John MacFarlane 0bbbdbcdb6 LaTeX reader/writer: change handling of math environments.
Certain environments in LaTeX will trigger math mode and can't
occur within math mode: e.g., `align` or `equation`.  Previously
we "downshifted" these, parsing an `align` environment as a
Math element with `aligned`, and an `equation` environment as a
regular display math element.  With this shift, we put these in
Math inlines but retain the original environments.

This works because:

1) texmath handles these environments just fine,
2) and so does MathJax;
3) when writing LaTeX we detect these environments in Math elements
   and emit them verbatim instead of putting them in `$..$` or
   `$$..$$`.

Closes #9711. Closes #9296.
2025-08-11 17:40:41 -07:00
Albert Krewinkel a5312c0828 LaTeX reader: parse \minisec as unlisted level 6 headings.
Closes: #10635
2025-08-10 18:36:52 -07:00
Albert Krewinkel 7639e800c5 Org template: add #+options lines if necessary
The default template now adds `#+options` lines if non-default settings
are used for the `smart_quotes` and `special_strings` extensions.
2025-08-06 12:54:12 -07:00
Joseph Reagle c1a4ae1abb Update 11013.md (#11020)
Original test had a poor/misleading title.
2025-08-04 13:05:16 -07:00
John MacFarlane bc3a8a663d Typst reader: handle inline-level show rules on block content.
Typst allows things like `smallcaps` to be applied to block-level
content like headings.  This produces a type mismatch in pandoc,
so before processing the output of typst-hs, we transform it,
pulling the block-level elements outside of the inline-level
elements.

Closes #11017.
2025-08-03 15:20:11 -07:00
John MacFarlane c7ec476848 Fix test for #11013. 2025-08-02 11:43:30 -07:00
John MacFarlane bb46c277ca HTML writer: Unwrap "wrapper" divs.
Some of the readers (e.g. djot) add "wrapper" divs to hold attributes
for elements that have no slot for attributes in the pandoc AST. With
this change, the HTML reader "unwraps" these wrappers so that the
attributes go on the intended elements.

Closes #11014.
2025-08-02 10:50:41 -07:00
John MacFarlane 52e28c31ed Use latest dev citeproc.
Add test for #11013. Closes #11013.
2025-08-01 15:33:50 -07:00
John MacFarlane 3e5babbb43 Fix mistaken attempt to fix #11006.
Update the test so it reflects the right output, and fix the
solution.

Really closes #11006.
2025-07-30 12:49:18 -07:00
John MacFarlane 4066a9d483 Asciidoc writer: handle lists with sublists following continuations.
These require an additional blank line in some cases.
Closes #11006.
2025-07-29 18:37:07 -07:00
John MacFarlane ce6ef5cad0 ImageSize: Add Point and Pica as constructors of ImageSize.
[API change]

This will prevent unnecessary conversion of units.

Closes #8957.
2025-07-29 10:30:44 -07:00
Carlos Scheidegger 6893b38a6e Markdown writer: use fenced divs even with empty attributes.
Previously fenced divs were not used in this case, causing the writer to fall back to raw HTML.

Closes #10955.
2025-07-27 11:27:41 -07:00
John MacFarlane bfbf67ca5d Org writer: don't wrap link descriptions.
Org doesn't reliable display these as links if they have hard breaks.

Closes #9000.
2025-07-27 11:17:06 -07:00
John MacFarlane 270fbd54f8 Use latest dev citeproc.
This solves the problem of unwanted capitalization of names
at the beginning of citations in footnotes.

Closes #10983.
2025-07-24 14:51:11 -07:00
John MacFarlane 912f4c7977 Revert a test case that changed due to a reverted citeproc change. 2025-07-24 14:51:11 -07:00
John MacFarlane 7ec7efeee7 Use latest dev citeproc.
Closes #10983 by allowing `nocase` spans to be used to suppress
capitalization of initial word in a footnote.
2025-07-23 14:10:43 -07:00
John MacFarlane edd48fceb1 Djot writer: fix duplicate attributes before section headings.
Closes #10984.
2025-07-22 20:44:19 -07:00
Albert Krewinkel a45878ff1e Markdown writer: match indents in definition items
Previously, the first line of a definition details item always used a
colon and three spaces instead of respecting the tab-stop setting, which
could lead to round-tripping issues.

Likewise, the indentation of continuation paragraphs in definition lists
now matches the two-characters leader of the first line for Markua
output.

Fixes: #10890
2025-07-22 19:07:08 +02:00