pandoc 2.2
-
New input format:
fb2
(FictionBook2) (Alexander Krotov). -
Make
--ascii
work for all XML formats (ICML, OPML, JATS,…), and forms
andman
. -
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.
- Allow empty key-value attributes, like
-
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).
- Properly resolve section numbers with
-
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.
- Improve table parsing (#4508). This fixes detection of table attributes and also handles
-
DocBook reader:
-
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:
-
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.
- Escape
-
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).
- Ensure that
-
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 />
forHorizontalRule
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
fromSpeakerNotes
inSlide
.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).
- Correctly ignore LaTeX raw blocks when
-
EPUB writer:
- Add
epub:type="footnotes"
to notes section in EPUB3 (#4489).
- Add
-
LaTeX writer:
-
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.
- Use
-
Man writer:
- Don’t escape U+2019 as
'
(#4550).
- Don’t escape U+2019 as
-
Text.Pandoc.Options:
- Removed
JsMath
,LaTeXMathML
, andGladTeX
constructors fromText.Pandoc.Options.HTMLMathMethod
[API change].
- Removed
-
Text.Pandoc.Class:
writeMedia
: unescape URI-escaping in file path. This avoids writing things likefile%20one.png
to the file system.
-
Text.Pandoc.Parsing:
-
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.
- Use the alias
-
Text.Pandoc.PDF:
- Use
withTempDir
inhtml2pdf
. - 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
.
- Use
-
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 aslatex
. -
LaTeX template:
-
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 withembed_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.