43 research outputs found

    jgm/pandoc: pandoc 2.17

    No full text
    Click to expand changelog - Support `markua` as an output format (#1871, Tim Wisotzki and Saumel Lemmenmeier). Markua is a markdown variant used by Leanpub. - Add text wrapping for HTML output (#7764). Previously the HTML writer was exceptional in not being sensitive to the `--wrap` option. With this change `--wrap` now works for HTML. The default (as with other formats) is automatic wrapping. Note that the contents of `script`, `textarea`, and `pre` tags are always laid out with the `flush` combinator, so that unwanted spaces won't be introduced if these occur in an indented context in a template. - Don't read sources until in/out format are verified (#7797). - Issue error with `--list-extensions` for invalid formats (#7797). - Make `--citeproc` recognize `.yml` as well as `.yaml` extensions as YAML bibliography files (#7707, Jörn Krenzer). - Use latest version of KaTeX with `--katex`. - Fix parsing of footnotes in `--metadata-file` (#7813). Previously non-inline footnotes were not being parsed. - ODT reader: - Parse list-header as a list item (Tuong Nguyen Manh). - Commonmark reader: - Put sourcepos attribute on header, not enclosing div with `-f commonmark+sourcepos` (#7769). - Markdown reader: - Don't allow `^` at beginning of link or image label (#7723). This is reserved for footnotes. Fixes regression from 0a93acf. - Fix parsing of "bare locators" after author-in-text citations. Previously `@item [p. 12; @item2]` was incorrectly parsed as three citations rather than two. This is now fixed by ensuring that `prefix` doesn't gobble any semicolons. - Revert changes to `inlinesInBalancedBrackets` (commit fa83246), which caused regressions. - Improve detection of pipe table line widths (#7713). Fixed calculation of maximum column widths in pipe tables. It is now based on the length of the markdown line, rather than a "stringified" version of the parsed line. This should be more predictable for users. In addition, we take into account double-wide characters such as emojis. - Custom (Lua) readers: - First argument is now a list of sources instead of the concatenated text (Albert Krewinkel). The list structure can easily be converted to a string by applying `tostring`, but it is also possible to access the elements (each with a `text` and `name`). A small example is added to the custom reader documentation, showcasing its use in a reader that creates a syntax-highlighted code block for each source code file passed as input. Existing readers will still work through a fallback mechanism, issuing a deprecation notice. - Org reader: - Parse official org-cite citations (#7329). We also support the older org-ref style as a fallback. We no longer support the "markdown style" or "Berkeley style" citations. - Support alphabetical (fancy) lists (Lucas Viana). When the `fancy_lists` extension is enabled, alphabetical list markers are allowed, mimicking the behaviour of Org Mode when `org-list-allow-alphabetical` is enabled. - Support counter cookies in lists (Lucas Viana). Such cookies are used to override the item counter in ordered lists. In org it is possible to set the counter at any list item, but since Pandoc AST does not support this, we restrict the usage to setting an offset for the entire ordered list, by using the cookie in the first list item. - Allow trailing spaces after key/value pairs in directives (Albert Krewinkel). Ensures that spaces at the end of attribute directives like `#+ATTR_HTML: :width 100%` (note the trailing spaces) are accepted. - LaTeX reader: - Omit visible content for `\label{...}`. Previously we included the text of the label in square brackets, but this is undesirable in many cases. See discussion in . - Improve references (#813). Resolve references to theorem environments. Remove the Span caused by "label" in figure, table, and theorem environments; this had an id that duplicated the environments' id. - Fix semantics of `\ref`. We were including the ams environment type in addition to the number. This is proper behavior for `\cref` but not for `\ref`. To support `\cref` we need to store the environment label separately. - Add babel mappings for Guajati (gu) and Oriya (or) (#7815). - Fix typo `panjabi` -\> `punjabi` in babel mappings (#7814). - HTML reader: - Parse attributes on links and images (#6970). - Docx reader: - Handle multiple pic elements inside a drawing (#7786). - Change `elemToParPart` to return `[ParPart]` instead of `ParPart`. Also remove `NullParPart`constructor, as it is no longer needed. This will allow us to handle elements that contain multiple ParParts, e.g. `w:drawing` elements with multiple `pic:pic`. - DocBook reader: - Collapse internal spaces in literal and other similar tags (#7821), as the standard docbook toolchain does. - Be sensitive to spacing="compact" in lists (#7799). When `spacing="compact"` is set, Para elements are turned into Plain, so we get a "tight" list. - Markdown writer: - Add new exported function `writeMarkua` from Text.Pandoc.Writers.Markdown APIchangeAPI change (#1871, Tim Wisotzki and Saumel Lemmenmeier). - Fix indentation issue in footnotes (#7801). - Avoid extra space before citation suffix if it already starts with a space. - Ensure semicolon between the locator and the next citation when an author-in-text citation has a locator and following citations. - Improve escaping for `#` (#7726). - Custom (Lua) writers: - Allow variables to be set via second return value of `Doc` (#6731, Albert Krewinkel). New templates variables can be added by giving variable-value pairs as a second return value of the global function `Doc`. Example: function Doc (body, meta, vars) vars.date = vars.date or os.date '%B %e, %Y' return body, vars end - Provide global `PANDOC_WRITER_OPTIONS` (#6731, Albert Krewinkel). - Assign default Pandoc object to global `PANDOC_DOCUMENT` (Albert Krewinkel). The default Pandoc object is now non-strict, i.e., only the parts of the document that are accessed will be marshaled to Lua. A special type is no longer necessary. This change also makes it possible to use the global variable with library functions such as `pandoc.utils.references`, or to inspect the document contents with `walk()`. - LaTeX writer: - Fix typo `panjabi` -\> `punjabi` in babel mappings (#7814). - MediaWiki writer: - Remove redundant display text for wiki links (Jesse Hathaway). - Docx writer: - Handle bullets correctly in lists by not reusing numIds (#7689, Michael Hoffmann). This fixes a bug in which a Div in a list item would receive bullets on its contained paragraphs. - Org writer: - Fix list items starting with a code block or other non-paragraph content (#7810). - Avoid blank lines after tight sublists (#7810). - Fix extra blank line inserted after empty list item (#7810). - Don't add blank line before lists (#7810). - Support starting number cookies (Lucas Viana). This is necessary for lists that start at a number other than 1. - Support the new org-cite syntax (#7329). - Haddock writer: - Avoid blank lines after tight sublists (#7810). - Ipynb writer: - Ensure deterministic order of keys. - Handle cell output with raw block of markdown (#7563, Kolen Cheung). Write RawBlock of markdown in code-cell output. This is designed to fit the behavior of #7561, which makes the ipynb reader parse code-cell output with mime "text/markdown" to a RawBlock of markdown. This commit makes the ipynb writer writes this RawBlock of markdown back inside a code-cell output with the same mime, preserving this information in round-trip. - In choosing between multiple output options, always favor those marked with the output format over images (Kolen Cheung). Previously, both `fmt == f` case and Image have a rank of 1. - Ipynb reader & writer: properly handle cell "id" (#7728). This is passed through if it exists (in Nb4); otherwise the writer will add a random one so that all cells have an "id". - Ms writer: - Properly encode strings for PDF contents (#7731). - JATS writer: - Keep quotes in element-citations (Albert Krewinkel). Fixed a bug that lead to quote characters being lost in element-citations. - RTF writer: - Properly handle images in data URIs (#7771). - Commonmark writer: - Allow ')' delimiters on ordered lists. - RST writer: - Avoid extra blank line after empty list item (#7810). - HTML writer: - Make line breaks more consistent. With `--wrap=none`, we now output line breaks between block-level elements. Previously they were omitted entirely, so the whole document was on one line, unless there were literal line breaks in pre sections. This makes the HTML writer's behavior more consistent with that of other writers. Also, regardless of wrap settings, put newline after `` and after block-level elements in the footnotes section. And add a line break between an `img` tag and the associated `figcaption`. - reveal.js: Make sure images with `r-stretch` are not in p tags. They must be direct children of the section. There was previously code to make this work with the older class name `stretch`, but the name has changed in reveal.js. - reveal.js: don't add `r-fit-text` class to section. It must go on the header only. - AsciiDoc writer: - Improve detection of intraword emphasis (#7803). - OpenDocument writer: - Fix vertical alignment bug with display math (#7777). Previously some displayed formulas would be floated above a preceding text line. This is fixed by setting `vertical-rel` to `text` rather than `paragraph-content`. - JATS template (Albert Krewinkel): - Fix position of contrib affiliations in authoring set. Any `` element must come before any `` element. - Fix affiliation tagging in `articleauthoring` output. Affiliations were `xlink`ed even in the articleauthoring tag set, but `` are not allowed as children of `contrib-group` elements in that tag set. Each affiliation must be listed directly in the contrib element. - Add support for article subtitles. - EPUB template: - Include abstract in default template. - Ensure that the essential styles needed by pandoc (`styles.html` partial) are included in the templates. This is important for correct formatting of CSL bibliographies. Note that much of the styling in `styles.html` will be ignored for EPUB, because of the conditional on `document-css`. Setting the `document-css` variable will cause it not to be ignored. - HTML template: Add abstract (#7588, Jannik Buhr, John MacFarlane). By default, a localized title (the word "Abstract") will be used, unless the variable `abstract-title` is set. - ConTeXt template: Make title appear in PDF title bar. This is recommended for accessibility reasons. Note: doesn't work with macOS Preview.app. - `reference.pptx`: change to use 16:9 aspect ratio, Powerpoint's default. - Text.Pandoc.Writers: - Do not export `writeCustom` APIchangeAPI change. This ensures that all writers exported in T.P.Writers are parameterized and work with any `PandocMonad` type. This is consistent with T.P.Readers, as `readCustom` is not exported from that module either. - Text.Pandoc.Writers.Shared: - `endsWithPlain` now returns True if the list ends with a list that ends with a Plain, and so on recursively (#7810). - Text.Pandoc.Class.IO: - `writeMedia`: unescape percent-encoding in creating file path. This addresses a problem with spaces in image filenames when creating PDFs (#7819); it also affects `--extract-media`. - New internal module Text.Pandoc.Writers.Blaze, exporting `layoutMarkup`. This converts a blaze Html structure into a doclayout Doc Text. - Text.Pandoc.Extensions: - `parseFormatSpec`: cleaner error message for invalid extensions. - Text.Pandoc.MediaBag: - Fix bug in `extractMedia`, which caused the test for `..` in paths to fail, with the result that images with `..` in the path name could be extracted outside of the directory specified by `extractMedia`. It also led a check for `media` in resource paths to fail in the docx reader. - Text.Pandoc.Citeproc: - Avoid adding comma before an author-in-text citation in a note if it begins with a title (no author) (#7761). - Text.Pandoc.Citeproc.Locator now exports `toLocatorMap`, `LocatorInfo`, and `LocatorMap`. The type of `parseLocator` has changed, so it now takes a `LocatorMap` rather than a `Locale` as parameter, and returns a `LocatorInfo` instead of a tuple. - Fix citation locator detection for German. `toLocatorMap` now stores keys case-folded. We want to do a case-insensitive comparison when parsing locators, so that e.g. both `Chap.` and `chap.` work. Previously we case-folded terms when doing the lookup, but they weren't case-folded in the map itself, which led to locator-detection breaking for German (where the terms have uppercase letters). - Lua (Albert Krewinkel): - Allow single elements as singleton MetaBlocks/MetaInlines. Single elements should always be treated as singleton lists in the Lua subsystem. - Add `pandoc.template` module. The module provides a `compile` function to use strings as templates. - Add `pandoc.WriterOptions` constructor. - Add function `pandoc.write`. - Provide global `PANDOC_WRITER_OPTIONS` (#5221). - The function Text.Pandoc.Filter.applyFilters now takes a filter environment of type `Environment`, instead of a ReaderOptions value APIchangeAPI change. - The `Environment` type is exported from Text.Pandoc.Filter and allows to combine ReaderOptions and WriterOptions in a single value APIchangeAPI change. - Global, exported from Text.Pandoc.Lua, has a new type constructor `PANDOC_WRITER_OPTIONS` APIchangeAPI change. - Add constructors `pandoc.Blocks` and `pandoc.Inlines`. The functions convert their argument into a list of Block and Inline values, respectively. When applied to a string, they split the string into `Str` elements separated by `Space` or `SoftBreak` (#7712). - Support topdown traversals The traversal order of filters can now be selected by setting the key `traverse` of the filter to either `'topdown'` or `'typewise'`; the default remains `'typewise'`. Topdown traversals can be cut short by returning `false` as a second value from the filter function. No child-element of the returned element is processed in that case. - Marshal ReaderOptions field `extensions`, `track_changes` via JSON. Extensions are now available as a list of strings; the track-changes settings are given as the kebab-case representation used in JSON. - Allow binary (byte string) readers to be used with `pandoc.read`. - Use global state when parsing documents in `pandoc.read`. The function `pandoc.read` is updated to use the same state that was used while parsing the main input files. This ensures that log messages are preserved and that images embedded in the input are added to the mediabag. - Cleanup stack in `peekReadOptionsTable`. A ReaderOptions element was left on top of the stack when the `peekReadOptionsTable` function was invoked. - `walk` methods are added to `Pandoc`, `Block`, `Inline`, `Blocks`, `Inlines` values; the methods are similar to `pandoc.utils.walk_block` and `pandoc.utils.walk_inline`, but apply to filter to the element's contents. - Functions of name `Doc` are no longer accepted as alternatives for `Pandoc` filter functions. This functionality was undocumented. - Improve handling of empty caption, body by `from_simple_table` #7776). Create truly empty table caption and body when these are empty in the simple table. - Change representation of `TableHead`, `TableFoot`, and `Row` values (#7718). The objects now also follow the principle that element attributes are accessible through the `.attr` field. Rows in `TableHead` and `TableFoot` are available via the `.rows` field. Row objects have a `.cells` field, containing the list of table cells. - Simplify code of `pandoc.utils.stringify`. Minor behavior change: plain strings nested in tables are now included in the result string. - Simplify and deprecate function `pandoc.utils.equals`. The function is no longer required for element comparisons; it is now an alias for the `==` operator. - Add function `pandoc.utils.references` (#7752). - Add new library function `pandoc.utils.type`. The function behaves like the default `type` function from Lua's standard library, but is aware of pandoc userdata types. A typical use-case would be to determine the type of a metadata value. - Fix return types of `blocks_to_inlines`, `make_sections`. Ensures the returned lists have the correct type (`Inlines` and `Blocks`, respectively). - Use more natural representation for Reference values Omit `false` boolean values, push integers as numbers. - Lua: use package pandoc-lua-marshal (#7719, Albert Krewinkel). The marshaling functions for pandoc's AST are extracted into a separate package. The package comes with a number of changes: - Pandoc's List module was rewritten in C, and error messages were improved. - Lists of `Block` and `Inline` elements are marshaled using the new list types `Blocks` and `Inlines`, respectively. These types currently behave identical to the generic List type, but give better error messages. This also opens up the possibility of adding element-specific methods to these lists in the future. - Elements of type `MetaValue` are no longer pushed as values which have `.t` and `.tag` properties. This was already true for `MetaString` and `MetaBool` values, which are still marshaled as Lua strings and booleans, respectively. Affected values: - `MetaBlocks` values are marshaled as a `Blocks` list; - `MetaInlines` values are marshaled as a `Inlines` list; - `MetaList` values are marshaled as a generic pandoc `List`s. - `MetaMap` values are marshaled as plain tables and no longer given any metatable. - `Cell` values are now marshaled as userdata objects; a constructor function for table cells is provided as `pandoc.Cell`. - The test suite for marshaled objects and their constructors has been extended and improved. - A bug in `Citation` objects, where setting a citation's suffix modified it's prefix, has been fixed. - Inlines, Blocks, and List objects now have an `__eq` metamethod, testing equality by comparing two lists element-wise. - Powerpoint tests: shorten lines by grouping tests (Albert Krewinkel). This makes the test output more pleasant to read in narrow terminal windows. - make check: check for unreleased dependencies. - Add `tools/build-and-upload-api-docs.sh`. - Update cabal description. - `MANUAL.txt`: Add section on EPUB styling. - `MANUAL.txt`: clarify "standard Markdown" as "original Markdown" (#7802, Martin Fischer). - `doc/custom-writers.md`: use filter to include source of example. - Add an example to `doc/custom-readers.md`. - Fix typo in `custom-readers.md` (#7722, Mauro Bieg). - `doc/jats.md`: add link to JATS documentation (Martin Fischer). - `doc/lua-filters.md`: many improvements (Albert Krewinkel, John MacFarlane). - Use commonmark-extensions 0.2.3. This allows a bare-word class attribute on fenced divs. - Use ipynb 0.2. - Use citeproc 0.6.0.1. - Use texmath 0.12.4. - Use doctemplates 0.10.0.1

    jgm/pandoc: pandoc 2.15

    No full text
    Click to expand changelog - Add `--sandbox` option (#5045). - Add sandbox feature for readers. When this option is used, readers and writers only have access to input files (and other files specified directly on command line). This restriction is enforced in the type system. - Filters, PDF production, custom writers are unaffected. This feature only insulates the actual readers and writers, not the pipeline around them in Text.Pandoc.App. - Note that when `--sandboxed` is specified, readers won't have access to the resource path, nor will anything have access to the user data directory. - `--self-contained`: Fix bug that caused everything to be made a data URI (#7635, #7367). We only need to use data URIs in certain cases, but due to a bug they were being used always. - Pandoc will now fall back to latin1 encoding for inputs that can't be read as UTF-8. This is what it did previously for content fetched from the web and not marked as to content type. It makes sense to do the same for local files. In this case a `NotUTF8Encoded` warning will be issued, indicating that pandoc is interpreting the input as latin1. - Markdown reader: - Don't parse links or bracketed spans as citations (#7632). Previously pandoc would parse `[link to (@a)](url)` as a citation; similarly `[(@a)]{#ident}`. This is undesirable. One should be able to use example references in citations, and even if `@a` is not defined as an example reference, `[@a](url)` should be a link containing an author-in-text citation rather than a normal citation followed by literal `(url)`. - Fix interaction of `--strip-comments` and list parsing (#7521). Use of `--strip-comments` was causing tight lists to be rendered as loose (as if the comment were a blank line). - Fix parsing bug for math in bracketed spans and links (#7623). This affects math with unbalanced brackets (e.g. `(0,1](0,1]`) inside links, images, bracketed spans. - Fix code blocks using `--preserve-tabs` (#7573). Previously they did not behave as the equivalent input with spaces would. - DocBook reader: - Honor linenumbering attribute (Samuel Tardieu). The attribute DocBook `linenumbering="numbered"` on code blocks maps to the `numberLines` class internally. - LaTeX reader: - Implement siunitx v3 commands (#7614). We support `\unit`, `\qty`, `\qtyrange`, and `\qtylist` as synonynms of `\si`, `\SI`, `\SIrange`, and `\SIlist`. - Properly handle `\^` followed by group closing (#7615). - Recognize that `\vadjust` sometimes takes "pre" (#7531). - Ignore (and gobble parameters of) CSLReferences environment (#7531). Otherwise we get the parameters as numbers in the output. - Restrict `\endinput` to current file (Simun Schuster). - RST reader: handle escaped colons in reference definitions (#7568). - HTML reader: - Handle empty tbody element in table (#7589). - Ipynb reader (Kolen Cheung): - Get cell output mime from `raw_mimetype` in addition to `format`. (`format` is what the spec calls for, but `raw_mimetype` is often used in practice; see jupyter/nbformat#229). - Add more formats that can be handled as "raw" cells. - Fix mime type for `rst`. - Support `text/markdown`, which is now a supported mime type for raw output (#7561). - RTF reader: - Support `\binN` for binary image data. - If doc begins with { … } only parse its contents. Some documents seem to have non-RTF (e.g. XML) material after the `{\rtf1 ... }` group. - Ignore `\pgdsc` group. Otherwise we get style names treated as test. - Better handling of `\*` and bookmarks. We now ensure that groups starting with `\*` never cause text to be added to the document. In addition, bookmarks now create a span between the start and end of the bookmark, rather than an empty span. - Docx reader: - Avoid blockquote when parent style has more indent (Milan Bracke). When a paragraph has an indentation different from the parent (named) style, it used to be considered a blockquote. But this only makes sense when the paragraph has more indentation. So this commit adds a check for the indentation of the parent style. - Fix handling of empty fields (Milan Bracke). Some fields only have an `instrText` and no content, Pandoc didn't understand these, causing other fields to be misunderstood because it seemed like a field was still open when it wasn't. - Implement PAGEREF fields (Milan Bracke). These fields, often used in tables of contents, can be a hyperlink. - Fix handling of nested fields (Milan Bracke). Fields delimited by `fldChar` elements can contain other fields. Before, the nested fields would be ignored, except for the end, which would be considered the end of the parent field. - Add placeholder for word diagram instead of just omitting it (Ezwal). - Org reader: - Don't parse a list as first item in a list item (#7557). - Allow an initial `:PROPERTIES:` drawer to add to metadata (#7520). - Docx writer: - Make id used in `native_numbering` predictable (#7551). If the image has the id IMAGEID, then we use the id ref_IMAGEID for the figure number. This allows one to create a filter that adds a figure number with figure name, e.g. `Figure X `. If an image lack an id, an id of the form `ref_fig1` is used. - Ensure we have unique ids for `wp:docPr` and `pic:cNvPr` elements (#7527, #7503). - Handle SVG images (#4058). This change has several parts: - In Text.Pandoc.App, if the writer is docx, we fill the media bag and attempt to convert any SVG images to PNG, adding these to the media bag. The PNG backups have the same filenames as the SVG images, but with an added .png extension. If the conversion cannot be done (e.g. because rsvg-convert is not present), a warning is omitted. - In Text.Pandoc.Writers.Docx, we now use Word 2016's syntax for including SVG images. If a PNG fallback is present in the media bag, we include a link to that too. - Powerpoint writer (Emily Bourke): - Add support for more layouts (#5097). Up til now, four layouts were supported: "Title Slide" (used for the automatically generated metadata slide), "Section Header" (used for headings above slide level), "Two Column" (used when there's a columns div), "Title and Content" (used for all other slides). We now support three additional layouts: "Comparison", "Content with Caption", and "Blank". The manual describes the logic that determines which layout is used for a slide. Layouts may be customized in the reference doc. - Support specifying slide background images using a `background-image` attribute on the slide's heading. Only the "stretch" mode is supported, and the background image is centred around the slide in the image's larger axis, matching the observed default behaviour of PowerPoint. - Add support for incremental lists (through same methods as in other slide writers) (#5689). - Copy embedded fonts from reference doc. - Include all themes in output archive. - Fix list level numbering (#4828, #4663). In PowerPoint, the content of a top-level list is at the same level as the content of a top-level paragraph: the only difference is that a list style has been applied. Previously, the writer incremented the paragrap h level on each list, turning what should be top-level lists into second-level lists. - Line up list continuation paragraphs. This commit changes the `marL` and `indent` values used for plain paragraphs and numbered lists, and changes the spacing defined in the reference doc master for bulleted lists. For paragraphs, there is now a left-indent taken from the `otherStyle` in the master. For numbered lists, the number is positioned where the text would be if this were a plain paragraph, and the text is indented to the next level. This means that continuation paragraphs line up nicely with numbered lists. Existing reference docs may need to be modified so that `otherStyle` and `bodyStyle` indent levels match, for this feature to work with them. - Consolidate text runs when possible (jgm). This slims down the output files by avoiding unnecessary text run elements. - Support footers in the reference doc. There is one behaviour which may not be immediately obvious: if the reference doc specifies a fixed date (i.e. not automatically updating), and there's a date specified in the metadata for the document, the footer date is replaced by the metadata date. - Fix presentation rel numbering. Before now, the numbering of `rId`s was inconsistent when making the presentation XML and when making the presentation relationships XML. - Don't add relationships unnecessarily. Before now, for any layouts added to the output from the default reference doc, the relationships were unconditionally added to the output. However, if there was already a layout in slideMaster1 at the same index then that results in duplicate relationships. - If slide level is 0, don't insert a slide break between a heading and a following table, "columns" div, or paragraph starting with an image. - Fix capitalisation of `notesMasterId`. - Restructure tests. - Asciidoc writer: - Translate numberLines attribute to `linesnum` switch (Samuel Tardieu). - Improve escaping for `--` in URLs (#7529). - LaTeX writer: - Make babel use more idiomatic (#7604, hseg). Use babel's bidi implementation. Import babel languages individually instead of as package options. Move `header-includes` to after `babel` setup so it can be modified. - Use babel, not polyglossia, with xelatex. Previously polyglossia worked better with xelatex, but that is no longer the case, so we simplify the code so that babel is used with all latex engines. This involves a change to the default LaTeX template. - Markdown writer: - Avoid bad wraps at the Doc Text level. Previously we tried to do this at the Inline list level, but it makes more sense to intervene on breaking spaces at the Doc Text level. - Use `underline` class rather than `ul` for underline. This only affects output with `bracketed_spans` enabled. The markdown reader parses spans with either `.ul` or `.underline` as Underline elements, but we're moving towards preferring the latter. - RST writer: - Properly handle anchors to ids with spaces or leading underscore (#7593). In this cases we need the quoted form, e.g. .. _`foo bar`: .. _`_foo`: Side note: rST will "normalize" these identifiers anyway, ignoring the underscore. - HTML writer: - Render `\ref` and `\eqref` as inline math, not display (see #7589). - Pass through `\ref` and `\eqref` if MathJax is used (#7587). - Pass through inline math environments with KaTeX. - Support `--reference-location` for HTML output (#7461, Francesco Mazzoli). - Set "hash" to True by default (for reveal.js) (#7574). See #6968 where the motivation for setting "hash" to True is explained. - Native writer: Use pretty-show to format native output (#7580). Previously we used our own homespun formatting. But this produces over-long lines that aren't ideal for diffs in tests. Performance is slower by about a factor of 10, but this isn't really a problem because native isn't suitable as a serialization format. (For serialization you should use json, because the reader is so much faster than native.) - Org writer: - Don't indent contents of code blocks. We previously indented them by two spaces, following a common convention. Since the convention is fading, and the indentation is inconvenient for copy/paste, we are discontinuing this practice. - Update list of supported source languages in org writer (#5440). - Ipynb writer (Kolen Cheung): - Improve round trip identity for raw cell output. See jupyter/nbformat#229. The Jupyter ecosystem, including nbconvert, lab and notebook, deviated from their own spec in nbformat, where they used the key `raw_mimetype` instead of `format`. Moreover, the mime-type of rst used in Jupyter deviated from that suggested by https://docutils.sourceforge.io/FAQ.html and is defined as `text/restructuredtext` when chosen from "Raw NBConvert Format" in Jupyter. The new behavior should matche the real world usage better, hence improving the round-trip "identity" in raw-cell. - Add more formats that can be handled as "raw" cells. - EPUB writer: - Add EPUB3 subject metadata (authority/term) (nuew). This adds the ability to specify EPUB 3 `authority` and `term` specific refinements to the `subject` tag. Specifying a plain `subject` tag in metadata will function as before. - Treat epub:type "frontispiece" as front matter (#7600). - reveal.js template: Fix line numbers in source code (#7634). We need `overflow: visible` for these to work, and reveal's default css disables this. So we re-enable it in the default template. - Text.Pandoc.Writers.Shared: - Export `splitSentences` as a Doc Text transform APIchangeAPI change. Use this in man/ms. We used to attempt automatic sentence splitting in man and ms output, since sentence-ending periods need to be followed by two spaces or a newline in these formats. But it's difficult to do this reliably at the level of `[Inline]`. - Text.Pandoc.Translations: small revisions for compatibility with aeson 2. - Don't prepend `file://` to `--syntax-definition` on Windows (#6374). This was a fix for a problem in skylighting, but this problem doesn't exist now that we've moved from HXT to xml-conduit. - Text.Pandoc.Extensions: - Add `Ext_footnotes` to default `gfm` etxensions. Now `gfm` supports footnotes. - Alphabetize Extension constructors (also affects `--list-extensions`). - Text.Pandoc.Citeproc.Util: Better implementation of `splitStrWhen`. Previously the citeproc code had two less efficient implementations. - Update documentation for definition_list extension (#7594). In 2015, we relaxed indentation requirements for the first line of a definition (see commit d3544dc and issue #2087), but the documnentation wasn't updated to reflect the change. - Text.Pandoc.Citeproc.BibTeX: Fix expansion of special strings in series e.g. `newseries` or `library` (#7591). Expansion should not happen when these strings are protected in braces, or when they're capitalized. - Text.Pandoc.Logging: add `NotUTF8Encoded` constructor to `LogMessage` APIchangeAPI change. - Text.Pandoc.App.FormatHeuristics: remove `.tei.xml` extension for TEI (#7630). This never worked, because `takeExtension` only returns `.xml`. So it won't be missed if we remove it. - Text.Pandoc.Image: - Generalize `svgToPng` to MonadIO. - `svgToPng`, change first parameter from WriterOptions to Int. - Text.Pandoc.Class: - Add `readStdinStrict` method to PandocMonad APIchangeAPI change. - Generalize type of `extractMedia` APIchangeAPI change. It was uselessly restricted to PandocIO, instead of any instance of PandocMonad and MonadIO. - Text.Pandoc.Class.PandocIO: derive MonadCatch, MonadThrow, MonadMask. This allows us to use `withTempDir` APIchangeAPI change. - Add module Text.Pandoc.Class.Sandbox, defining `sandbox`. Exported via Text.Pandoc.Class. APIchangeAPI change - Text.Pandoc.Filter: Generalize type of `applyFilters` from PandocIO to any instance of MonadIO and PandocMonad APIchangeAPI change. - Text.Pandoc.PDF: generalize type of `makePDF`: instead of PandocIO, it can be used in any instance of PandocMonad, MonadIO, and MonadMask APIchangeAPI change. - Lua subsystem and custom writers: generalize types from PandocIO to any instance of PandocMonad and MonadIO APIchangeAPI change. The type of `runLua` is now (PandocMonad m, MonadIO m) => LuaE PandocError a -> m (Either PandocError a) The change from `Lua` to `LuaE PandocError` is due to the switch to hslua-2.0; see next item. - Lua modules (Albert Krewinkel): - Switch to hslua-2.0. The new HsLua version takes a somewhat different approach to marshalling and unmarshalling, relying less on typeclasses and more on specialized types. This allows for better performance and improved error messages. Furthermore, new abstractions allow to document the code and exposed functions. - Marshal Version values, Inline elements, Attr elements, and Pandoc elements as userdata. - Remove deprecated inline constructors `DoubleQuoted`, `SingleQuoted`, `DisplayMath`, and `InlineMath`. - Attr values are no longer normalized when assigned to an Inline element property. - It's no longer possible to access parts of Inline elements via numerical indexes. E.g., `pandoc.Span('test')[2]` used to give `pandoc.Str 'test'`, but yields `nil` now. This was undocumented behavior not intended to be used in user scripts. Use named properties instead. - Accessing `.c` to get a JSON-like tuple of all components no longer works. This was undocumented behavior. - Only known properties can be set on an element value. Trying to set a different property will now raise an error. - Adds a new `pandoc.AttributeList()` constructor, which creates the associative attribute list that is used as the third component of `Attr` values. Values of this type can often be passed to constructors instead of `Attr` values. - Convert IOErrors to PandocErrors in `pandoc.pipe` function (#7523). - Text.Pandoc.PDF: Previously we had to run `runIOorExplode` inside `withTempDir`. Now that PandocIO is an instance of MonadMask, this is no longer necessary. - Text.Pandoc.App: - Reorganize to make it easier to limit IO in main loop. Previously we used liftIO fairly liberally. The code has been restructured to avoid this. - Move output-file writing out of PandocMonad action. - Text.Pandoc.App.OutputSettings: Generalize some types so we can run this with any instance of PandocMonad and MonadIO, not just PandocIO. - Use `simpleFigure` builder in readers and `SimpleFigure` pattern synonym in writers (Aner Lucero). - Allow time 1.12. - Use skylighting-0.12, skylighting-core-0.12. This fixes highlighting issues with typescript, scala, and other syntaxes that include keyword lists from different syntaxes. - Use citeproc 0.6, commonmark 0.2.2.1, commonmark-extensions 0.2.2, texmath 0.12.3.2, ipynb 0.1.0.2. (These changes also allow building with aeson >= 2.) - Require doclayout >= 0.3.1.1. This fixes recognition of "real widths" of emoji characters, which is important for tabular layout. - Cut out over 100K of fat in epub test golden files. - Make `test/epub/wasteland.epub` valid. - Add missing `%` on some command tests. This prevented `--accept` from working properly. - Command tests: raise error if command doesn't begin with `%`. - OOXML tests: use pretty-printed form to display diffs. Otherwise everything is on one line and the diff is uninformative. - Fix compareXML helper in Tests.Writers.OOXML. Given how it is used, we were getting "mine" and "good" flipped in the test results. - MANUAL.txt: - Clarify `attributes` extension support (William Lupton). - Document formats affected by `--reference-location`. - Document error code 25 - Add some more info regarding `--slide-level=0` (Salim B). - Add more to security section of manual. - Mention support of `title-toc` (#7171, Christophe Dervieux). - doc/lua-filters.md: - Add missing type for Image title (Quinn). - Improve order of Image fields (Quinn). - Rephrase pandoc.path docs (#7548, Quinn). - Do not leak working directory in TikZ filter (Jeroen de Haas)

    Nucleon resonance decay by the K0 Sigma+ channel

    No full text
    With the combined setup of the Crystal Barrel and TAPS photonspectrometers at ELSA in Bonn we have studied photonuclear reactions on protons and deuterons. From the series of experiments on single and multiple neutral meson emission we concentrate here on the hyperon production off protons and deuterons, and in particular on the K-0 Sigma(+) decay channel. The reaction is characterized by the final state of 6 photons and a forward emitted proton. We report on the first results from this channel.</p

    3D analysis of fracture processes in concrete

    No full text
    Concrete fracture is governed by randomly distributed aggregate particles, which make cracks fundamentally not planar. This phenomenon can be captured only by 3D models. Within the 3D framework, material heterogeneity and displacement dis continuity must be incorporated Lattice models allow to consider all these aspects adequately. In this thesis a lattice model is used to analyze the influence of the material structure on the global &amp; structural response and to compare results from 2D and 3D modelling Concrete is schematized as a network of beams with different mechanical properties corresponding to three phases: aggregate, hi matrix, and interfacial transition zone Fracture is mimicked by sequential removal of elements where the stress exceeds the tensile strength Though a purely brittle linear elastic behaviour is assumed for each element, structural softening is modelled successfully.Materials and Environmen

    Unilateral Cleft Lip and Nasal Repair: Techniques and Principles

    Get PDF
    The Mashhad University of Medical Sciences and the Sheikh Hospital in Mashhad sponsored a Cleft Lip and Palate Workshop 30 April - 1 May 2009. During the Workshop, 6 surgical cases were performed and televised live to the audience attending the conference. Two of those cases were unilateral cleft lip repairs. The surgical technique used to repair these patients by the primary author (JGM) is a hybrid technique. It has evolved over the last decade as a result of prior surgical literature as well as first hand observation of various surgical colleagues. The following manuscript describes the surgical technique used at the Cleft Workshop in a step-wise or atlas-like fashion. The technique portion of the paper describes the repair of the unilateral cleft lip and nasal deformity in roughly the order the first author typically performs the procedure. More importantly, the final section of the paper details the principles that form the foundation for the techniques described

    An improved rotor design for a diffuser augmented wind turbine:improvement of the DonQi Urban Windmill

    No full text
    The polluting fossil fuels are diminishing and becoming more and more expensive. The trias energetica, Figure 1, states that besides reducing the energy demand and using fossil fuels cleaner, renewable energy technologies are the solution to this problem. One of these renewable energy technologies is small-scale wind energy. The DONQI URBAN WINDMILL is a so-called urban turbine, a small roof mounted wind turbine. Moreover, the DONQI URBAN WINDMILL is a diffuser augmented wind turbine (DAWT), a wind turbine embedded in annular wing shaped diffuser. This diffuser has the function of augmenting the flow through the wind turbine.Aerospace EngineeringSustainable Energy Technolog

    Nucleon resonance decay by the K-0 Sigma(+) channel

    No full text
    With the combined setup of the Crystal Barrel and TAPS photonspectrometers at ELSA in Bonn we have studied photonuclear reactions on protons and deuterons. From the series of experiments on single and multiple neutral meson emission we concentrate here on the hyperon production off protons and deuterons, and in particular on the K-0 Sigma(+) decay channel. The reaction is characterized by the final state of 6 photons and a forward emitted proton. We report on the first results from this channel

    Nucleon resonance decay by the K-0 Sigma(+) channel

    No full text
    With the combined setup of the Crystal Barrel and TAPS photonspectrometers at ELSA in Bonn we have studied photonuclear reactions on protons and deuterons. From the series of experiments on single and multiple neutral meson emission we concentrate here on the hyperon production off protons and deuterons, and in particular on the K-0 Sigma(+) decay channel. The reaction is characterized by the final state of 6 photons and a forward emitted proton. We report on the first results from this channel.</p

    Pandoc

    No full text
    &lt;p&gt;&lt;details&gt; &lt;summary&gt;Click to expand changelog&lt;/summary&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;p&gt;Add &lt;code&gt;djot&lt;/code&gt; as input and output format. Djot is a light markup syntax (https://djot.net).&lt;/p&gt; &lt;ul&gt; &lt;li&gt;New module Text.Pandoc.Readers.Djot [API change]. The function &lt;code&gt;readDjot&lt;/code&gt; is also exported by Text.Pandoc.Readers.&lt;/li&gt; &lt;li&gt;New module Text.Pandoc.Writers.Djot [API change]. The function &lt;code&gt;writeDjot&lt;/code&gt; is also exported by Text.Pandoc.Writers.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;&lt;code&gt;--number-sections&lt;/code&gt; now uses the first digit for the number of the top-level section, no matter what its level. So if the top-level section is level-2, numbers will be &lt;code&gt;1&lt;/code&gt;, &lt;code&gt;2&lt;/code&gt;, etc. rather than &lt;code&gt;0.1&lt;/code&gt;, &lt;code&gt;0.2&lt;/code&gt;, as in the past (#5071). For some backwards compatibility, we revert to the old behavior when the &lt;code&gt;--number-offset&lt;/code&gt; option is used.&lt;/p&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;DocBook reader:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Better handling of &lt;code&gt;&lt;procedure&gt;&lt;/code&gt; and &lt;code&gt;&lt;substeps&gt;&lt;/code&gt; (#9341): &lt;code&gt;&lt;procedure&gt;&lt;/code&gt; now gets parsed as an ordered list, and &lt;code&gt;&lt;substeps&gt;&lt;/code&gt; as a sublist.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Man reader:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Move spaces outside of emph/strong (#9445).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;MediaWiki reader:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Don't make leading blanks underscores in image links (#9425).&lt;/li&gt; &lt;li&gt;Allow lowercase &lt;code&gt;image:&lt;/code&gt; (#9424).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;BibTeX reader:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Support &lt;code&gt;pagetotal&lt;/code&gt; in converting BibLaTeX.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Markdown reader:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Fix wikilinks extensions to allow newlines in titles (#9454).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;EPUB reader:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Don't put &lt;code&gt;#&lt;/code&gt; characters in identifiers.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;LaTeX reader:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Improve treatment of &lt;code&gt;\cref&lt;/code&gt;, &lt;code&gt;\Cref&lt;/code&gt; (#7463). Use the reference-type &lt;code&gt;ref+label&lt;/code&gt; and &lt;code&gt;ref+Label&lt;/code&gt;. Also, associate with &lt;code&gt;\vref&lt;/code&gt; &lt;code&gt;ref&lt;/code&gt; instead of &lt;code&gt;ref+page&lt;/code&gt;.&lt;/li&gt; &lt;li&gt;Limited support for &lt;code&gt;\Cref&lt;/code&gt; (#7463).&lt;/li&gt; &lt;li&gt;Generate relative widths for &lt;code&gt;\linewidth&lt;/code&gt;, &lt;code&gt;\textheight&lt;/code&gt; (#9388).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Typst reader:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Fix handling of &lt;code&gt;\overline&lt;/code&gt; (#9294). Due to a typo, it was being incorrectly rendered as an &lt;code&gt;\underset&lt;/code&gt;.&lt;/li&gt; &lt;li&gt;Improve handling of inline &lt;code&gt;#quote&lt;/code&gt; (#9413).&lt;/li&gt; &lt;li&gt;Fix handling of &lt;code&gt;dot()&lt;/code&gt;, &lt;code&gt;tilde()&lt;/code&gt;, &lt;code&gt;ddot()&lt;/code&gt; (jgm/typst-hs#38).&lt;/li&gt; &lt;li&gt;Fix character used for &lt;code&gt;norm&lt;/code&gt; (jgm/typst-hs#38).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Typst writer:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Use reference form (e.g. &lt;code&gt;@jones2000[p. 30]&lt;/code&gt;) for citations when possible.&lt;/li&gt; &lt;li&gt;Use &lt;code&gt;#ref&lt;/code&gt; or &lt;code&gt;@&lt;/code&gt; for links with &lt;code&gt;reference-type=&quot;ref&quot;&lt;/code&gt; (#7463). This attribute is added to LaTeX &lt;code&gt;\cref&lt;/code&gt;, for example.&lt;/li&gt; &lt;li&gt;Improve citation support (#9452). Emit &lt;code&gt;form: &quot;prose&quot;&lt;/code&gt; or &lt;code&gt;form: &quot;year&quot;&lt;/code&gt; qualifiers if the citation is author-in-text or suppress-author. Strip initial comma from suffix, since typst will add an extra one.&lt;/li&gt; &lt;li&gt;Unescape URI escapes in image paths (#9389).&lt;/li&gt; &lt;li&gt;Handle labels and citaiton ids with spaces and other special characters (#9387). In these cases, we produce an explicit &lt;code&gt;label()&lt;/code&gt; rather than using &lt;code&gt;&lt;&gt;&lt;/code&gt; or &lt;code&gt;@&lt;/code&gt;.&lt;/li&gt; &lt;li&gt;Avoid producing illegal labels (#9387).&lt;/li&gt; &lt;li&gt;Avoid unnecessary escapes (#9386).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;LaTeX writer:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Make writer sensitive to &lt;code&gt;empty_paragraphs&lt;/code&gt; extension (#9443).&lt;/li&gt; &lt;li&gt;Fix beamer highlighting (mh4ckt3mh4ckt1c4s).&lt;/li&gt; &lt;li&gt;Create valid table even when table is empty (#9350).&lt;/li&gt; &lt;li&gt;Set font fallback for babel main font (Max Heller).&lt;/li&gt; &lt;li&gt;Add some kerns where needed between quotes (#9371).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;HTML writer:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Add suffix to multiple footnote section ids, so they are unique (Sam May). This is necessary when &lt;code&gt;--reference-location&lt;/code&gt; is &lt;code&gt;block&lt;/code&gt; or &lt;code&gt;section&lt;/code&gt;.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;EPUB writer:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Add ARA roles for accessibility (#9378, Iacobus1983). Footnote references are given role "doc-noteref", footnote text gets "doc-footnote", and nav gets "doc-toc".&lt;/li&gt; &lt;li&gt;Ensure that an alt attribute is always added (#9354). This seems to be required by iBooks; even an empty alt attribute will satisfy it.&lt;/li&gt; &lt;li&gt;Add &lt;code&gt;xml:lang&lt;/code&gt; to package element (#9372).&lt;/li&gt; &lt;li&gt;Add accessibility metadata to EPUB metadata (#9372, #9400, Iacobus1983 and John MacFarlane). Reasonable default values are used to ensure that pandoc's EPUBs conform to the EU Accessibilty Act requirements, but values can be overridden using metadata.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Docx writer:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Restore ability to center-justify table (#9393). The fix to #5947 caused all tables to be left indented. This was necessary to avoid extra indentation in table cells when a table appeared in a list item. This change makes the changes conditional, so that they only affect tables in list items.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Man writer:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Fix bug with long URLs (#9458). URLs with more than 68 characters didn't display properly because of wrapping.&lt;/li&gt; &lt;li&gt;Support (limited) syntax highlighting in code blocks (#9446). Currently only boldface and italics are supported. The &lt;code&gt;monochrome&lt;/code&gt; style might be of use for those generating man pages.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Org writer:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Escape special lines in code blocks (#9218, Albert Krewinkel).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Markdown writer:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Use different width fences for nested divs (#9450). Outer divs have longer fences. This aids clarity for the reader, making it easier to see where the div ends. It also makes the output compatible with some other implementations, e.g. micromark, which require different-width fences for nesting.&lt;/li&gt; &lt;li&gt;Fix output for pipe tables with a huge number of columns (#9346). Previously we got invalid pipe tables when the number of table columns exceeded the setting of &lt;code&gt;--columns&lt;/code&gt;.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Powerpoint writer:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Fix regression in layout for slides with figures (#9442).&lt;/li&gt; &lt;li&gt;Use internal column widths in pptx writer tables (#5706, Tomas Dahlqvist). The table writer used to only divide all available width evenly for all columns. In this update the code uses the incoming widths if they are available. If they are not set the earlier even distribution is used. Some of the golden templates are adjusted slightly because of different rounding when using the new calculation model.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Custom writers:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Fix handling of common state (#9229, Albert Krewinkel). The CommonState (&lt;code&gt;PANDOC_STATE&lt;/code&gt; in Lua) may change between the time that a custom writer script is first loaded and when the writer is run. However, the writer was always using the initial state, which led to problems, e.g. when the mediabag was updated in a filter, as those updates where not visible to the writer. The state is now updated right before the writer function runs.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Text.Pandoc.SelfContained:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Fix id replacements in SVGs with clipping paths (#9420). This fixes &lt;code&gt;--embed-resources&lt;/code&gt; when SVGs have &lt;code&gt;clip-path&lt;/code&gt; attributes.&lt;/li&gt; &lt;li&gt;Fix size of duplicated SVGs with &lt;code&gt;--embed-resources&lt;/code&gt; (#9439).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;ConTeXt template: support font fallback (#9361, Lawrence Chonavel).&lt;/p&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Text.Pandoc.Shared:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;addPandocAttributes&lt;/code&gt;: use &lt;code&gt;wrapper&lt;/code&gt; attribute, not &lt;code&gt;wrap&lt;/code&gt;, for Divs and Spans added as wrappers to hold attributes on elements that do not accept them.&lt;/li&gt; &lt;li&gt;&lt;code&gt;makeSections&lt;/code&gt; behavior changes:&lt;ul&gt; &lt;li&gt;When the optional base level parameter is provided, we no longer ensure that the sequence of heading levels is gapless (#9398). Instead, we set the lowest heading level to the specified base level, and adjust the others accordingly. If an author wants to skip a level, e.g. from level 1 to level 3, they can do that. In general, the heading levels specified in the source document are preserved; &lt;code&gt;makeSections&lt;/code&gt; only puts them into a hierarchical structure.&lt;/li&gt; &lt;li&gt;Section numbers are now assigned differently, as described above under &lt;code&gt;--number-sections&lt;/code&gt; changes (#5071).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;Improve &lt;code&gt;makeSections&lt;/code&gt; code for section number calculation.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Text.Pandoc.Chunks:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Autogenerate unique ids for sections missing them (#9383). This is needed for TOC generation to work properly. We can't create TOC links if there are no ids. This fixes some EPUB validation issues we've been getting since switching over to Chunks for chunking.&lt;/li&gt; &lt;li&gt;Improve &lt;code&gt;fixTOCTreePaths&lt;/code&gt;. We weren't adding ids for section headings that don't head a chunk, but these headings are needed for a TOC.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Lua: catch encoding error in &lt;code&gt;pandoc.read&lt;/code&gt; (#9385, Albert Krewinkel). Fixed a bug that could lead to an un-catchable error and program termination when &lt;code&gt;pandoc.read&lt;/code&gt; was called with invalid UTF-8 input.&lt;/p&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;LaTeX template: support font fallback (lawcho). This support is LuaLaTeX-specific. See MANUAL.txt for documentation.&lt;/p&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Text.Pandoc.Readers: Add &lt;code&gt;readMan&lt;/code&gt; to exports [API change] (George Stagg).&lt;/p&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Text.Pandoc.PDF:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Reliably detect when TOC has changed (#9295). Sometimes the TOC changes but there are no warnings: this happens when no labels are present. In this case we must rerun LaTeX. So we now take the SHA1 hash of the TOC file and rerun LaTeX if it changes between runs.&lt;/li&gt; &lt;li&gt;Increase maximum number of LaTeX runs to 4 (#9299). On some documents, 4 runs are needed (e.g. when a LastPage reference is used).&lt;/li&gt; &lt;li&gt;Avoid &lt;code&gt;readFileLazy&lt;/code&gt;, which caused improperly cleaned-up temp directories on Windows (#9460).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;MANUAL.txt:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Harmonize spelling of Markdown and MultiMarkdown (#9402, Salim B).&lt;/li&gt; &lt;li&gt;Add &lt;code&gt;&lt;pre&gt;&lt;/code&gt; to list of exceptions for &lt;code&gt;markdown_in_html_blocks&lt;/code&gt; extension (#9305).&lt;/li&gt; &lt;li&gt;Add clarification to docs for &lt;code&gt;--resource-path&lt;/code&gt; (#9417).&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Makefile: Validate generated EPUB as part of prerelease checks.&lt;/p&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Add validation for docx golden files to CI (Edwin Török).&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;/details&gt;&lt;/p&gt;If you use this software, please cite it as below
    corecore