Pandoc 3.3

If you need to convert files from one markup format into another, pandoc is your swiss-army knife. Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library.

Tags utilities haskell
License GNU GPLv3
State stable

Recent Releases

3.325 Aug 2024 03:25 minor feature: . . New cli option: --link-images. This causes Images to be linked rather than embedded in ODT. Allow --number-sections to take an Optional true false Argument. RTF reader:. . Handle * shppict. Without dropping image. . TWiki Reader:. . Recognize WikiWords as internal links.. Avoid partial function.. . Typst reader:. . Ignore pad and just parse its body.. Use typst 0.5.0.5. parsing of equations like 1. . . Docx writer:. . regression with nested lists. The. Affects e.g. ordered lists with bullet sublists; after the Sublist the top-level list reverts to bullets instead of being Properly numbered. This is a regression introduced in version 3.2.1.. . BibTeX writer:. . Ensure that literal names are enin braces.. . Man writer:. . Use default middle header when metadata does not include header. This Change causes pandoc to omit the middle header parameter when header is not set, rather. Than emitting "". The Parameter is optional and man will use a default based on the Section if it is not specified. . HTML templates: don t load polyfill. This. Was added in a period when MathJaX required polyfill. MathJaX no Longer recommends this and polyfill should no longer be necessary on any reasonably modern browser.. Translations:. . Add ua.yaml (Jens Oehlschlägel).. Add a script (tools/update-translations.py) And Makefile target (update-translations) to update Translation data automatically from babel and polyglossia upstream (Stephen Huan).. Use this script to update language data, increasing the number of languages we cover (Stephen Huan). a few small in. Existing translations. . some mistakes with Japanese language code. In. Several places we were mistakenly assuming that the BCP 47 code For Japanese language was jp. It is ja. Text.Pandoc.Options:. . New field in WriterOptions: writerLinkImages API change .. . Text.Pandoc.App.Opt:. . New field in Opt: optLinkImages API change . . Lua subsystem:. . Keep lpeg and. re as loaded modules. (Albert Krewinkel). The mo
3.2.125 Jun 2024 12:05 minor feature: . . gfm_auto_identifiers to replace Emojis with their aliases, as documented. CSV reader:. . Turn line breaks into LineBreaks not SoftBreaks.. . Docx reader:. . Support task lists.. a small in parsing delimiters in numbered lists, which. Led to the default delimiter being used wrongly in some Cases. Improve handling of captions. . Turn captioned images into Figure elements. #9391. Improve the logic for associating elements with captions.. Ensure that captions that can t be associated with an element. Aren t just silently dropped. . Support HorizontalRule. We support both pandoc-style and the. Style described on a Microsoft support page, an empty paragraph With a bottom border. React to "left" value on jc attribute.. Handle column and cell alignments. We. Take the column alignments from the first body row. a that caused comments inside insertions or deletions to be ignored.. . HTML reader:. . Better handle non-li. Elements in ul and ol. For Example, a p after a li will be. Incorporated into the previous li. This mirrors what browsers do with this invalid HTML.. . LaTeX reader:. . parsing of dimensions beginning with ., e.g.  kern.1pt. . Markdown reader:. . Allow author-only textual citations. E.g. outside of. Brackets. . RST reader:. . Tighten up rules for when emphasis can start.. Support :cite: role. With citeproc. A Subset of the functionality of the sphinxcontrib-bibtex extension to Sphinx is supported.. . Textile reader:. . Don t let spans begin right after a symbol.. . Texinfo writer:. . Ensure proper escaping in all node/link contexts.. Target node rather than anchor when possible in internal. Links. Remove illegal characters from internal link anchors.. Use two commas not one in Don t add anchors to headings. We don t need them, now that we. Make internal links use the node. Avoid duplicate node names.. Improve menus. Properly handle the case where the node name is. Different from the descriptive title. . Texinfo template: add variables for file
3.213 May 2024 02:25 minor feature: . . Change to --file-scope behavior : Previously a Div with an identifier derived from the filename Would be added around the contents of each file. This caused Problems for chunking files into chapters, e.g. in EPUB. We no Longer add the surrounding Div. This cooperates better with Chunking. Note, however, that if you have relied on the old Behavior to link to the beginning of the contents of a file using Its filename as identifier, that will no longer work. Markdown reader:. . Allow repeated labels in numbered example lists. Previously if. You tried to use the same label as an earlier example list item, You d get a new number, not the old one, and references to the Label would go to the second occurrence. Now an existing label Will be reused, and no new number will be generated. Caveat: this Only works reliably when the re-used example list item occurs by Itself in a list, or occurs in a list of previously used example List items that occur in exactly the same order as Previously. normalCite so it. Doesn t consume past a closing boundary. This Was causing an exponential performance on long lists of links Containing potential emphasis characters. Generalize inlinesInBalancedBrackets to inBalancedBrackets, with a parameter for the inner parser.. Auto-undivs. This. Applies to both fenced and HTML-ish varieties. Otherwise we face an exponential performance problem with backtracking. A warning is d when a div is implicitly.. . RST reader:. . figclass and. align annotations for. Figures. . LaTeX writer:. . Use polytonicgreek. Instead of polutonikogreek with babel. polutonikogreek is outdated. Also recognize both in the LaTeX reader.. Improve treatment of math inside soul commands. soul. Commands (ul, hl, st) are very fragile and the Math must be handled specially. . LaTeX reader:. . over-eager macro expansion in conditionals.. Parse flalign, flalign* math environments. We Parse these as Math elements with an aligned environment. Semantically it s not exactly
3.1.1309 Apr 2024 00:25 minor feature: . . Org reader:. . treatment of id. Property under heading. . DocBook reader:. . Add empty title to admonition div if not present. This. Allows admonition elements (e.g.  lt;note gt;) to work with gfm admonitions even if. The lt;title gt; is not Present. . DokuWiki reader:. . Link text cannot contain formatting (e.g., // is not italics). An explicitly empty link text ( url ) works the same as an Omitted link text. . Typst reader:. . Support Typst 0.11 table features: col/rowspans, table head. And foot. Parse cell col/rowspans.. . CSLJson writer:. . Put or around math in csljson output. . ConTeXt writer:. . options order with externalfigure. The dimensions Should come before the class if both are present. . Typst writer:. . Put label after Span, not before. Labels get applied to. Preceding markup item. 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. More reliable escaping in inline .. contexts. For Example, we need to escape 1. April or it will be Treated as an ordered list. Handle unnumbered on. Headings. . LaTeX writer:. . math inside strikeout.. . Text.Pandoc.Writers.Shared:. . Export isOrderedListMarker API Change . . Change lhs tests so they don t use --standalone. This will avoid Test failures due to minor changes in skylighting versions, e.g. #9589. Use latest texmath, typst.. Require pandoc-lua-marshal 0.2.6. an arising when the value of content properties on BlockQuote, Figure, and Div elements. Was an empty list. Update lua-filters.md.. . . .
3.1.12.320 Mar 2024 00:05 minor bugfix: . . Markdown reader: with footnotes at end of fenced. Div. 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 as a .. Make withRaw work. Inside parseFromToks. This is needed for raw environments to work inside table cells.. Better handling of table 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. . Typst writer:. . Add kind parameter to figures with tables.. Avoid unnecessary box around image in figure.. 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 a in which images would sometimes overflow page Margins, depending on their intrinsic size. Don t add hard-coded inset to tables. Instead, set this globally in the default template, allowing it to be customized.. . LaTeX template: block headings support for unnumbered. Paragraphs. HTML templates: Replace polyfill provider. Replace. Polyfill.io with cdnjs.cloudflare.com/polyfill. polyfill.io has Been acquired by Funnull, and the service has become Unstable. Korean translations: delete colon in translation for to . This was invalid YAML, and not desired anyway, since a colon is. Added. Use latest commonmark, commonmark-extensions. This a 3.12 regression in parsing of commonmark/gfm autolinks. (jgm/commonmark-hs#151). Depend on djot 0.1.1.3, which a serious parsing affecting regular paragraphs after lists.. Depend on latest skylighting, skylighting-core, typst-hs. Texmath. MANUAL.txt: Change broken link to IDML cookbook.. . . .
3.1.12.202 Mar 2024 21:05 minor bugfix: . . Docx reader:. . Ensure that table captions are counted.. Detect caption by style name not id. The. StyleId can change depending on the localization. Avoid emitting empty paragraph where caption was.. . Markdown reader: regression in link parsing with. Wikilinks extensions. This a regression introduced in 3.1.12.. Org reader/writer: support admonitions.. Org writer: omit extra blank line at end of quote. Block. Typst writer: ensure that -, +, etc. are escaped at Beginning of block. Our Recent relaxing of escaping caused Problems for things like emphasized - characters that were rendered Using #strong - #. This Now gets rendered as #strong - . LaTeX writer: 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 ensures that a language is only Loaded once. Docx writer: Don t copy over footnotePr in settings.xml from Reference.docx. EPUB writer: omit EPUB2-specific meta tag on EPUB3. This. Caused a validation failure in epubs with cover images. Lua: avoid crashing when an error message is not valid UTF-8 (Albert Krewinkel).. Text.Pandoc.SelfContained:. . Add role="img" to. Svgs. Add aria-label to svg. Elements with alt text if Present. Screen readers ignore alt attributes on svg elements But do pay attention to aria-label. . Text.Pandoc.Shared: regression in section numbering in. makeSections. Starting with pandoc 3.1.12, unnumbered sections incremented the. Section number. Text.Pandoc.Class: openUrl TLS negotiation. With The release of TLS 2.0.0, the TLS library started requiring Extended Main Secret for the TLS handshake. This caused problems. Connecting to zotero s server and others that do not support TLS 1.3. This commit relaxes this requirement.. Depend on djot 0.1.1.0.. Use new releases of skylighting-format-blaze-html. auto-wrapping of long source lines in HTML print media.. Use new commonmark-extensions (wit
3.1.12.120 Feb 2024 21:45 minor bugfix: . . EPUB writer: omit EPUBv3-specific accessibility features on. Epub2. a regression in 3.1.12. More for SVG ids with --self-contained. This Generalizes the to #9420 so it Applies to things like style="fill(url(#..." and Should problems with SVGs including gradients. Powerpoint writer: properly handle math in headings and. Tables. This Ensures that paragraphs containing math are wrapped in a mc:AlternateContent node as Required. Makefile: make validate-epub check v2 output too.. . . .
3.1.1216 Feb 2024 07:25 minor feature: . . Add djot as input. And output format. Djot is a light markup syntax (https://djot.net).. . New module Text.Pandoc.Readers.Djot API change . The function. readDjot is also exported by Text.Pandoc.Readers.. New module Text.Pandoc.Writers.Djot API change . The function. writeDjot is also. Exported by Text.Pandoc.Writers. . --number-sections. Now uses the first digit for the number of the top-level section, no matter what its level. So if the top-level section is level-2. Numbers will be 1, 2, etc. rather than 0.1, 0.2, as in the past. For Some backwards compatibility, we revert to the old behavior when The --number-offset Option is used. DocBook reader:. . Better handling of lt;procedure gt; and lt;substeps gt; : lt;procedure gt; now gets Parsed as an ordered list, and lt;substeps gt; as a Sublist. . Man reader:. . Move spaces outside of emph/strong.. . MediaWiki reader:. . Don t make leading blanks underscores in image links.. Allow lowercase image:. . BibTeX reader:. . Support pagetotal in. Converting BibLaTeX. . Markdown reader:. . wikilinks extensions to allow newlines in titles.. . EPUB reader:. . Don t put #. Characters in identifiers. . LaTeX reader:. . Improve treatment of cref, Cref. Use The reference-type ref+label and ref+Label. Also, associate with vref ref instead of ref+page. Limited support for Cref. Generate relative widths for linewidth, textheight. . Typst reader:. . handling of overline. Due to a typo, it was being incorrectly rendered as an underset. Improve handling of inline #quote. handling of dot(), tilde(), ddot() (jgm/typst-hs#38). character used for norm (jgm/typst-hs#38). . Typst writer:. . Use reference form for. Citations when possible. Use #ref or for links with reference-type="ref". This Attribute is added to LaTeX cref, for example. Improve citation support. Emit. form: "prose" or form: "year" qualifiers if the Citation is author-in-text or suppress-author. Strip initial comma From suf, since typst will add an
3.1.1117 Dec 2023 03:15 minor feature: . . Typst writer:. . Emit ; after typst. Code, unless followed by space. Otherwise there s the potential that the typst code will swallow up a following character.. . Text.Pandoc.Logging:. . Add MakePDFWarning. Constructor to LogMessage API change . Add MakePDFInfo. Constructor to LogMessage API change . . Text.Pandoc.PDF:. . LaTeX warnings are passed on to the user as warnings.. Use report with MakePDFWarning and MakePDFInfo to relay verbose Information and warnings, instead of writing directly to Stderr. Parse logs to determine whether additional runs needed. Instead of running a number of times. (The Number of times that was appropriate given pandoc s default Templates didn t always work for custom templates, and thus pandoc 3.1.10 s change in the number of runs led to some regressions in PDF production.). . Makefile: in make prelease, add checks that Pandoc-cli and pandoc have the same version, that pandoc-cli Depends on this exact version of pandoc, that there is an entry For this version in the changelog, and that the version numbers in The generated man pages are correct. Regenerate man pages with pandoc 3.1.10. This properly. Escapes hyphens and version numbers in man pages for pandoc-server and pandoc-lua. Depend on texmath 0.12.8.6. This omits unneeded lrs in typst math Output. Depend on typst 0.5. This allows the typst reader to. Support multiline strings, the version type, and the as keyword with import. . . .
3.1.1013 Dec 2023 13:01 major feature: Link pandoc-cli version to pandoc version. Henceforth pandoc-cli s version will be synchronized with pandoc s, and pandoc-cli will depend on an exact pandoc version. This will avoid confusion by ensuring that cabal install pandoc-cli-X.Y.Z installs pandoc version X.Y.Z. It will make things more straightforward for upstream packagers (see #9232). This scheme does not follow the Haskell PVP, but that should cause no harm, because this package does not expose a library. Add alerts markdown extension. This enables GitHub style markdown alerts as a commonmark extension. This extension is now default for gfm. It can t be used with markdown, only with commonmark and variants. Markdown reader: Preserve newlines in math instead of changing to spaces. Otherwise we can get unwanted results if there s a comment (#9193). Make attributes work with reference links (#9171). HTML reader: Improve handling of invalidly nested sublists (#9187, cf. #8150). MediaWiki reader: Allow attribute keys with hyphens (#9178). ODT reader: Support attr text:continue-numbering (#8979, Stephan Meijer). Typst reader: Allow references (e.g. @foo) to become citations if there is no corresponding label in the document. Collapse adjacent cite elements. Handle supplements in cite. Change cite (only one key allowed, a label) (typst 0.9 breaking change). Support quote element (typst 0.9). LaTeX reader: Handle otherlanguage environment and language-name environments like begin french ... end french (#9202). Fix theorem label parsing (#8872, Hikaru Ibayashi). Docx reader: Unwrap content of shaped textboxes (Stephan Meijer, #9214). Improve handling of w:sym (#9220). We now look up symbols in symbol fonts using the table defined at Text.Pandoc.Readers.Docx.Symbols. Add unexported module Text.Pandoc.Readers.Docx.Symbols. This gives us a table to