• CTAN update: markdown

    From CTAN Announcements@vincent@ctan.org to CTAN Announcements on Sat Mar 28 16:12:24 2026
    From Newsgroup: comp.text.tex

    V|!t Star|+ Novotn|+ submitted an update to the
    markdown
    package.
    Version: 3.14.1-0-g68371ac4 2026-03-27
    License: lppl1.3c
    Summary description: Converting and rendering markdown documents inside TeX Announcement text: ----------------------------------------------------------------------
    ## 3.14.1 (2026-03-27)
    ### Fixes
    This version of the Markdown package has fixed the following issues:
    - Collapse spaces at the end of a line, even if these spaces originate from
    HTML entities. (reported by @jonathan-gruber-jg in #618, fixed in #624)
    - Do not consume blank lines following a line from a line block. (#627, #629)
    This prevents bad interactions between a preceding line block and a following
    pipe table when the `lineBlocks` and `pipeTables` options are enabled.
    - Distinguish pure comment lines from partial comment lines. (#628, #630)
    This prevents pure comment lines from being treated as extra blank lines
    for the purpose of distinguishing between inter-block and paragraph
    separators.
    - Strip trailing spaces from table captions with attributes. (reported by
    @lostenderman in #638, fixed in #639)
    - Fix acronyms breaking various elements. (reported in #625, fixed by
    @lostenderman in #626)
    ### Continuous integration
    This version of the Markdown package has made the following changes to our continuous integration:
    - Bump `crazy-max/ghaction-github-pages` from 4 to 5. (added by @dependabot in #632)
    - Bump `actions/upload-artifact` from 6 to 7. (added by @dependabot in #633)
    - Bump `docker/login-action` from 3 to 4. (added by @dependabot in #634)
    - Migrate from deprecated `TeX-Live/setup-texlive-action@v3` to
    `zauguin/install-texlive@v4`. (#636, 3c4c6bb0)
    - Test the package on both TeX Live 2025 and 2026.
    (#631, ff23b28..81928d7, 1a98fa99..c7ef926a)
    ### Miscellaneous
    This version of the Markdown package has made the following other changes:
    - Replace `mtxrun --luatex --generate` with `context --generate --luatex`
    in the user manual and `Dockerfile`. (@hanshagen and @gucci-on-fleek in #637) ## 3.14.0 (2026-02-26)
    ### Enhancements
    This version of the Markdown package has made the following new enhancements:
    - Support the new prepending (`^=`) and appending (`$=`) operators for
    renderers and renderer prototypes. (#232, #617)
    - Support the prepending and appending operators (`^=`, `+=`, and `$=`) for
    comma-list options like `extensions`. (#232, #621)
    - In theme `witiko/diagrams`, add parameter `command` for Mermaid diagrams.
    (#616, #622)
    For example, you can use different icon packs as follows:
    ```` tex
    \documentclass{article}
    \usepackage[import=witiko/diagrams@v2]{markdown}
    \begin{document}
    \begin{markdown}
    ``` mermaid {command = "mmdc --iconPacks '@iconify-json/logos'"}
    architecture-beta
    group api(logos:aws-lambda)[API]
    service db(logos:aws-aurora)[Database] in api
    service disk1(logos:aws-glacier)[Storage] in api
    service disk2(logos:aws-s3)[Storage] in api
    service server(logos:aws-ec2)[Server] in api
    db:L -- R:server
    disk1:T -- B:server
    disk2:T -- B:db
    ```
    \end{markdown}
    \end{document}
    ````
    - Recognize acronyms, initialisms, and other all-caps sequences. (suggested by
    @witiko, @michal-h21, and @TeXhackse in #615 and at [matrix.org][matrix-615],
    implemented in #623 and e2747530..3e14fa11)
    For example, you can automatically format acronyms in your LaTeX documents as
    follows:
    ``` tex
    \documentclass{article}
    \usepackage[plain]{markdown}
    \markdownSetup {
    % Format the following words as acronyms.
    acronyms = {HTML, YAML}, % We can also easily fill this list from e.g. YAML and other external sources.
    renderers = {
    % Format acronyms as small caps.
    acronym = \textsc{\MakeLowercase{#1}},
    },
    }
    \begin{document}
    \begin{markdown}
    HTML and YAML are two staples of modern tooling that often get mentioned
    in the same breath, even though they live in very different layers of the stack.
    \end{markdown}
    \end{document}
    ```
    The default definitions for LaTeX also provide support for explicit markup
    for acronyms, as well as an integration with the `glossaries` package:
    ``` tex
    \documentclass{article}
    \usepackage{microtype, hyperref}
    \usepackage[acronym]{glossaries}
    \makeglossaries
    \newacronym{html}{HTML}{hypertext markup language}
    \newacronym{yaml}{YAML}{yet another markup language}
    \usepackage[bracketed_spans]{markdown}
    \begin{document}
    \begin{markdown}
    HTML and YAML are two staples of modern tooling that often get mentioned
    in the same breath, even though they live in very different layers of the stack.
    You may also use explicit markup: [HTML]{.acronym}. This works even if the
    acronym hasn't been registered with the glossaries package: [JSON]{.acronym}.
    \end{markdown}
    \printacronyms
    \end{document}
    ```
    Compile the above example document `rf?filenamerf-.tex` with the following commands:
    ```
    lualatex rf?filenamerf-.tex
    makeglossaries rf?filenamerf-
    lualatex rf?filenamerf-.tex
    ```
    If you are not using the default definitions for LaTeX (for example, when
    loading the package with the `plain` or `noDefaults` options), you can import
    the `glossaries` acronyms manually as follows:
    ``` tex
    \markdownSetup {
    import = witiko/glossaries@v1,
    snippet = witiko/glossaries/import-acronyms,
    }
    ```
    - Allow absolute snippet names in `\markdownSetupSnippet { ... }` and
    `\markdownSetup { snippet = ... }`. (#623)
    Absolute snippet names are prefixed with a slash (`/`). The leading slash is
    stripped, and the remaining name is used as-is. In contrast, relative snippet
    names are prefixed with the name of the currently processed theme, if any.
    For consistency, a leading slash may also be used in
    `\markdownSetup { theme = ... }` and `{ import = ... }`. Theme names,
    however, are currently always absolute, so the slash is only a syntactic
    normalization and has no semantic effect.
    For example, the following code also imports the `glossaries` acronyms:
    ``` tex
    \markdownSetup {
    import = /witiko/glossaries@v1,
    snippet = /witiko/glossaries/import-acronyms,
    }
    ```
    The slash before `witiko/glossaries/import-acronyms` ensures that the correct
    snippet is loaded even when used from within another theme. Without the
    leading slash, the snippet name would instead be resolved as
    `rf?current theme namerf-/witiko/glossaries/import-acronyms`.
    By contrast, the slash before `witiko/glossaries@v1` is optional and provided
    only for consistency. Therefore, the following code would have the same
    effect:
    ``` tex
    \markdownSetup {
    import = witiko/glossaries@v1,
    snippet = /witiko/glossaries/import-acronyms,
    }
    ```
    [matrix-615]: https://matrix.to/#/!pznomuvubVyxElflTe:matrix.org/$PSrg2dlpGUMastZzUGOpm08HfM3wHpQryZCIyepuZoA?via=matrix.org&via=im.f3l.de
    ----------------------------------------------------------------------
    The packagerCOs Catalogue entry can be viewed at
    https://ctan.org/pkg/markdown
    The packagerCOs files themselves can be inspected at
    https://mirrors.ctan.org/macros/generic/markdown/ ----------------------------------------------------------------------
    Thanks for the upload.
    For the CTAN Team
    Vincent Goulet ----------------------------------------------------------------------
    CTAN is run entirely by volunteers and supported by TeX user groups.
    Please join a user group or donate to one, see https://ctan.org/lugs
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From CTAN Announcements@petra@ctan.org to CTAN Announcements on Thu Apr 9 19:01:18 2026
    From Newsgroup: comp.text.tex

    V|!t Star|+ Novotn|+ submitted an update to the

    markdown

    package.

    Version: 3.15.0-0-g58d7bf4d 2026-04-08
    License: lppl1.3c

    Summary description: Converting and rendering markdown documents inside TeX

    Announcement text: ----------------------------------------------------------------------

    ## 3.15.0 (2026-04-08)

    ### Development

    This version of the Markdown package has added the following new features:

    - Add a new `htmlOutput` option to produce fine-grained HTML renderers based on
    CommonMark's grammar. (suggested by @u-fischer and @Witiko in #597 and #606,
    contributed by @herley-shaori in #635, 72a8b365, and f46a49ad with a review
    by @lostenderman)

    ### Fixes

    This version of the Markdown package has fixed the following issues:

    - Strip leading and trailing spaces for `inlineHtmlComment` renderers. (#635)
    - Specify `.value_required:n = { true }` for all options that require values.
    (discovered by @michal-h21 in #615, fixed in #640)
    - Parse the content of inline HTML comments. (described in #641, fixed in #642)

    ### Continuous integration

    This version of the Markdown package has made the following changes to our
    continuous integration:

    - Disable caching in the `zauguin/install-texlive` action.
    (added by @zauguin in zauguin/install-texlive#128 and 9c4245d3)
    - Update the `zauguin/install-texlive` action to v4.3. (e3db1102)

    ----------------------------------------------------------------------

    The packagerCOs Catalogue entry can be viewed at
    https://ctan.org/pkg/markdown

    The packagerCOs files themselves can be inspected at
    https://mirrors.ctan.org/macros/generic/markdown/

    ------------------------------------------------------------------------

    Thanks for the upload.

    For the CTAN Team
    Petra R|+be-Pugliese

    ------------------------------------------------------------------------

    CTAN is run entirely by volunteers and supported by TeX user groups.
    Please join a user group or donate to one, see https://ctan.org/lugs
    --- Synchronet 3.21f-Linux NewsLink 1.2