github jgm/pandoc 1.16
pandoc 1.16

latest releases: 3.1.13, pandoc-lua-engine-0.2.1.4, pandoc-cli-3.1.13...
8 years ago

pandoc (1.16)

  • Added Attr field to Link and Image (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 now mmd_link_attributes, and link_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 from Text.Pandoc.Options
  • Changed type of writerWrapText in WriterOptions from Bool to WrapOption.
  • Modified Text.Pandoc.Shared functions to allow SoftBreak.
  • Supported SoftBreak in readers and writers.
  • Text.Pandoc.Options: Added writerDpi to WriterOptions (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 not cz) (#2597).
  • Implemented east_asian_line_breaks extension (#2586). In Text.Pandoc.Options, added Ext_east_asian_line_breaks constructor to Extension (API change). This extension is like ignore_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 variables margin-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 now WriterOptions -> 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 to writeOpenDocument.
  • 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. If geometry has no value, but margin-left, margin-right, margin-top, and/or -margin-bottom are given, a default value for geometry is created from these. Note that these variables already affect PDF production via HTML5 with wkhtmltopdf.
  • ConTeXt writer: set default layout based on margin-left, etc. This sets up \setuplayout based on the variables margin-left, margin-right, margin-bottom, and margin-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 and raw_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 when indent isn't set (fall back to using setlength as before if parskip.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 say papersize: a4 and the latex will contain a4paper. This change may break some existing workflows; if you currently specify a4paper, you'll get a4paperpaper which is meaningless. However, the change seems worth it, as it will make the papersize 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 for subtitle, 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, and frame. Note that this changes the default behavior from horizontal to empty. Closes #2543.
  • Added toc to HTML slide format templates (Andrew Dunning), so that --toc creates a contents slide.
  • Added stack.full.yaml to build pandoc-citeproc as well.
  • Allow pipe tables with no body rows (#2556). Previously this raised a runtime error.
  • Shared: Improved fetchItem so that C:/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: use safeRead instead of readMaybe, 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 of KeyTable (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.

Don't miss a new pandoc release

NewReleases is sending notifications on new releases.