pandoc (1.16)
- Added
Attr
field toLink
andImage
(Mauro Bieg, #261, API change). - Added syntax for link and image attributes to pandoc's Markdown.
- Updated readers and writers to use link and image attributes when appropriate.
- Support image attributes in Docx, Textile, RST readers.
- Renamed link attribute extensions. The old
link_attributes
is nowmmd_link_attributes
, andlink_attributes
now enables the new pandoc-style link and image attributes (API change). Note: this change could break some existing workflows. - Implemented
SoftBreak
and new--wrap
option (#1701, API change). Added threefold wrapping option. - Command line option: deprecated
--no-wrap
, added--wrap=[auto|none|preserve]
- Added
WrapOption
, exported fromText.Pandoc.Options
- Changed type of
writerWrapText
inWriterOptions
fromBool
toWrapOption
. - Modified
Text.Pandoc.Shared
functions to allowSoftBreak
. - Supported
SoftBreak
in readers and writers. - Text.Pandoc.Options: Added
writerDpi
toWriterOptions
(API change, Mauro Bieg). - Added
--dpi
command-line option (Mauro Bieg). - Rationalized behavior of
--no-tex-ligatures
and--smart
(#2541). This change makes--no-tex-ligatures
affect the LaTeX reader as well as the LaTeX and ConTeXt writers. If it is used, the LaTeX reader will parse characters ```,'
, and `-` literally, rather than parsing ligatures for quotation marks and dashes. And the LaTeX writer will print unicode quotation mark and dash characters literally, rather than converting them to the standard ASCII ligatures. Note that `--smart` has no effect on the LaTeX reader. `--smart` is still the default for all input formats when LaTeX or ConTeXt is the output format, unless `--no-tex-ligatures` is used.
Some examples to illustrate the logic:
% echo "'hi'" | pandoc -t latex
`hi'
% echo "'hi'" | pandoc -t latex --no-tex-ligatures
'hi'
% echo "'hi'" | pandoc -t latex --no-tex-ligatures --smart
‘hi’
% echo "'hi'" | pandoc -f latex --no-tex-ligatures
<p>'hi'</p>
% echo "'hi'" | pandoc -f latex
<p>’hi’</p>
- Removed deprecated options
--offline
and--html5
. - Fixed language code for Czech (
cs
notcz
) (#2597). - Implemented
east_asian_line_breaks
extension (#2586). InText.Pandoc.Options
, addedExt_east_asian_line_breaks
constructor toExtension
(API change). This extension is likeignore_line_breaks
, but smarter -- it only ignores line breaks between two East Asian wide characters. This makes it better suited for writing with a mix of East Asian and non-East Asian scripts. - Added support for PDF creation via
wkhtmltopdf
. To use this:pandoc -t html5 -o result.pdf
(and add--mathjax
if you have math.) Margins can be set using the variablesmargin-top
,margin-bottom
,margin-left
,margin-right
. Other styling can be done through CSS. - Fixed cite key parsing regression (jgm/pandoc-citeproc#201). We were capturing final colons as in
[@foo: bar]
; the citation id was being parsed as@foo:
. - ICML writer:
- Fixed image syntax for local files (#2589).
- Changed type of
writeICML
(Mauro Bieg). API change: It is nowWriterOptions -> Pandoc -> IO String
. Also handle new image attributes. - Intersperse line breaks instead of appending them to every
ParagraphStyleRange
(Mauro Bieg, #2501). - Add
Cite
style to citations (Mauro Bieg). - Added figure handling (#2590, Mauro Bieg).
- Better handling of math. Instead of just printing the raw tex, we now try to fake it with unicode characters.
- HTML writer: Include
example
class for example lists (#2524). - ODT/OpenDocument writer: improved image attributes (Mauro Bieg).
- Support for percentage widths/heights
- Use
Attr
instead of title to get dimensions from ODT walker towriteOpenDocument
. - AsciiDoc writer:
- Support anchors in spans and divs with id elements (jgm/pandoc-citeproc#143).
- Fixed code blocks (#1861).
- Haddock writer: omit formatting inside links, which isn't supported by Haddock (#2515).
- MediaWiki writer: Fixed spacing issues in table cells.
- Start cell on new line unless it's a single Para or Plain (#2606).
- For single Para or Plain, insert a space after the
|
to avoid problems when the text begins with a character like-
(#2604). - Beamer writer: mark frame as fragile when it contains verbatim (#1613).
- LaTeX writer:
- Add support for GAP highlighting using listings (Raniere Silva).
- Consider
header-includes
content as well as templates when determining whether to use csquotes (Andreas Lööw). - Create defaults for geometry using
margin-left
etc. Ifgeometry
has no value, butmargin-left
,margin-right
,margin-top
, and/or-margin-bottom
are given, a default value forgeometry
is created from these. Note that these variables already affect PDF production via HTML5 withwkhtmltopdf
. - ConTeXt writer: set default layout based on
margin-left
, etc. This sets up\setuplayout
based on the variablesmargin-left
,margin-right
,margin-bottom
, andmargin-top
, if no layout is given. - Docx writer: better handling of PDF images. Previously we tried to get the image size from the image even if an explicit size was specified. Since we still can't get image size for PDFs, this made it impossible to use PDF images in docx. Now we don't try to get the image size when a size is already explicitly specified.
- Markdown writer: use raw HTML for link/image attributes when the
link_attributes
extension is unset andraw_html
is set (#2554). - MediaWiki reader: interpret markup inside
<tt>
,<code>
(#2607). - LaTeX reader:
- Improved smart quote parsing (#2555). This fixes redering of unmatched quotes.
- Use curly quotes for unmatched ` (#2555).
- Allow blank space between braced arguments of commands (#2592).
- Markdown reader:
- Improved pipe table relative widths. Previously pipe table columns got relative widths (based on the header underscore lines) when the source of one of the rows was greater in width than the column width. This gave bad results in some cases where much of the width of the row was due to nonprinting material (e.g. link URLs). Now pandoc only looks at printable width (the width of a plain string version of the source), which should give better results. Thanks to John Muccigrosso for bringing up the issue.
- Fixed parsing bug with macros. Previously macro definitions in indented code blocks were being parsed as macro definitions, not code.
- Textile reader: skip over attribute in image source (#2515). We don't have a place yet for styles or sizes on images, but we can skip the attributes rather than incorrectly taking them to be part of the filename.
- Docx reader: Handle dummy list items (Jesse Rosenthal). These come up when people create a list item and then delete the bullet. It doesn't refer to any real list item, and we used to ignore it.
- CommonMark reader/writer rewritten to use latest
cmark
. - Fixed Emoji character definitions (#2523). There were many bugs in the definitions.
Text.Pandoc.CSS
:- Added
pickStylesToKVs
function to extract multiple properties at once (API change, Mauro Bieg). - Parse CSS that doesn't contain the optional semicolon (Mauro Bieg).
trypandoc
: sort drop-down lists.- Beamer template:
- Made
\euro
conditional on presence of character. for xelatex and lualatex, as it is for pdflatex (Andrew Dunning). - Moved
header-includes
before setting of title (Thomas Hodgson), to match the LaTeX template (jgm/pandoc-templates#168). - Added
section-titles
variable (defaults to true) to enable/suppress section title pages in beamer slide shows (Thomas Hodgson). - Moved beamer themes after fonts, so that themes can change fonts. (Previously the fonts set were being clobbered by lmodern.sty.) (Thomas Hodgson).
- Beamer/LaTeX template changes (Thomas Hodgson):
- Added
thanks
variable - Use
parskip.sty
whenindent
isn't set (fall back to usingsetlength
as before ifparskip.sty
isn't available). - Use
biblio-style
with biblatex. - Added
biblatexoptions
variable. - LaTeX template changes:
- Added
paper
after$papersize$
variable in latex template. Thus you can saypapersize: a4
and the latex will containa4paper
. This change may break some existing workflows; if you currently specifya4paper
, you'll geta4paperpaper
which is meaningless. However, the change seems worth it, as it will make thepapersize
variable work uniformly across ConTeXt, LaTeX, and html->pdf via wkhtmltopdf. - Only pass options to color package if
colorlinks
is set (Andrew Dunning). - Make definition of
\euro
conditional in xelatex/lualatex, as it is already for pdflatex (Andrew Dunning). - Removed setting of
subject
in PDF metadata. This used to be set to the subtitle, but really the subtitle need not give the subject. Also,subtitle
can contain formatting, so we'd need, at least, a plain text version for this. - Moved
header-includes
before setting of\title
,\author
, etc. This allows these macros to be redefined. - Use
\subtitle
command forsubtitle
, instead of tacking it on to the title as before. We give a no-op fallback definition if it is not defined. This change should produce much better results in classes that support\subtitle
. With the default article class, which does not define\subtitle
, subtitles will no longer be printed unless the user defines\subtitle
and redefines\maketitle
. - Moved redefinitions of
\paragraph
and\subparagraph
to before header-includes. - Context template:
- Use
simplefonts
for font loading (Paolo Rodríguez). This is needed for things to work on ConTeXt stable from TeXLive 2015. - Revert use of
\setuphead
in title block (Andrew Dunning, Rik Kabel). - Update LaTeX/ConTeXt link colour usage (Andrew Dunning).
- Fixed man template so disabling hyphenation actually works. The command needs to come after .TH.
- Added 'navigation' variable to beamer template (#2543). Valid values are
empty
(the default),horizontal
,vertical
, andframe
. Note that this changes the default behavior fromhorizontal
toempty
. Closes #2543. - Added
toc
to HTML slide format templates (Andrew Dunning), so that--toc
creates a contents slide. - Added
stack.full.yaml
to buildpandoc-citeproc
as well. - Allow pipe tables with no body rows (#2556). Previously this raised a runtime error.
- Shared: Improved
fetchItem
so thatC:/Blah/Blah.jpg
isn't treated as URL. The Haskell URI parsing routines will accept "C:" as a scheme, so we rule that out manually. This helps with--self-contained
and absolute Windows paths. - Define a
meta-json
variable for all writers (#2019). This contains a JSON version of all the metadata, in the format selected for the writer. So, for example, to get just the YAML metadata, you can run pandoc with the following custom template:$meta-json$
. The intent is to make it easier for static site generators and other tools to get at the metadata. - Document limitations of --self-contained (#2553).
- Improved Citations section of README (#2551). Added information about
link-citations
and a link to the pandoc-citeproc man page. ImageSize
: usesafeRead
instead ofreadMaybe
, which isn't in base < 4.6.- Allow .adoc file extension for AsciiDoc (Andrew Dunning).
- Improved implicit pandoc-citeproc inclusion. The filter pandoc-citeproc is automatically used when
--bibliography
is specified on the command line, unless--natbib
or--biblatex
is used. However, previously this only worked if--bibliography
was spelled out in full, and not if--biblio
was used. - reveal.js: Interpret pauses correctly for all headers (#2530). Previously, when using headers below the slide level, pauses are left uninterpreted into pauses. In my opinion, unexpected behavior but intentional looking at the code.
- Remove redundant
center
variable for reveal.js (Andrew Dunning). - Parsing: Add
extractIdClass
, modified type ofKeyTable
(Mauro Bieg, API change). - ImageSize: Added functions for converting between image dimensions (Mauro Bieg).
- Use lts-3.18 in stack.yaml. This avoids Windows build issues with the HTTP library.
- Bump version bounds for dependencies.