Skip to content

Releases: jgm/pandoc

pandoc 3.1.13

07 Apr 15:51
@jgm jgm
Compare
Choose a tag to compare
Click to expand changelog
  • Org reader:

    • Fix treatment of id property under heading (#9639).
  • DocBook reader:

    • Add empty title to admonition div if not present (#9569). This allows admonition elements (e.g. <note>) to work with gfm admonitions even if the <title> is not present.
  • DokuWiki reader:

    • Link text cannot contain formatting (e.g., // is not italics) (#9630).
    • An explicitly empty link text ([[url|]]) works the same as an omitted link text (#9632).
  • Typst reader:

    • Support Typst 0.11 table features: col/rowspans, table head and foot (#9588).
    • Parse cell col/rowspans.
  • CSLJson writer:

    • Put $ or $$ around math in csljson output (#9616).
  • ConTeXt writer:

    • Fix options order with \externalfigure. The dimensions should come beforeafter 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 (#9588): 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 (#9586). For example, we need to escape [\1. April] or it will be treated as an ordered list.
    • Handle unnumbered on headings (#9585).
  • LaTeX writer:

    • Fix math inside strikeout (#9597).
  • 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 (#9613, Albert Krewinkel). Fixes an issue arising when the value of content properties on BlockQuote, Figure, and Div elements was an empty list.

  • Update lua-filters.md (#9611, Carlos Scheidegger).

pandoc 3.1.12.3

18 Mar 05:28
@jgm jgm
Compare
Choose a tag to compare
Click to expand changelog
  • Markdown reader: Fix bug with footnotes at end of fenced div (#9576).

  • LaTeX reader:

    • Improve tokenization of @ (#9555). 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”.
    • Make withRaw work inside parseFromToks (#9517). This is needed for raw environments to work inside table cells.
    • Better handling of table colwidths (#9579). 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 (#9574).
    • Avoid unnecessary box around image in figure (#9236).
    • Omit width/height in images unless explicitly specified (#9236). 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.
    • Don’t add hard-coded inset to tables (#9580). Instead, set this globally in the default template, allowing it to be customized.
  • LaTeX template: Fix block headings support for unnumbered paragraphs (#9542, #6018, Oliver Fabel).

  • HTML templates: Replace polyfill provider (#9537, @SukkaW). 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 fixes a 3.12 regression in parsing of commonmark/gfm autolinks (jgm/commonmark-hs#151).

  • Depend on djot 0.1.1.3, which fixes a serious parsing bug affecting regular paragraphs after lists.

  • Depend on latest skylighting, skylighting-core, typst-hs, texmath.

  • MANUAL.txt: Change broken link to IDML cookbook (#9563).

pandoc 3.1.12.2

01 Mar 06:00
@jgm jgm
Compare
Choose a tag to compare
Click to expand changelog
  • Docx reader:

    • Ensure that table captions are counted (#9518).
    • Detect caption by style name not id (#9518). The styleId can change depending on the localization.
    • Avoid emitting empty paragraph where caption was.
  • Markdown reader: fix regression in link parsing with wikilinks extensions (#9481). This fixes a regression introduced in 3.1.12.

  • Org reader/writer: support admonitions (#9475).

  • Org writer: omit extra blank line at end of quote block.

  • Typst writer: ensure that -, +, etc. are escaped at beginning of block (#9478). Our recent relaxing of escaping (#9386) caused problems for things like emphasized - characters that were rendered using #strong[-]#. This now gets rendered as #strong[\-].

  • LaTeX writer: fix bug when a language is specified in two different ways (#9472). 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.

  • Docx writer: Don’t copy over footnotePr in settings.xml from reference.docx (#9522).

  • EPUB writer: omit EPUB2-specific meta tag on EPUB3 (#9493). 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 (#9525).
  • Text.Pandoc.Shared: Fix regression in section numbering in makeSections (#9516). Starting with pandoc 3.1.12, unnumbered sections incremented the section number.

  • Text.Pandoc.Class: fix openUrl TLS negotiation (#9483). 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 (fixes rendering on multiline block attributes).

  • Use new releases of skylighting-format-blaze-html (#9520). Fixes auto-wrapping of long source lines in HTML print media.

  • Use new commonmark-extensions (fixes issue with the rebase_relative_paths extension when used with commonmark/gfm.

  • Makefile: improve epub-validation target (#9493). Use --epub-cover-image to catch issues that only arise with that.

pandoc 3.1.12.1

18 Feb 01:42
@jgm jgm
Compare
Choose a tag to compare
Click to expand changelog
  • EPUB writer: omit EPUBv3-specific accessibility features on epub2 (#9469). Fixes a regression in 3.1.12.

  • More fixes for SVG ids with --self-contained (#9467). This generalizes the fix to #9420 so it applies to things like style="fill(url(#..." and should fix problems with SVGs including gradients.

  • Powerpoint writer: properly handle math in headings and tables (#9465). This ensures that paragraphs containing math are wrapped in a mc:AlternateContent node as required.

  • Makefile: make validate-epub check v2 output too.

pandoc 3.1.12

15 Feb 18:18
@jgm jgm
Compare
Choose a tag to compare
Click to expand changelog
  • 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 (#5071). For some backwards compatibility, we revert to the old behavior when the --number-offset option is used.

  • DocBook reader:

    • Better handling of <procedure> and <substeps> (#9341): <procedure> now gets parsed as an ordered list, and <substeps> as a sublist.
  • Man reader:

    • Move spaces outside of emph/strong (#9445).
  • MediaWiki reader:

    • Don’t make leading blanks underscores in image links (#9425).
    • Allow lowercase image: (#9424).
  • BibTeX reader:

    • Support pagetotal in converting BibLaTeX.
  • Markdown reader:

    • Fix wikilinks extensions to allow newlines in titles (#9454).
  • EPUB reader:

    • Don’t put # characters in identifiers.
  • LaTeX reader:

    • Improve treatment of \cref, \Cref (#7463). Use the reference-type ref+label and ref+Label. Also, associate with \vref ref instead of ref+page.
    • Limited support for \Cref (#7463).
    • Generate relative widths for \linewidth, \textheight (#9388).
  • Typst reader:

    • Fix handling of \overline (#9294). Due to a typo, it was being incorrectly rendered as an \underset.
    • Improve handling of inline #quote (#9413).
    • Fix handling of dot(), tilde(), ddot() (jgm/typst-hs#38).
    • Fix character used for norm (jgm/typst-hs#38).
  • Typst writer:

    • Use reference form (e.g. @jones2000[p. 30]) for citations when possible.
    • Use #ref or @ for links with reference-type="ref" (#7463). This attribute is added to LaTeX \cref, for example.
    • Improve citation support (#9452). 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.
    • Unescape URI escapes in image paths (#9389).
    • Handle labels and citaiton ids with spaces and other special characters (#9387). In these cases, we produce an explicit label() rather than using <> or @.
    • Avoid producing illegal labels (#9387).
    • Avoid unnecessary escapes (#9386).
  • LaTeX writer:

    • Make writer sensitive to empty_paragraphs extension (#9443).
    • Fix beamer highlighting (mh4ckt3mh4ckt1c4s).
    • Create valid table even when table is empty (#9350).
    • Set font fallback for babel main font (Max Heller).
    • Add some kerns where needed between quotes (#9371).
  • HTML writer:

    • Add suffix to multiple footnote section ids, so they are unique (Sam May). This is necessary when --reference-location is block or section.
  • EPUB writer:

    • Add ARA roles for accessibility (#9378, Iacobus1983). Footnote references are given role “doc-noteref”, footnote text gets “doc-footnote”, and nav gets “doc-toc”.
    • Ensure that an alt attribute is always added (#9354). This seems to be required by iBooks; even an empty alt attribute will satisfy it.
    • Add xml:lang to package element (#9372).
    • Add accessibility metadata to EPUB metadata (#9372, #9400, Iacobus1983 and John MacFarlane). Reasonable default values are used to ensure that pandoc’s EPUBs conform to the EU Accessibilty Act requirements, but values can be overridden using metadata.
  • Docx writer:

    • Restore ability to center-justify table (#9393). 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.
  • Man writer:

    • Fix bug with long URLs (#9458). URLs with more than 68 characters didn’t display properly because of wrapping.
    • Support (limited) syntax highlighting in code blocks (#9446). Currently only boldface and italics are supported. The monochrome style might be of use for those generating man pages.
  • Org writer:

    • Escape special lines in code blocks (#9218, Albert Krewinkel).
  • Markdown writer:

    • Use different width fences for nested divs (#9450). 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.
    • Fix output for pipe tables with a huge number of columns (#9346). Previously we got invalid pipe tables when the number of table columns exceeded the setting of --columns.
  • Powerpoint writer:

    • Fix regression in layout for slides with figures (#9442).
    • Use internal column widths in pptx writer tables (#5706, Tomas Dahlqvist). 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.
  • Custom writers:

    • Fix handling of common state (#9229, Albert Krewinkel). The CommonState (PANDOC_STATE in Lua) may change between the time that a custom writer script is first loaded and when the writer is run. However, the writer was always using the initial state, which led to problems, e.g. when the mediabag was updated in a filter, as those updates where not visible to the writer. The state is now updated right before the writer function runs.
  • Text.Pandoc.SelfContained:

    • Fix id replacements in SVGs with clipping paths (#9420). This fixes --embed-resources when SVGs have clip-path attributes.
    • Fix size of duplicated SVGs with --embed-resources (#9439).
  • ConTeXt template: support font fallback (#9361, Lawrence Chonavel).

  • Text.Pandoc.Shared:

    • addPandocAttributes: use wrapper attribute, not wrap, for Divs and Spans added as wrappers to hold attributes on elements that do not accept them.
    • makeSections behavior changes:
      • When the optional base level parameter is provided, we no longer ensure that the sequence of heading levels is gapless (#9398). 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.
      • Section numbers are now assigned differently, as described above under --number-sections changes (#5071).
    • Improve makeSections code for section number calculation.
  • Text.Pandoc.Chunks:

    • Autogenerate unique ids for sections missing them (#9383). This is needed for TOC generation to work properly. We can’t create TOC links if there are no ids. This fixes some EPUB validation issues we’ve been getting since switching over to Chunks for chunking.
    • Improve fixTOCTreePaths. We weren’t adding ids for section headings that don’t head a chunk, but these headings are needed for a TOC.
  • Lua: catch encoding error in pandoc.read (#9385, Albert Krewinkel). Fixed a bug that could lead to an un-catchable error and program termination when pandoc.read was called with invalid UTF-8 input.

  • LaTeX template: support font fallback (lawcho). This support is LuaLaTeX-specific. See MANUAL.txt for documentation.

  • Text.Pandoc.Readers: Add readMan to exports [API change] (George Stagg).

  • Text.Pandoc.PDF:

    • Reliably detect when TOC has changed (#9295). Sometimes the TOC changes but there are no warnings: this happens when no labels are present. In this case we must rerun LaTeX. So we now take the SHA1 hash of the TOC file and rerun LaTeX if it changes between runs.
    • Increase maximum number of LaTeX runs to 4 (#9299). On some documents, 4 runs are needed (e.g. when a LastPage reference is used).
    • Avoid readFileLazy, which caused improperly cleaned-up temp directories on Windows (#9460).
  • MANUAL.txt:

    • Harmonize spelling of Markdown and MultiMarkdown (#9402, Salim B).
    • Add <pre> to list of exceptions for markdown_in_html_blocks extension (#9305).
    • Add clarification to docs for --resource-path (#9417).
  • Makefile: Validate generated EPUB as part of prerelease checks.

  • Add validation for docx golden files to CI (Edwin Török).

pandoc 3.1.11.1

06 Jan 02:44
@jgm jgm
Compare
Choose a tag to compare
Click to expand changelog
  • Docx reader:

    • Fix HYPERLINK with only switch and no argument (#9246).
  • Org reader:

    • Parse caption and label for grid tables (#9279).
  • MediaWiki reader:

    • Handle multiline math in list items (#9293).
  • OPML writer:

    • Respect --wrap options & --columns in contents of notes (#9297).
  • ODT/OpenDocument writers:

    • Properly handle highlighting styles (#9287). These styles were going into an office:styles element in content.xml, but this is invalid. Instead they must go in styles.xml. The variable highlighting-styles no longer has any effect on the default opendocument template, and highlighting styles are not included in opendocument output.
  • Markdown writer:

    • Add table identifier at end of caption if present (#9279).
  • Text.Pandoc.PDF:

    • Expand list of environment variables to display in verbose output (#9303).
    • Ensure that we find all the LaTeX warnings requiring a rerun (#9284). This should fix a regression from 3.1.9 that led to incorrect alignments in tables (and possibly other issues).
  • Docx writer:

    • Ensure that pandoc’s output validates (Edwin Török, #9273, #9269, John MacFarlane, #9265, #9266, #9264).
    • Don’t emit empty table rows, which seem to cause problems for Word (#9224).
  • LaTeX writer:

    • Omit superfluous page locator label when used with --natbib or --biblatex (#9275). These will treat a bare number as a page locator, and they will be able to localize it. Note that the recognition of the locator label is locale-sensitive; if lang is de, then S. 33 is a page reference, and p. 33 is not!
  • Text.Pandoc.Chunks: Fine tune makeChunks (#9281).

    • Ensure that chunks not based on sections (those with the “preamble” class) get unique identifiers, by appending chunk number.
    • This will also ensure that they get unique path names when the path is generated from the identifier.
  • Default HTML5 template: remove html5shiv (and support for IE < 9).

  • Makefile:

    • Fix make quick-stack: j was expecting a number (Edwin Török).
    • Run built pandoc (instead of pandoc in path).
    • Add validate-epub target, using epubcheck to test the golden files.
    • Add validate-docx-golden-tests target.

pandoc 3.1.11

16 Dec 03:57
@jgm jgm
Compare
Choose a tag to compare
Click to expand changelog
  • Typst writer:

    • Emit ; after typst code, unless followed by space (#9252). 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 fixed number of times (#9255). (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 fixes 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.

pandoc 3.1.10

13 Dec 02:15
@jgm jgm
Compare
Choose a tag to compare
Click to expand changelog
  • 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 use to resolve characters included in docx via w:sym element.
  • Man reader:

    • Properly handle .sp macro inside lists and block quotes (#9201).
  • LaTeX writer:

    • Fix bug with big footnotes inside emphasis (#8982, Hikaru Ibayashi).
    • Handle identifiers inside heading contents. \phantomsection can’t be used in this case, so we need \hypertarget (#9209).
  • LaTeX template:

    • Include bookmark package unconditionally. This package produces better PDF bookmarks than hyperref and does it on the first pass.
  • Typst writer:

    • Use quote for block quotes.
    • Support --toc-depth as in other writers (#9242).
    • Put inline image dimensions on enclosing box, not image (#9104).
    • Better handling of tables with captions (#9194). We now put these in a figure with a caption argument.
    • Update typst writer to typst 0.9 citation format (#9188).
  • Typst template:

    • Remove custom definition of blockquote in default template. (We now use built-in quote.)
    • Support table of contents.
    • Support csl (#9186, Ian Max Andolina). Typst now supports CSL for its native citation engine, so pandoc should use a specified csl style in the template, falling back to bibliographystyle if csl is not specified.
  • Docx writer:

    • Use different style for block quotes in notes (#9243). Using “Footnote Block Text” for the style name, so it can be given a different font size if footnotes are.
    • Allow embedded fonts to be used in reference.docx (#6728).
  • HTML5 writer:

    • To conform to validator’s expectations, doc-footnote role is used with aside and doc-endnotes with section.
    • aside is used only for notes at ends of sections or blocks; if all the notes come at the end of the document, section is used so we can have the doc-endnotes role.
  • JATS writer:

    • Handle case where there is material after refs div (#9166). Previously in such cases the references were not being moved to back matter.
  • Ms writer:

    • Don’t do normal escapes in filename arguments for PSPIC etc.
  • T.P.RoffChar: escape - as \-. The groff_man (7) man page indicates that - characters will be treated as typographic hyphens and are not appropriate for cases where the output should be copy-pasteable as an ASCII hyphen-minus character. (E.g. in command line options.) However, until a recent update groff man did not actually do this; it treated - and \- the same. With the new update (1.23.0) the two are distinguished (see https://lwn.net/Articles/947941/ for background), so now it is important that pandoc escape -.

  • Text.Pandoc.Extension: add Ext_alerts constructor [API change].

  • Text.Pandoc.PDF: We now default to running LaTeX only once in producing a PDF (instead of twice). This is made possible by the shift to the bookmark package, which does not require a second pass for PDF bookmarks. If a table of contents is present, we still have to run three times to get the page numbers, and if beamer is used we still do a minimum of two runs.

  • Text.Pandoc.Shared:

    • renderTags': use minimized tag for rect.
    • Allow svg path element to be minimized.
    • Export combineAttr [API change].
    • Improve isTightList so that it recognizes an item containing only a list which is itself tight as potentially an item in a tight list (#9161).
  • Text.Pandoc.MIME: Ensure we use .svg not .svgz as extension for image/svg+xml mime type. This fixes issues with embedded SVG images in docx output, among other things (#9195).

  • Text.Pandoc.Class: openURL improvements for data uris. Only treat data URI as base64 if ‘;base64’ is specified. Otherwise treat as UTF-8 (not 100% reliable but should cover most other cases). Strip off ;base64 (or ;charset=... or whatever) from mime type (#9195).

  • Text.Pandoc.SelfContained: Improve treatment of embedded SVGs (#9206, #8948).

    • Ensure unique ids for elements by prefixing SVG id.
    • Ensure SVG id attribute except when use element is used.
    • Remove width, height attributes from svg element when use element is used. Instead, add width and height 100% to the use element. This seems to get the sizing right.
  • Text.Pandoc.Citeproc: Don’t link citations if suppress-bibliography specified, for there will be nothing to link to (#9163).

  • epub.css: add styling for sup and sub (#9160).

  • Switch from base64 to base64-bytestring (#9233).

  • Use newest versions of commonmark, commonmark-extensions, commonmark-pandoc, texmath, typst, skylighting, skylighting-core.

  • Benchmark: use standalone documents for reader tests. Otherwise typst reader benchmark fails. Note: this means that we are now parsing longer documents, so bench results on readers won’t be comparable to before.

  • MANUAL.txt: update defaults file docs for bibliography fields (#9173). Recommend using top-level bibliography csl, etc. instead of a nested metadata field. Reason: ${USERDATA} and ${HOME} are only expanded in these contexts, not in metadata.

  • Move man pages to pandoc-cli package (#9245).

pandoc 3.1.9

28 Oct 01:11
@jgm jgm
Compare
Choose a tag to compare
Click to expand changelog
  • Make reference-section-title work with jats+element_citations (#9021).

  • Add bits as synonym of jats as input format.

  • JATS reader:

    • Modify JATS reader to handle BITS too (#9138, Julia Diaz). Add provision for title-group, book, book-part-wrapper, book-meta, book-part-meta, book-title, book-title-group, index, toc, legend, title, collection-meta
    • Fix handling of alt-text (#9130, Julia Diaz). Previously we were looking for an attribute that doesn’t exist in JATS; alt-text is provided by a child element.
  • CommonMark reader:

    • Handle Ext_tex_math_gfm (#9121). Parse GFM-specific math constructions when tex_math_gfm enabled.
  • DokuWiki reader:

    • Allow autolinks to be avoided using e.g. https:%%//%%... (#9153).
    • Parse <code> and <file> as block-level code (#9154). Previously we treated them as inline code in some contexts, but that is not how DokuWiki works.
  • LaTeX reader:

    • Better handle spacing commands \hfill, \vfill, \hskip, \vskip, etc. (#9150).
    • Fix incorrect abbreviation for astronomical unit (#9125, Michael McClurg).
  • Markdown reader:

    • Fix blindspot with superscript in links (#8981). Previously [^super^](#ref) wasn’t parsed as a link, due to code that was meant to prevent footnote markers from being recognized as reference links. This commit tightens up that code to avoid this bad effect. We have also added a new restriction on footnote labels: they cannot contain the characters ^, [, or ]. Though this is technically a breaking change, we suspect that the impact will be minimal, as it’s very unlikely people would be using these characters in their note labels.
    • Don’t apply --default-image-extension to data URIs (#9118).
    • More accurate check that a normalCite is not a link, bracketed span, or reference (#9080).
  • HTML reader:

    • Allow th to close td and vice versa (#9090).
    • Parse task lists using input elements (#9047, Seth Speaks).
  • Creole reader:

    • Handle empty cells correctly (#9141, Sascha Wilde).
  • Org writer:

    • Escape literal *, |, # at beginning of line with ZWS (#9159).
  • ICML writer:

    • Prevent doubled attributes (#9158).
  • Powerpoint writer:

    • Fix a corruption error caused when the document used both a regular png and a png in a data URI (#9113). (Similarly for any other image format.) The problem was that duplicate entries in [Content Types].xml were being created, one for the mime type image/png, one for image/png;base64.
  • LaTeX writer:

    • Fix rowspans in tables so they use the width of the column (= as the width parameter) (#9140).
    • Don’t treat table as “simple” if they have col widths. This should help fix a problem wherein some grid tables with colspans were overly wide (#9140).
    • Fix uneven indents in line block output (#9088).
  • JATS writer: fix 3.1.4 regression in handling block-level metadata (#9092).

  • Ms writer: improvements in image handling (#4475).

    • PDFPIC is now used for PDF images in figures.
    • Inline images that are postscript or PDF are rendered using PSPIC or PDFPIC. This isn’t ideal, because they will still be rendered as if in a separate paragraph, but it’s probably better than just printing the image name.
    • Units are included in height.
  • HTML writer:

    • If raw format is an HTML side deck format, emit it (James J Balamuta).
  • Typst writer:

    • Add #box around image to make it inline. (#9104) An #image by itself in typst is a block-level element. To force images to be inline (as they are in pandoc), we need to add a box with an explicit width. When a width is not given in image attributes, we compute one from the image itself, when possible.
    • Don’t allow long heading to wrap (#9132).
    • Escape ( (#9137). If unescaped ( occurs in certain contexts, it can be parsed as function application.
  • Man writer:

    • Fix some spacing issues around links (#9120). We need to use \c before a .UR or .MT, to avoid an extra space, and also after. To ensure that a space at the beginning of the following line doesn’t get swallowed up, we escape it with \.
    • Use UR, MT macros for URLs, emails (#9120).
  • Text.Pandoc.Extensions:

    • Add Ext_tex_math_gfm constructor to Extension (#9121). [API change]. This handles two GitHub-specific syntaxes for math. This is now default for gfm, in addition to tex_math_dollars.
    • Remove duplicates for Ext_raw_html and Ext_pipe_tables in some of the lists (Tim Stewart).
  • Text.Pandoc.Metadata: Add helpful message on some metadata YAML errors (#9155).

  • Text.Pandoc.Shared:

    • splitSentences: don’t split after initials. This improves the man and ms writer output, preventing sentence breaks after initials.
    • Add addPandocAttributes function [API change]. This is meant to simplify addition of attributes to Pandoc elements: for elements that don’t have a slot for attributes, an enclosing Div or Span is added to hold the attributes.
  • MANUAL.txt:

    • Clarify that formatting can’t cross line boundaries in line blocks (#9119).
    • Fix legacy option for citation (#8737, 3w36zj6)
  • Update et translations (priiduonu).

  • Updated no translations (Stephan Daus). Renamed no.yaml (macrolanguage Norwegian) to nb.yaml (Norwegian Bokmål). Created soft symbolic link from no.yaml pointing to nb.yaml.

  • Lua subsystem: Use the newest LPeg version (lpeg-1.1.*) (#9107, Albert Krewinkel).

  • Default epub.css: Apply style to h6, format styles, and combine identical styles under shared selectors (samuel-weinhardt).

  • Update nix flake with dependencies (piq9117).

  • LaTeX template: fix \CSLBlock vertical space (John Purnell).

  • Allow tasty 1.5 and Diff 0.5.

  • Require commonmark-extensions 0.2.4, commonmark 0.2.4.

  • Require texmath 0.12.8.4. This should improve math in powerpoint, fixing empty boxes around roots in some cases.

  • Require typst 0.3.2.1

pandoc 3.1.8

09 Sep 18:29
@jgm jgm
Compare
Choose a tag to compare
Click to expand changelog
  • JATS reader:

    • Ignore <processing-meta> element (#9057, Julia Diaz).
    • Fix conversion of date to ISO 8601 format (#8865).
  • LaTeX template:

    • Add code allow \cite to break across lines (#9050).
    • Fix regression with CSL display="block" (#7363). This restores the line break before the block.
    • Rewrite CSLReferences environment to avoid depending on enumitem, which plays badly with beamer. Instead we use a regular list environment. Thanks to @jpcirrus for the concept (#9053).
    • Restore the pre-3.1.7 format of the CSLReferences environment, which again has two parameters. The first determines whether a hanging indent is used (1 = yes, 0 = no), and the second is the entry line spacing (0 = none).
    • Add a strut to avoid inconsistencies in spacing (#9058).
    • Remove a break at the end of CSLRightInline to avoid inconsistencies in spacing. It shouldn’t be necessary because the paragraph should extend to the right margin (#9058).
  • LaTeX writer:

    • Fix regression with figure labels (#9045). In 3.1.7, pandoc added two labels to LaTeX figure environments, one with a phantomsection.
    • Fix default citeproc entry-spacing. According to the CSL manual, the default entry spacing is 1. We were treating it as 0 (#9058).
  • HTML writer:

    • Use the ID prefix in the ID for the footnotes section (#9044, Benjamin Esham).
    • Fix CSL entry-spacing default (#9058).
  • Text.Pandoc.Citeproc: always include an entry-spacing attribute in the Div if the bibliography element contains an entry-spacing attribute (previously we omitted it when it was 0) (#9058).

  • Clean up pandoc’s own man pages by regenerating with pandoc 3.1.7.

  • pandoc-lua-engine: bump lower bound for pandoc (#9046).

  • Depend on texmath 0.12.8.2, fixing binom in typst writer (#9063).