I'm pleased to announce the release of pandoc 3.7,
available in the usual places:
Binary packages & changelog:
https://github.com/jgm/pandoc/releases/tag/3.7
Source & API documentation:
http://hackage.haskell.org/package/pandoc-3.7
- New command-line option
--variable-json
. This allows non-string
values (such as booleans or maps) to be given to template variables
on the command line. --pdf-engine
will now acceptgroff
as a value.- Markdown and RST writers now allow row/colspans in grid tables.
In addition, table column widths will expand if needed to
contain text that can't be wrapped, avoiding the introduction
of unwanted whitespace. - The
four_space_rule
extension now works forplain
output. - Roff formats now use the most portable syntax possible.
- Improved handling of inline TeX in Org-mode.
- In Lua filters,
pandoc.read
can now be used in "sandboxed"
mode, restricting file or network access, by passing in a
list of accessible files as a fourth parameter.
API changes:
- Text.Pandoc.Writers.Shared: new function
delimited
. - Text.Pandoc.Writers.Shared: new version of
gridTable
with
changed parameters. - Text.Pandoc.Class: new exported function
sandboxWithFileTree
.
Thanks to all who contributed, especially new contributors Add new command-line option The Markdown writer:
RST writer:
Muse writer:
JATS writer:
HTML writer:
LaTeX writer:
Typst writer:
Roff format writers (man, ms):
Docx writer:
Ms writer:
OpenDocument writer:
Powerpoint writer:
DocBook writer:
MediaWiki reader/writer:
LaTeX reader:
Commonmark Reader:
DocBook reader:
Org reader:
Beamer template: fix regression in 3.6.4, reverting the omission of Ms template:
Upgrade reveal.js URL to v5 (#10740, Kolen Cheung). v4 is no longer available on unpkg.com.
Text.Pandoc.PDF: Allow Text.Pandoc.Writers.Shared:
Text.Pandoc.App: set Text.Pandoc.Class and Text.Pandoc.URI:
Text.Pandoc.Citeproc.BibTeX:
Text.Pandoc.MIME:
Text.Pandoc.Readers.LaTeX.Math: export Text.Pandoc.Class.Sandbox:
Lua subsystem (Albert Krewinkel):
Makefile:
NiX infrastructure: new working Require random >= 1.3 and use Use citeproc-0.9. Bump citeproc bounds for pandoc, pandoc-lua-engine.
Use texmath-0.12.10.1.
Use released typst 0.8 (partially supporting typst 0.13).
Use citeproc 0.9.0.1.
MANUAL.txt:
Change RELEASE-CHECKLIST to RELEASE-CHECKLIST-TEMPLATE.org. Use org-babel to automate many of the steps of the release.
INSTALL.md: update MacPorts information (#10719, Mohamed Akram).
COPYRIGHT: fix link to source code.
CONTRIBUTING.md: Fix link to discussion forum. (#10834, R. N. West).
Manolis Stamatogiannakis, Mohamed Akram, and Niklas Eicker.
Click to expand changelog
--variable-json
(#10341). This allows non-string values (booleans, lists, maps) to be given to template variables on the command line.
--pdf-engine
option can now take groff
as a value.
x<em> space </em>y
as x* space *y
we render it as x *space* y
.
figure
for a figure that can’t be represented any other way, include a Div with class caption
containing the caption.
math
blocks to avoid an ugly blank line.
four_space_rule
extension for plain
output (#10813, Manolis Stamatogiannakis).
multirow
in tables (#10772).
\(xy
instead of \[xy]
. This was the original AT&T troff form and is the most widely supported. The bracketed form causes problem for some tools, e.g. makewhatis
on macOS. And emit e
followed by an escape for a unicode combining accent rather than the form \[e aa]
, which works for groff but not e.g. on macOS’s man. This change affects Text.Pandoc.RoffChar, Text.Pandoc.Writers.Roff, and the Man and Ms writers.
pdf-engine
variable is specified, do not use the .pdfhref
macros at all (#10738). This gives better results for links in formats other than PDF, since the link text would simply disappear if it exists only in a .pdfhref
macro. When a PDF engine is specified, escape the argument of .pdfhref O
in a way that is appropriate.
\\{
rather than \{
for a literal brace.
monospaced
class. Otherwise it is made a LineBlock.
equation
. Previously, an equation
environment starting at the beginning of a line would create a raw block, splitting up the paragraph containing it (see #10836). On the other hand, an equation
environment not at the beginning of a line would be turned into regular inline elements representing the math. (This would cause the equation number to go missing and in some cases degrade the math formatting.) Now, we parse all of these as raw “latex” inlines, which will be omitted when converting to formats other than LaTeX (and other formats like pandoc’s Markdown that allow raw LaTex).
\date
when the document does not have a date. By default, beamer will display a date when no \date
is present in the title block, so this was an unintended behavior change. The reverted change was motivated by the desire to include a custom \date
in the frontmatter via header-includes. This can be achieved more simply by simply setting the date
variable. In markdown you can even use date
in metadata and put some raw LaTeX there.
pdf-engine
isn’t set.
groff
to be used as --pdf-engine
with ms
(#10738). When groff
is used as a PDF engine, the groff
extension to ms
is automatically enabled. Limitations:
groff
currently produces larger PDFs than pdfroff
.
groff
, a table of contents produced with --table-of-contents/--toc
will always be placed at the end of the document.
delimited
[API change].
gridTable
(#6344) [API change]. This handles row and colspans. It also ensures that cells won’t wrap text in places where it wouldn’t normally wrap, even if this means making the cells wider than requested by the colspec (#9001, #7641). Because the parameters are different, this is a breaking API change.
pdf-engine
variable. If --pdf-engine
is specified or if a PDF is being produced, we set the pdf-engine
variable. This allows writers and templates to behave differently depending on the PDF engine.
en
as a langid
in biblatex bibliographies (#10764).
inlineEnvironmentNames
. Internal module, not a change to the public API.
reference.docx
(Andrew Dunning):
sandboxWithFileTree
function [API change] (Albert Krewinkel).
pandoc.read
to be called in “sandbox” mode for added security (#10831). Readers running in a sandbox will not be able to access the network or file system. The sandbox is enabled if the fourth parameter is a list of files or filename/content pairs. The files are read and then made available in the sandbox via en ersatz file system.
release-checkist
.
latex-package-dependencies
target.
jq
instead of json_reformat
in validate-docx-golden-tests2
.
flake.nix
and simpler shell.nix
. Removed old default.nix
.
splitGen
. split
has been deprecated.
alerts
extension only works with commonmark (#9716).
--variable
option.
doc/typst-property-output.md
: Mention that typst:no-figure
is a class, not an attribute (#10826, Niklas Eicker).