Update changelog and man page.

This commit is contained in:
John MacFarlane 2020-02-15 21:26:29 -08:00
parent 33fcac40d5
commit cdbb14de5b
4 changed files with 244 additions and 29 deletions

View file

@ -36,6 +36,7 @@
- Brian Leung
- Bryan O'Sullivan
- Caleb McDaniel
- Caleb Mclennan
- Calvin Beck
- Carlos Sosa
- Chris Black
@ -67,6 +68,7 @@
- Eric Kow
- Eric Seidel
- Eric Schrijver
- Ethan Riley
- Étienne Bersac
- Felix Yan
- Félix Baylac-Jacqué
@ -127,6 +129,7 @@
- Jose Luis Duran
- José de Mattos Neto
- Josef Svenningsson
- Joseph C. Sible
- Julien Cretel
- Juliusz Gonera
- Justin Bogner

View file

@ -1,7 +1,7 @@
---
title: Pandoc User's Guide
author: John MacFarlane
date: January 5, 2020
date: February 15, 2020
---
# Synopsis

View file

@ -1,5 +1,209 @@
# Revision history for pandoc
## pandoc 2.9.2 (2020-02-15)
* Add `csv` as an input format (#6100). The CSV table is converted into a
pandoc simple table. A new module Text.Pandoc.Readers.CSV
exports `readCSV` [API change].
* Introduce new format variants for JATS writer (#6014, Albert Krewinkel):
- `jats_archiving` for the "Archiving and Interchange Tag Set",
- `jats_publishing` for the "Journal Publishing Tag Set", and
- `jats_articleauthoring` for the "Article Authoring Tag Set."
The `jats` output format is now an alias for `jats_archiving`.
The module Text.Pandoc.Writers.JATS now exports
`writeJatsArchiving`, `writeJatsPublishing`, and
`writeJatsArticleAuthoring`, as well as the legacy
`writeJATS` [API change].
* `--defaults`: Support `bibliography` and `csl` fields.
Move `addMeta` from Text.Pandoc.App.CommandLineOptions to
Text.Pandoc.App.Opt (internal change).
* Add timing info for filters in `--verbose` mode (#6112).
When verbose mode is specified (verbosity == INFO), print a
notice when running a filter and when a filter completes (including
timing).
* LaTeX reader:
+ Allow `&` in LaTeX citation keys (#6110).
+ Improve caption and label parsing.
+ Don't emit empty Span elements for labels.
+ Put tables with labels in a surrounding Div.
+ Resolve `\ref` to table numbers (#6137).
+ Skip comments in more places where this is needed (#6114).
+ Allow beamer overlays for all commands in all raw tex (#6043).
This affects parsing of raw tex in LaTeX and in Markdown and
other formats.
+ Improve parsing of raw environments (#6034). If parsing fails
in a raw environment (e.g. due to special characters like unescaped
`_`), try again as a verbatim environment, which is less sensitive to
special characters. This allows us to capture special environments
that change catcodes as raw tex when `-f latex+raw_tex` is used.
* RST reader:
+ Add highlight directive (#6140, Lucas Escot).
* MediaWiki writer:
+ Prevent triple `[[[` which confuses MediaWiki (#6119).
* HTML reader:
+ Don't parse `data-id` as `id` attribute. And similarly don't
parse any `data-X` as `X` when `X` is a valid HTML attribute.
* Org reader:
+ Simplify parsing of sub- and superscripts (#6127, Albert Krewinkel).
Speeds up parsing of single-word, markup-less sub- and superscripts.
* LaTeX writer:
+ Group biblatex citations even with prefix and suffix (#5849, Ethan
Riley). Previously biblatex citations were only grouped if there
was no prefix. This patch allows them to be grouped in subgroups split
by prefixes and suffixes, which allows better citation sorting.
+ Fix regression in handling of columns in beamer slides (#6033).
Columns in title slides were causing problems with
slide division.
+ Fix duplicate frame classes in LaTeX/Beamer output (#6107).
* HTML writer:
+ Fix duplicate attributes on headings (#6062), regression from 2.7.x.
+ Fix `--number-offset` with HTML TOC. Eventually it would be worth
adding a parameter to `makeSections` so this could be done at that
level; then it would also affect other writers that construct
TOC manually.
+ reveal.js: restore old behavior for 2D nesting (#6032).
The fix to #6030 actually changed behavior, so that the
2D nesting occurred at slide level N-1 and N, instead of
at the top-level section. This commit restores the v2.7.3 behavior.
If there are more than 2 levels, the top level is horizontal
and the rest are collapsed to vertical.
+ reveal.js: ensure that pauses work even in title slides (#5819).
* Markdown writer:
+ Fix regression: spurious dots in markdown_mmd metadata output (#6133).
* Docx writer:
+ Fix regression with Compact style on tight lists (#6072).
Starting in 2.8, the docx writer no longer distinguishes between tight
and loose lists, since the Compact style is omitted. This is a
side-effect of the fix to #5670, as explained in the changelog. This
patch fixes the problem by extending the exception currently offered to
Plain blocks inside tables to Plain blocks inside list items.
* Jira writer:
+ Fix output of table headers (Albert Krewinkel, #6035).
* Add Text.Pandoc.Image with unexported svgToPng.
* Moved html5Attributes, html4Attributes, rdfaAttributes
from T.P.Writers.HTML (where they were unexported) to
T.P.XML (where they are now exported).
[API change: new exported functions]
This allows these sets to be used elsewhere, e.g.
in the HTML reader.
* Text.Pandoc.Shared: Export a new function `findM` (#6125,
Joseph C. Sible).
* Text.Pandoc.Logging: Add `RunningFilter`, `FilterCompleted`
constructors to LogMessage [API change].
* Text.Pandoc.CSV: fix bug in CSV parser; previously an extra blank record
would sometimes be inserted at the end.
* LaTeX template: add space option to xeCJK with PassOptionsToPackage
(#6002). Otherwise we can get a clash with documentclasses that
already load the package.
* Lua filters:
+ Allow filtering of element lists (#6038, Albert Krewinkel). Lists of
Inline and Block elements can now be filtered via `Inlines` and
`Blocks` functions, respectively. This is helpful if a filter
conversion depends on the order of elements rather than a single
element. For example, the following filter can be used to remove all
spaces before a citation:
function isSpaceBeforeCite (spc, cite)
return spc and spc.t == 'Space'
and cite and cite.t == 'Cite'
end
function Inlines (inlines)
for i = #inlines-1,1,-1 do
if isSpaceBeforeCite(inlines[i], inlines[i+1]) then
inlines:remove(i)
end
end
return inlines
end
+ Add methods `insert`, `remove`, and `sort` to pandoc.List
(Albert Krewinkel). Example of use:
local numbers = pandoc.List {2, 3, 1}
numbers:sort() -- numbers is now {1, 2, 3}
+ Make `pandoc.List` a callable constructor (Albert Krewinkel).
It is now possible to construct a new List via
`pandoc.List()` instead of `pandoc.List:new()`.
+ Add tests for pandoc.List module (Albert Krewinkel).
* Text.Pandoc.App.CommandLineOptions: Change `setVariable` to use `Text`
instead of `String`. This avoids some unnecessary unpacking.
* Use versioned directory for windows release zipfile.
Also remove old `make-windows-installer.bat`, superseded by GitHub
actions workflow, and modify `pandoc.wxs` for new paths.
* Extensive code cleanup (#6141, #6128, #6129, #6130, #6123,
#6105, 6102, #6117, #6124, #6115, #6116, #6111, Joseph C. Sible).
* Fix hlint warnings (Albert Krewinkel).
* Use latest doclayout, doctemplates (#6031). The new version of
doclayout fixes a memory leak that affected `--include-in-header` with
large files (and possibly other cases involving extremely long lines).
* Use latest texmath.
* Use latest skylighting and fix test suite (#6086).
* sample.lua: Fix typo in descriptive comments (#6136, Caleb Maclennan).
Fix typo in error message (#6135).
* Add Docker and GH Actions instructions/links to INSTALL.md.
* Update filter documentation (#6065). Improve cabal v2 instructions.
Remove example using pandoc API directly (we have other
docs for that and it was outdated).
* Lua filter docs:
+ Cross-link constructors and types (Albert Krewinkel).
Thanks to @bpj for the idea.
+ Sort pandoc.List methods alphabetically (Albert Krewinkel).
+ Unify, fix anchors and internal links (#6061, Albert Krewinkel).
Links and anchors now follow consistent conventions, like
lowercase-only anchor names. This breaks some links to specific
sections in the document, but will make it much easier to link
documentation in the future.
+ Clarify filter function execution order (#6059, Albert Krewinkel).
* In docs, update URLs and use `https:` wherever possible (#6090,
Salim B).
## pandoc 2.9.1.1 (2020-01-05)
* Markdown reader:

View file

@ -1,7 +1,7 @@
.\"t
.\" Automatically generated by Pandoc 2.9.1
.\" Automatically generated by Pandoc 2.9.2
.\"
.TH "Pandoc User\[aq]s Guide" "" "January 5, 2020" "pandoc 2.9.1.1" ""
.TH "Pandoc User\[aq]s Guide" "" "February 15, 2020" "pandoc 2.9.2" ""
.hy
.SH NAME
pandoc - general markup converter
@ -206,7 +206,7 @@ In this case pandoc will fetch the content using HTTP:
.IP
.nf
\f[C]
pandoc -f html -t markdown http://www.fsf.org
pandoc -f html -t markdown https://www.fsf.org
\f[R]
.fi
.PP
@ -216,7 +216,7 @@ requesting a document from a URL:
.nf
\f[C]
pandoc -f html -t markdown --request-header User-Agent:\[dq]Mozilla/5.0\[dq] \[rs]
http://www.fsf.org
https://www.fsf.org
\f[R]
.fi
.SH OPTIONS
@ -231,6 +231,8 @@ Specify input format.
.IP \[bu] 2
\f[C]creole\f[R] (Creole 1.0)
.IP \[bu] 2
\f[C]csv\f[R] (CSV table)
.IP \[bu] 2
\f[C]docbook\f[R] (DocBook)
.IP \[bu] 2
\f[C]docx\f[R] (Word docx)
@ -342,7 +344,13 @@ HTML5/XHTML polyglot markup)
.IP \[bu] 2
\f[C]ipynb\f[R] (Jupyter notebook)
.IP \[bu] 2
\f[C]jats\f[R] (JATS XML)
\f[C]jats_archiving\f[R] (JATS XML, Archiving and Interchange Tag Set)
.IP \[bu] 2
\f[C]jats_articleauthoring\f[R] (JATS XML, Article Authoring Tag Set)
.IP \[bu] 2
\f[C]jats_publishing\f[R] (JATS XML, Journal Publishing Tag Set)
.IP \[bu] 2
\f[C]jats\f[R] (alias for \f[C]jats_archiving\f[R])
.IP \[bu] 2
\f[C]jira\f[R] (Jira wiki markup)
.IP \[bu] 2
@ -406,7 +414,7 @@ HTML5/XHTML polyglot markup)
.IP \[bu] 2
\f[C]zimwiki\f[R] (ZimWiki markup)
.IP \[bu] 2
the path of a custom lua writer, see Custom writers below
the path of a custom Lua writer, see Custom writers below
.PP
Note that \f[C]odt\f[R], \f[C]docx\f[R], \f[C]epub\f[R], and
\f[C]pdf\f[R] output will not be directed to \f[I]stdout\f[R] unless
@ -603,25 +611,25 @@ above).
.IP "3." 3
\f[C]$PATH\f[R] (executable only)
.PP
Filters and lua-filters are applied in the order specified on the
Filters and Lua-filters are applied in the order specified on the
command line.
.RE
.TP
\f[B]\f[CB]-L\f[B]\f[R] \f[I]SCRIPT\f[R], \f[B]\f[CB]--lua-filter=\f[B]\f[R]\f[I]SCRIPT\f[R]
Transform the document in a similar fashion as JSON filters (see
\f[C]--filter\f[R]), but use pandoc\[aq]s build-in lua filtering system.
The given lua script is expected to return a list of lua filters which
\f[C]--filter\f[R]), but use pandoc\[aq]s build-in Lua filtering system.
The given Lua script is expected to return a list of Lua filters which
will be applied in order.
Each lua filter must contain element-transforming functions indexed by
Each Lua filter must contain element-transforming functions indexed by
the name of the AST element on which the filter function should be
applied.
.RS
.PP
The \f[C]pandoc\f[R] lua module provides helper functions for element
The \f[C]pandoc\f[R] Lua module provides helper functions for element
creation.
It is always loaded into the script\[aq]s lua environment.
It is always loaded into the script\[aq]s Lua environment.
.PP
The following is an example lua script for macro-expansion:
The following is an example Lua script for macro-expansion:
.IP
.nf
\f[C]
@ -637,7 +645,7 @@ return {{Str = expand_hello_world}}
\f[R]
.fi
.PP
In order of preference, pandoc will look for lua filters in
In order of preference, pandoc will look for Lua filters in
.IP "1." 3
a specified full or relative path (executable or non-executable)
.IP "2." 3
@ -1688,7 +1696,7 @@ include-after-body: []
include-in-header: []
resource-path: [\[dq].\[dq]]
# filters will be assumed to be lua filters if they have
# filters will be assumed to be Lua filters if they have
# the .lua extension, and json filters otherwise. But
# the filter type can also be specified explicitly, as shown:
filters:
@ -4983,7 +4991,7 @@ Thus, for example, pandoc will turn
<table>
<tr>
<td>*one*</td>
<td>[a link](http://google.com)</td>
<td>[a link](https://google.com)</td>
</tr>
</table>
\f[R]
@ -4996,7 +5004,7 @@ into
<table>
<tr>
<td><em>one</em></td>
<td><a href=\[dq]http://google.com\[dq]>a link</a></td>
<td><a href=\[dq]https://google.com\[dq]>a link</a></td>
</tr>
</table>
\f[R]
@ -5154,7 +5162,7 @@ a link:
.IP
.nf
\f[C]
<http://google.com>
<https://google.com>
<sam\[at]green.eggs.ham>
\f[R]
.fi
@ -5167,7 +5175,7 @@ the URL in parentheses.
.nf
\f[C]
This is an [inline link](/url), and here\[aq]s [one with
a title](http://fsf.org \[dq]click here for a good time!\[dq]).
a title](https://fsf.org \[dq]click here for a good time!\[dq]).
\f[R]
.fi
.PP
@ -5207,7 +5215,7 @@ Here are some examples:
\f[C]
[my label 1]: /foo/bar.html \[dq]My title, optional\[dq]
[my label 2]: /foo
[my label 3]: http://fsf.org (The free software foundation)
[my label 3]: https://fsf.org (The free software foundation)
[my label 4]: /bar#special \[aq]A title in single quotes\[aq]
\f[R]
.fi
@ -5224,7 +5232,7 @@ The title may go on the next line:
.IP
.nf
\f[C]
[my label 3]: http://fsf.org
[my label 3]: https://fsf.org
\[dq]The free software foundation\[dq]
\f[R]
.fi
@ -5684,7 +5692,7 @@ references:
issue: 4356
page: 737-738
DOI: 10.1038/171737a0
URL: http://www.nature.com/nature/journal/v171/n4356/abs/171737a0.html
URL: https://www.nature.com/articles/171737a0
language: en-GB
\&...
\f[R]
@ -5973,7 +5981,7 @@ extension.
\f[C]
This is a reference ![image][ref] with multimarkdown attributes.
[ref]: http://path.to/image \[dq]Image title\[dq] width=20px height=30px
[ref]: https://path.to/image \[dq]Image title\[dq] width=20px height=30px
id=myId class=\[dq]myClass1 myClass2\[dq]
\f[R]
.fi
@ -6723,7 +6731,7 @@ For example:
.nf
\f[C]
<audio controls=\[dq]1\[dq]>
<source src=\[dq]http://example.com/music/toccata.mp3\[dq]
<source src=\[dq]https://example.com/music/toccata.mp3\[dq]
data-external=\[dq]1\[dq] type=\[dq]audio/mpeg\[dq]>
</source>
</audio>
@ -7019,11 +7027,11 @@ reference-doc while creating docx output (see below), and maintain the
same styles in your input and output files.
.SH CUSTOM WRITERS
.PP
Pandoc can be extended with custom writers written in lua.
(Pandoc includes a lua interpreter, so lua need not be installed
Pandoc can be extended with custom writers written in Lua.
(Pandoc includes a Lua interpreter, so Lua need not be installed
separately.)
.PP
To use a custom writer, simply specify the path to the lua script in
To use a custom writer, simply specify the path to the Lua script in
place of the output format.
For example:
.IP
@ -7033,7 +7041,7 @@ pandoc -t data/sample.lua
\f[R]
.fi
.PP
Creating a custom writer requires writing a lua function for each
Creating a custom writer requires writing a Lua function for each
possible element in a pandoc document.
To get a documented example which you can modify according to your
needs, do