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 `⟨filename⟩.tex` with the following 
commands:
  ```
  lualatex ⟨filename⟩.tex
  makeglossaries ⟨filename⟩
  lualatex ⟨filename⟩.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
  `⟨current theme name⟩/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 package’s Catalogue entry can be viewed at
    https://ctan.org/pkg/markdown

The package’s 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
_______________________________________________
ctan-ann mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to