Skip to content

pandoc 2.2

Compare
Choose a tag to compare
@jgm jgm released this 27 Apr 19:13
· 6451 commits to master since this release
  • New input format: fb2 (FictionBook2) (Alexander Krotov).

  • Make --ascii work for all XML formats (ICML, OPML, JATS,…), and for ms and man.

  • Remove deprecated --latexmathml, --gladtex, --mimetex, --jsmath, -m, --asciimathml options.

  • New module Text.Pandoc.Readers.FB2, exporting readFB2 (Alexander Krotov, API change).

  • Markdown reader:

    • Allow empty key-value attributes, like title="" (#2944).
    • Handle table w/o following blank line in fenced div (#4560).
    • Remove “fallback” for doubleQuote parser. Previously the parser tried to be efficient – if no end double quote was found, it would just return the contents. But this could backfire in a case **this should "be bold**, since the fallback would return the content "be bold** and the closing boldface delimiter would never be encountered.
    • Improve computation of the relative width of the last column in a multiline table, so we can round-trip tables without constantly shrinking the last column.
  • EPUB reader:

    • Fix images with space in file path (#4344).
  • LaTeX reader:

    • Properly resolve section numbers with \ref and chapters (#4529).
    • Parse sloppypar environment (#4517, Marc Schreiber).
    • Improve handling of raw LaTeX (for markdown etc.) (#4589, #4594). Previously there were some bugs in how macros were handled.
    • Support \MakeUppercase, \MakeLowercase',, \lowercase, and also \MakeTextUppercase and \MakeTextLowercase from textcase (#4959).
  • Textile reader:

    • Fixed tables with no body rows (#4513). Previously these raised an exception.
  • Mediawiki reader:

    • Improve table parsing (#4508). This fixes detection of table attributes and also handles ! characters in cells.
  • DocBook reader:

    • Properly handle title in section element (#4526). Previously we just got section_title for section (though sect1, sect2, etc. were handled properly).
    • Read tex math as output by asciidoctor (#4569, Joe Hermaszewski).
  • Docx reader:

    • Combine adjacent CodeBlocks with the same attributes into a single CodeBlock. This prevents a multiline codeblock in Word from being read as different paragraphs.
  • RST reader:

    • Allow < 3 spaces indent under directives (#4579).
    • Fix anonymous redirects with backticks (#4598).
  • Muse reader (Alexander Krotov):

    • Add support for Text::Amuse multiline headings.
    • Add <math> tag support.
    • Add support for <biblio> and <play> tags.
    • Allow links to have empty descriptions.
    • Require block <literal> tags to be on separate lines.
    • Allow - in anchors.
    • Allow verse to be indented.
    • Allow nested footnotes.
    • Internal improvements.
  • Muse writer (Alexander Krotov):

    • Escape > only at the beginning of a line.
    • Escape ] in image title.
    • Escape ] brackets in URLs as %5D.
    • Only escape brackets when necessary.
    • Escape ordered list markers.
    • Do not escape list markers unless preceded by space.
    • Escape strings starting with space.
    • Escape semicolons and markers after line break.
    • Escape ; to avoid accidental comments.
    • Don’t break headers, line blocks and tables with line breaks.
    • Correctly output empty headings.
    • Escape horizontal rule only if at the beginning of the line.
    • Escape definition list terms starting with list markers.
    • Place header IDs before header.
    • Improve span writing.
    • Do not join Spans in normalization.
    • Don’t align ordered list items.
    • Remove key-value pairs from attributes before normalization.
    • Enable --wrap=preserve for all tests by default.
    • Reduced <verbatim> tags in output.
    • Internal changes.
  • RST writer:

    • Use more consistent indentation (#4563). Previously we used an odd mix of 3- and 4-space indentation. Now we use 3-space indentation, except for ordered lists, where indentation must depend on the width of the list marker.
    • Flatten nested inlines (#4368, Francesco Occhipinti). Nested inlines are not valid RST syntax, so we flatten them following some readability criteria discussed in #4368.
  • EPUB writer:

    • Ensure that pagetitle is always set, even when structured titles are used. This prevents spurious warnings about empty title elements (#4486).
  • FB2 writer (Alexander Krotov):

    • Output links inline instead of producing notes. Previously all links were turned into footnotes with unclickable URLs inside.
    • Allow emphasis and notes in titles.
    • Don’t intersperse paragraph with empty lines.
    • Convert metadata value abstract to book annotation.
    • Use <empty-line /> for HorizontalRule rather thanLineBreak. FB2 does not have a way to represent line breaks inside paragraphs; previously we used<empty-line />\ elements, but these are not allowed inside paragraphs.
  • Powerpoint writer (Jesse Rosenthal):

    • Handle Quoted Inlines (#4532).
    • Simplify code with ParseXml.
    • Allow fallback options when looking for placeholder type.
    • Check reference-doc for all layouts.
    • Simplify speaker notes logic.
    • Change notes state to a simpler per-slide value.
    • Remove Maybe from SpeakerNotes in Slide. mempty means no speaker notes.
    • Add tests for improved speaker notes.
    • Handle speaker notes earlier in the conversion process.
    • Keep notes with related blocks (#4477). Some blocks automatically split slides (imgs, tables, column divs). We assume that any speaker notes immediately following these are connected to these elements, and keep them with the related blocks, splitting after them.
    • Remove docProps/thumbnail.jpeg in data dir (Jesse Rosenthal, #4588). It contained a nonfree ICC color calibration profile and is not needed for production of a powerpoint document.
  • Markdown writer:

    • Include a blank line at the end of the row in a single-row multiline table, to prevent it from being interpreted as a simple table (#4578).
  • CommonMark writer:

    • Correctly ignore LaTeX raw blocks when raw_tex is not enabled (#4527, quasicomputational).
  • EPUB writer:

    • Add epub:type="footnotes" to notes section in EPUB3 (#4489).
  • LaTeX writer:

    • In beamer, don’t use format specifier for default ordered lists (#4556). This gives better results for styles that put ordered list markers in boxes or circles.
    • Update \lstinline delimiters (#4369, Tim Parenti).
  • Ms writer:

    • Use \f[R] rather than \f[] to reset font (#4552).
    • Use \f[BI] and \f[CB] in headers, instead of \f[I] and \f[C], since the header font is automatically bold (#4552).
    • Use \f[CB] rather than \f[BC] for monospace bold (#4552).
    • Create pdf anchor for a Div with an identifier (#4515).
    • Escape / character in anchor ids (#4515).
    • Improve escaping for anchor ids: we now use uNNN instead of uNNN to avoid ambiguity.
  • Man writer:

    • Don’t escape U+2019 as ' (#4550).
  • Text.Pandoc.Options:

    • Removed JsMath, LaTeXMathML, and GladTeX constructors from Text.Pandoc.Options.HTMLMathMethod [API change].
  • Text.Pandoc.Class:

    • writeMedia: unescape URI-escaping in file path. This avoids writing things like file%20one.png to the file system.
  • Text.Pandoc.Parsing:

    • Fix romanNumeral parser (#4480). We previously accepted ‘DDC’ as 1100.
    • uri: don’t treat * characters at end as part of URI (#4561).
  • Text.Pandoc.MIME:

    • Use the alias application/eps for EPS (#2067). This will ensure that we retain the eps extension after reading the image into a mediabag and writing it again.
  • Text.Pandoc.PDF:

    • Use withTempDir in html2pdf.
    • With xelatex, don’t compress images til the last run (#4484). This saves time for image-heavy documents.
    • Don’t try to convert EPS files (#2067). `pdflatex converts them itself, and JuicyPixels can’t do it.
    • For pdflatex, use a temp directory in the working directory. Otherwise we can have problems with the EPS conversion pdflatex tries to do, which can’t operate on a file above the working directory without --shell-escape.
  • Changes to tests to accommodate changes in pandoc-types. In jgm/pandoc-types#36 we changed the table builder to pad cells. This commit changes tests (and two readers) to accord with this behavior.

  • Set default extensions for beamer same as latex.

  • LaTeX template:

    • Add beameroption variable (#4359, Étienne Bersac).
    • Use pgfpages package; this is needed for notes on second screen in beamer (Étienne Bersac).
    • Add background-image variable (#4601, John Muccigrosso).
  • reveal.js template: Add background-image variable (#4600, John Muccigrosso).

  • ms template: Fix date. Previously .ND was used, but this only works if you have a title page, which we don’t. Thanks to @teoric.

  • Removed pragmas for unused extensions (#4506, Anabra).

  • Fix bash completion for --print-default-data-file (#4549). Previously this looked in the filesystem, even if pandoc was compiled with embed_data_files (and sometimes it looked in a nonexistent build directory). Now the bash completion script just includes a hard-coded list of data file names.

  • MANUAL:

    • Clarify template vs metadata variables (#4501, Mauro Bieg).
    • Fix raw content example (#4479, Mauro Bieg).
    • Specify that you use html for raw output in epub.
    • Add examples for raw docx blocks (#4472, Tristan Stenner). The documentation states that the target format name should match the output format, which isn’t the case for docx/openxml and some others.
    • Don’t say that empty_paragraphs affects markdown output (#4540).
    • Consolidate input/output format documentation (#4577, Mauro Bieg).
  • New README template. Take in/out formats from manual.

  • Fix example in lua-filters docs (#4459, HeirOfNorton).

  • Use the -threaded GHC flag when building benchmarks (#4587, Francesco Occhipinti).

  • Bump temporary upper bound to 1.4.

  • Use pandoc-citeproc 0.14.3.1.

  • Use texmath-0.10.1.2 (fixes escapes in math in ms, #4597).

  • Removed old lib directory. This was used for something long ago, but plays no role now.

  • Removed unneeded data file LaTeXMathML.js.

  • Create 64- and 32-bit versions of Windows binary packages.