` (bucklereed, #3791). + `
` closes `

` and behaves like a block element generally + + Support column alignments (#1881). These can be set either + with a `width` attribute or with `text-width` in a `style` attribute. + + Modified state type to be an instance of `HasLogMessages`, so + `registerHeader` can issue warnings. + + * Txt2Tags reader: + + + Newline is not indentation (Alexander Krotov). + + * MediaWiki reader: + + + Allow extra hyphens after `|-` in tables (#2649). + + Allow blank line after table start (#2649). + + Fixed more table issues (#2649). + + Ensure that list starts begin at left margin (#2606). Including when + they're in tables or other list items. + + Make smart double quotes depend on `smart` extension (#3585). + + Don't do curly quotes inside `` contexts (#3585). Even if `+smart`. + + Modified state type to be an instance of `HasLogMessages`, so + `registerHeader` can issue warnings. + + * TWiki reader (Alexander Krotov): + + + Remove unnecessary `$` (#3597). + + Simplify `linkText` (#3605). + + * EPUB reader: + + + Minor refactoring, avoiding explicit MediaBag handling. + This all works behind the scenes in CommonState plumbing. + + * Docx reader: + + + Don't drop smartTag contents (#2242). + + Handle local namespace declarations (#3365). Previously we didn't + recognize math, for example, when the xmlns declaration occured on + the element and not the root. + + More efficient trimSps (#1530). Replacing `trimLineBreaks`. This + does the work of `normalizeSpaces` as well, so we avoid the need for + that function here. + + Avoid 0-level headers (Jesse Rosenthal, #3830). We used to parse + paragraphs styled with "HeadingN" as "nth-level header." But if a + document has a custom style named "Heading0", this will produce a + 0-level header, which shouldn't exist. We only parse this style + if N>0. Otherwise we treat it as a normal style name, and + follow its dependencies, if any. + + Add tests for avoiding zero-level header (Jesse Rosenthal). + + * ODT reader: + + + Replaced `collectRights` with Rights from `Data.Either`. + + Remove dead code (Albert Krewinkel). + + * Org reader (Albert Krewinkel, unless noted). + + + Don't allow tables inside list items (John MacFarlane, #3499). + + Disallow tables on list marker lines (#3499). + + Convert markup at beginning of footnotes (John MacFarlane, #3576). + + Allow emphasized text to be followed by `[` (#3577). + + Handle line numbering switch for src blocks. + The line-numbering switch that can be given to source blocks (`-n` with + an start number as an optional parameter) is parsed and translated to a + class/key-value combination used by highlighting and other readers and + writers. + + Stop adding rundoc prefix to src params. Source block parameter names + are no longer prefixed with `rundoc`. This was intended to simplify + working with the rundoc project, a babel runner. However, the rundoc + project is unmaintained, and adding those markers is not the reader's + job anyway. The original language that is specified for a source + element is now retained as the `data-org-language` attribute and only + added if it differs from the translated language. + + Allow multi-word arguments to src block params (#3477). The reader now + correctly parses src block parameter list even if parameter arguments + contain multiple words. + + Avoid creating `nullMeta` by applying `setMeta` directly + (Alexander Krotov). + + Replace `sequence . map` with `mapM`. + + Fix smart parsing behavior. Parsing of smart quotes and special + characters can either be enabled via the `smart` language extension or + the `'` and `-` export options. Smart parsing is active if either the + extension or export option is enabled. Only smart parsing of special + characters (like ellipses and en and em dashes) is enabled by default, + while smart quotes are disabled. Previously, all smart parsing was + disabled unless the language extension was enabled. + + Subject full doc tree to headline transformations (Albert Krewinkel, + #3695). Emacs parses org documents into a tree structure, which is + then post-processed during exporting. The reader is changed to do the + same, turning the document into a single tree of headlines starting + at level 0. + + Fix cite parsing behaviour (Herwig Stuetz). Until now, `org-ref` + cite keys included special characters also at the end. This caused + problems when citations occur right before colons or at the end of + a sentence. With this change, all non alphanumeric characters at + the end of a cite key are ignored. This also adds `,` to the list + of special characters that are legal in cite keys to better mirror + the behaviour of org-export. + + Fix module names in haddock comments. Copy-pasting had lead to + haddock module descriptions containing the wrong module names. + + Recognize babel result blocks with attributes (#3706). Babel + result blocks can have block attributes like captions and names. + Result blocks with attributes were not recognized and were parsed + as normal blocks without attributes. + + Include tags in headlines. The Emacs default is to include tags in the + headline when exporting. Instead of just empty spans, which contain the + tag name as attribute, tags are rendered as small caps and wrapped in + those spans. Non-breaking spaces serve as separators for multiple tags. + + Respect export option for tags (#3713). Tags are appended to + headlines by default, but will be omitted when the `tags` export option + is set to nil. + + Use `tag-name` attribute instead of `data-tag-name`. + + Use `org-language` attribute rather than `data-org-language`. + + Modified state type to be an instance of `HasLogMessages`, so + `registerHeader` can issue warnings. + + End footnotes after two blank lines. Footnotes can not only be + terminated by the start of a new footnote or a header, but also by two + consecutive blank lines. + + Update emphasis border chars (#3933). The org reader was updated to + match current org-mode behavior: the set of characters which are + acceptable to occur as the first or last character in an org emphasis + have been changed and now allows all non-whitespace chars at the + inner border of emphasized text (see `org-emphasis-regexp-components`). + + * RST reader: + + + Fixed small bug in list parsing (#3432). Previously the parser didn't + handle properly this case: + + * - a + - b + * - c + - d + + Handle multiline cells in simple tables (#1166). + + Parse list table directive (Keiichiro Shikano, #3432). + + Make use of `anyLineNewline` (Alexander Krotov, #3686). + + Use `anyLineNewline` in `rawListItem` (Alexander Krotov, #3702). + + Reorganize block parsers for ~20% faster parsing. + + Fixed `..include::` directive (#3880). + + Handle blank lines correctly in line blocks (Alexander Krotov, #3881). + Previously pandoc would sometimes combine two line blocks separated + by blanks, and ignore trailing blank lines within the line block. + + Fix indirect hyperlink targets (#512). + + * Markdown reader: + + + Allow attributes in reference links to start on next line (#3674). + + Parse YAML metadata in a context that sees footnotes defined in + the body of the document (#1279). + + When splitting pipe table cells, skip tex math (#3481). + You might have a `|` character inside math. (Or for that matter + something that the parser might mistake for raw HTML.) + + Treat span with class `smallcaps` as SmallCaps. + This allows users to specify small caps in Markdown this way: + `[my text]{.smallcaps}` (#1592). + + Fixed internal header links (#2397). + This patch also adds `shortcut_reference_links` to the list + of mmd extensions. + + Treat certain environments as inline + when they occur without space surrounding them (#3309, #2171). + E.g. equation, math. This avoids incorrect vertical space + around equations. + + Optimized `nonindentSpaces`. Makes the benchmark go from 40 to 36 ms. + + Allow latex macro definitions indented 1-3 spaces. + Previously they only worked if nonindented. + + Improved parsing of indented raw HTML blocks (#1841). + Previously we inadvertently interpreted indented HTML as + code blocks. This was a regression. We now seek to determine the + indentation level of the contents of an HTML block, and (optionally) + skip that much indentation. As a side effect, indentation may be + stripped off of raw HTML blocks, if `markdown_in_html_blocks` is + used. This is better than having things interpreted as indented + code blocks. + + Fixed smart quotes after emphasis (#2228). E.g. in `*foo*'s 'foo'`. + + Warn for notes defined but not used (#1718). + + Use `anyLineNewline` (Alexander Krotov). + + Interpret YAML metadata as Inlines when possible (#3755). If + the metadata field is all on one line, we try to interpret it as + Inlines, and only try parsing as Blocks if that fails. If it + extends over one line (including possibly the `|` or `>` character + signaling an indented block), then we parse as Blocks. This was + motivated by some German users finding that `date: '22. Juin 2017'` + got parsed as an ordered list. + + Fixed spurious parsing as citation as reference def (#3840). + We now disallow reference keys starting with `@` if the + `citations` extension is enabled. + + Parse `-@roe` as suppress-author citation (pandoc-citeproc#237). + Previously only `[-@roe]` (with brackets) was recognized as + suppress-author, and `-@roe` was treated the same as `@roe`. + + Fixed parsing of fenced code after list when there is no intervening + blank line (#3733). + + Allow raw latex commands starting with `\start` (#3558). Previously + these weren't allowed because they were interpreted as starting + ConTeXt environments, even without a corresponding `\stop`... + + Added `inlines`, `inlines1`. + + Require nonempty alt text for `implicit_figures` (#2844). + A figure with an empty caption doesn't make sense. + + Removed texmath macro material; now all this is handled + in the LaTeX reader functions. + + Fixed bug with indented code following raw LaTeX (#3947). + + * LaTeX reader: + + + Rewrote LaTeX reader with proper tokenization (#1390, + #2118, #3236, #3779, #934, #982). This rewrite is primarily + motivated by the need to get macros working properly. A side benefit + is that the reader is significantly faster. We now tokenize the + input text, then parse the token stream. Macros modify the token + stream, so they should now be effective in any context, including + math. Thus, we no longer need the clunky macro processing + capacities of texmath. + + Parse `\,` to `\8198` (six-per-em space) (Henri Werth). + + Allow `\newcommand\foo{blah}` without braces. + + Support `\lstinputlisting` (#2116). + + Issue warnings when skipping unknown latex commands (#3392). + + Include contents of `\parbox`. + + Allow `\hspace` and `\vspace` to count as raw block or inline. + Previously we would refuse to parse anything as raw inline if + it was in the `blockCommands` list. Now we allow exceptions + if they're listed under ignoreInlines in inlineCommands. + This should make it easier e.g. to include an `\hspace` + between two side-by-side raw LaTeX tables. + + Don't drop contents of `\hypertarget`. + + Handle spaces before `\cite` arguments. + + Allow newpage, clearpage, pagebreak in inline contexts as well as + block contexts (#3494). + + Treat `{{xxx}}` the same as `{xxx}` (#2115). + + Use `pMacroDefinition` in macro (for more direct parsing). + Note that this means that `macro` will now parse one + macro at a time, rather than parsing a whole group together. + + Fixed failures on \ref{}, \label{} with `+raw_tex`. Now these + commands are parsed as raw if `+raw_tex`; otherwise, their argument + is parsed as a bracketed string. + + Don't crash on empty `enumerate` environment (#3707). + + Handle escaped `&` inside table cell (#3708). + + Handle block structure inside table cells (#3709). `minipage` is no + longer required. + + Handle some width specifiers on table columns (#3709). Currently + we only handle the form `0.9\linewidth`. Anything else would have + to be converted to a percentage, using some kind arbitrary assumptions + about line widths. + + Make sure `\write18` is parsed as raw LaTeX. The change is in the + LaTeX reader's treatment of raw commands, but it also affects the + Markdown reader. + + Fixed regression with starred environment names (#3803). + + Handle optional args in raw `\titleformat` (#3804). + + Improved heuristic for raw block/inline. An unknown command at the + beginning of the line that could be either block or inline is + treated as block if we have a sequence of block commands followed by + a newline or a `\startXXX` command (which might start a raw ConTeXt + environment). + + Don't remove macro definitions from the output, even if + `Ext_latex_macros` is set, so that macros will be applied. + Since they're only applied to math in Markdown, removing the macros + can have bad effects. Even for math macros, keeping them should be + harmless. + + Removed `macro`. It is no longer necessary, since the + `rawLaTeXBlock` parser will parse macro definitions. This also avoids + the need for a separate `latexMacro` parser in the Markdown reader. + + Use `label` instead of `data-label` for label in caption (#3639). + + Fixed space after \figurename etc. + + Resolve references to section numbers. + + Fix `\let\a=0` case, with single character token. + + Allow `@` as a letter in control sequences. `@` is commonly used + in macros using `\makeatletter`. Ideally we'd make the tokenizer + sensitive to `\makeatletter` and `\makeatother`, but until then this + seems a good change. + + Track header numbers and correlate with labels. + + Allow `]` inside group in option brackets (#3857). + + lstinline with braces can be used (verb cannot be used with braces) + (Marc Schreiber, #3535). + + Fix keyval funtion: pandoc did not parse options in braces correctly + (Marc Schreiber, #3642). + + When parsing raw LaTeX commands, include trailing space (#1773). + Otherwise things like `\noindent foo` break and turn into + `\noindentfoo`. Affects `-f latex+raw_tex` and `-f markdown` (and other + formats that allow `raw_tex`). + + Don't treat "..." as Quoted (#3958). This caused quotes to be omitted in + `\texttt` contexts. + + Add tests for existing `\includegraphics` behaviour (Ben Firshman). + + Allow space before `=` in bracketd options (Ben Firshman). + + Be more forgiving in parsing command options. This was needed, for + example, to make some minted options work. + + Strip off quotes in `\include` filenames. + + * Added `Text.Pandoc.CSV`, simple (unexported) CSV parser. + + * `Text.Pandoc.PDF`: + + + Got `--resource-path` working with PDF output (#852). + + Fetch images when generating PDF via context (#3380). + To do this, we create the temp directory as a subdirectory + of the working directory. Since context mk IV by default looks + for images in the parent directory, this works. + + Use `report` instead of `warn`, make it sensitive to verbosity settings. + + Use `fillMediaBag` and `extractMedia` to extract media to temp dir. + This reduces code duplication. + + `html2pdf`: use stdin instead of intermediate HTML file + + Removed useless `TEXINPUTS` stuff for `context2pdf`. mkiv context + doesn't use `TEXINPUTS`. + + * `Text.Pandoc.Pretty`: + + + Simplified definition of `realLength`. + + Don't error for blocks of size < 1. Instead, resize to 1 (see #1785). + + * `Text.Pandoc.MIME`: + + + Use `application/javascript` (not `application/x-javascript`). + + Added `emf` to mimeTypes with type `application/x-msmetafile` (#1713). + + * `Text.Pandoc.ImageSize`: + + + Improve SVG image size code (Marc Schreiber, #3580). + + Make `imageSize` recognize basic SVG dimensions (Mauro Bieg, #3462). + + * Use `Control.Monad.State.Strict` throughout. This gives 20-30% speedup + and reduction of memory usage in most of the writers. + + * Use `foldrWithKey` instead of deprecated `foldWithKey`. + + * `Text.Pandoc.SelfContained`: + + + Fixed problem with embedded fonts (#3629). + + Refactored getData from `getDataURI` in `SelfContained`. + + Don't use data URIs for script or style (#3423). Instead, just use + script or style tags with the content inside. The old method with + data URIs prevents certain optimizations outside pandoc. Exception: + data URIs are still used when a script contains `` or a + style contains `. With this change, pandoc's + html5 writer creates HTML that is both valid HTML5 and valid XHTML. + + Regularized CSS in html/epub/html slide templates (#3485). + All templates now include `code{white-space: pre-wrap}` + and CSS for `q` if `--html-q-tags` is used. Previously some templates + had `pre` and others `pre-wrap`; the `q` styles were only sometimes + included. + + CSS for `.smallcaps`, (Mauro Bieg, #1592) + + `default.revealjs`: make `history` default to true. + + `default.revealjs`: use lazy loading (#2283). + + `default.revealjs`: add `mathjax` variable and some conditional code + to use the MathJaX plugin. + + `default.slidy` uses `https` instead of `http` (ickc, #3848). + + `default.dzslides`: Load Google Font using HTTPS by default + (Yoan Blanc). + + * DocBook5 template: Use `lang` and `subtitle` variables (Jens Getreu, + #3855). + + * LaTeX/Beamer template: + + + Combine LaTeX/Beamer templates (Andrew Dunning, #3878). + `default.beamer` has been removed; beamer now uses the + `default.latex` template. Beamer-specific parts are conditional + on the `beamer` variable set by the writer. Note that + `pandoc -D beamer` will return this (combined) template. + + Use `xcolor` for `colorlinks` option (Andrew Dunning, #3877). + Beamer loads `xcolor` rather than `color`, and thus the + `dvipsnames` option doesn't take effect. This also provides a wider + range of colour selections with the `svgnames` option. + + Use starred versions of `xcolor` names (Andrew Dunning). + Prevents changes to documents defined using the `dvipsnames` list (e.g. + `Blue` gives a different result with svgnames enabled). + + Load `polyglossia` after header-includes (#3898). It needs to be + loaded as late as possible. + + Use `unicode-math` (Vaclav Haisman). Use `mathspec` with only + XeLaTeX on request. + + Don't load `fontspec` before `unicode-math` (over there). + The `unicode-math` package loads `fontspec` so explict loading of + `fontspec` before `unicode-math` is not necessary. + + Use `unicode-math` by default in default.latex template. mathspec will + be used in xelatex if the `mathspec` variable is set; otherwise + unicode-math will be used (Václav Haisman). + + Use `dvipsnames` options when `colorlinks` specified (otherwise + we get an error for `maroon`) (Thomas Hodgson). + + Added beamer `titlegraphic` and `logo` variables (Thomas Hodgson). + + Fix typo in fix for notes in tables (#2378, zeeMonkeez). + + Fix `hyperref` options clash (Andrew Dunning, #3847) Avoids an options + clash when loading a package (e.g. `tufte-latex`) that uses + `hyperref` settings different from those in the template. + + Add `natbiboptions` variable (#3768). + + Fix links inside captions in LaTeX output with links-as-notes + (Václav Haisman, #3651). Declare our redefined `\href` robust. + + Load `parskip` before `hyperref` (Václav Haisman, #3654). + + Allow setting Japanese fonts when using LuaLaTeX (Václav Haisman, + #3873). by using the `luatexja-fontspec` and `luatexja-preset` + packages. Use existing `CJKmainfont` and `CJKoptions` template + variables. Add `luatexjafontspecoptions` for `luatexja-fontspec` + and `luatexjapresetoptions` for `luatexja-preset`. + + Added `aspectratio` variable to beamer template (Václav Haisman, + #3723). + + Modified template.latex to fix XeLaTex being used with tables + (lwolfsonkin, #3661). Reordered `lang` variable handling to + immediately before `bidi`. + + * ConTeXt template: Improved font handling: `simplefonts` is now + obsolete in ConTeXt (Pablo Rodríguez). + + + [documentation improvements] + + * MANUAL.txt: + + + Add URL for Prince HTML > PDF engine (Ian, #3919). + + Document that content above slide-level will be omitted in + slide shows. See #3460, #2265. + + Explain `--webtex` SVG url (Mauro Bieg, #3471) + + Small clarification in YAML metadata section. + + Document that html4 is technically XHTML 1.0 transitional. + + Remove refs to highlighting-kate (#3672). + + Document ibooks specific epub metadata. + + Clarify that mathml is used for ODT math. + + Mention limitations of Literate Haskell Support (#3410, + Joachim Breitner). + + Add documentation of limitations of grid tables (Stephen + McDowell, #3864). + + Clarify that meta-json contains transformed values (Jakob Voß, + #3491) Make clear that template variable `meta-json` does not + contain plain text values or JSON output format but field values + transformed to the selected output format. + + * COPYRIGHT: + + + Clarify that templates are dual-licensed. + + Clarify that pandoc-types is BSD3 licensed. + + List new files not written by jgm (Albert Krewinkel). + + Update dates in copyright notices (Albert Krewinkel). This follows + the suggestions given by the FSF for GPL licensed software. + + + * INSTALL.md: + + + Improved instructions for tests with patterns. + + Put RPM-based distros on separate point (Mauro Bieg, #3449) + + * CONTRIBUTING.md: + + + Fixed typos (Wandmalfarbe, #3479). + + Add "ask on pandoc-discuss" (Mauro Bieg). + + * Add lua filter documentation in `doc/lua-filters.md`. Note that the + end of this document is autogenerated from `data/pandoc.lua` + using `make doc/lua-filters.md`, which uses `tools/ldoc.ltp` + (Albert Krewinkel). + + * Add `doc/filters.md`. This is the old scripting tutorial from + the website. + + + [build infrastructure improvements] + + * Removed `data/templates` submodule. Templates are now a subtree + in `data/templates`. This removes the need to do `git submodule + update`. + + * Renamed `tests` -> `test`. + + * Remove `https` flag. Always build with HTTPS support. + + * Use `file-embed` instead of `hsb2hs` to embed data files when + `embed_data_files` flag is set. `file-embed` gives us better dependency + tracking: if a data file changes, ghc/stack/cabal know to recompile + the Data module. This also removes `hsb2hs` as a build dependency. + + * Add `custom-setup` stanza to pandoc, lowercase field names. + + * Add `static` Cabal flag. + + * Name change OSX -> MacOS. Add a -MacOS suffix to mac package rather + than -OSX. Changed local names from osx to macos. + + * make_macos_package.sh - Use strip to reduce executable size. + + * Strip executables in linux package. + + * Remove cpphs build requirement -- it is no longer needed. + + * Replaced `{deb,macos,windows}/stack.yaml` with `stack.pkg.yaml`. + + * Added `linux` directory. This provides a Makefile and Dockerfile + sufficient for producing a linux executable. If Docker is installed, + this should suffice: `make setup && make build`. The binary will be + placed in `artifacts/`. + + * `linux/control.in`: add `Replaces:`, so existing pandoc-citeproc and + pandoc-data packages will be uninstalled; this package provides + both (#3822). Add latex packages as 'suggested', update + description. + + * Name change OSX -> macOS (ickc, #3869). + + * Fix casing of Linux, UNIX, and Windows (ickc). + + * `.travis.yml`: create a source dist and do cabal build and test there. + That way we catch errors due to files missing from the data + section of pandoc.cabal. + + * Makefile: + + + Split `make haddock` from `make full`. + + Add BRANCH variable for winpkg. + + Add `lint` target. + + Improve `make full`. Disable optimizations. + Build everything, inc. trypandoc and benchmarks. Use parallel build. + + Allow `make test` to take `TESTARGS`. + + * Added new command tests (`Tests.Command`), using small text files + in `test/command/`. Any files added in this directory will be treated + as shell tests (see smart.md for an example). This makes it very easy + to add regression tests etc. + + * Test fixes so we can find data files. In old tests & command tests, + we now set the environment variable `pandoc_datadir`. In lua tests, + we set the datadir explicitly. + + * Refactored `compareOutput` in docx writer test. + + * Consolidated some common functions in `Tests.Helper`. + + * Small change to unbalanced bracket test to speed up test suite. + + * Speed up Native writer quickcheck tests. + + * Use tasty for tests rather than test-framework. + + * Add simple Emacs mode to help with Pandoc templates editing. + (Václav Haisman, #3889). `tools/pandoc-template-mode.el` + + pandoc (1.19.2) * Use skylighting library instead of highlighting-kate for syntax -- cgit v1.2.3