CTAN update: markdown

CTAN Announcements via ctan-ann <[email protected]>
Newsgroups gmane.comp.tex.ctan.announce
Organization CTAN
Message-ID <[email protected]>
Vít Starý Novotný submitted an update to the

                markdown

package.

Version number: 3.9.0-0-g4f1abe21 2024-11-21
License type: lppl1.3c

Summary description: Converting and rendering markdown documents inside TeX

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


Development:

- Convert built-in LaTeX themes `witiko/dot` and `witiko/graphicx/http` into
  plain TeX themes. (#514, #522, #529)

  This allows these themes to be used in formats such as plain TeX and ConTeXt
  as well.

Refactoring:

- Remove dependencies on `ifthen`, `gobble`, and `catchfile`. (#514, #522, #529)

- Store small built-in LaTeX themes `witiko/dot`, `witiko/graphicx/http`, and
  `witiko/tilde` in expl3 props in files `markdown.tex` and `markdown.sty`.
  (#514, #522, #529)

  This simplifies the distribution and installation of these themes, which were
  previously located in individual `.tex` and `.sty` files.

  The built-in plain TeX, LaTeX, and ConTeXt themes `witiko/markdown/defaults`
  are still distributed in individual files. This is because inlining these
  themes in files `markdown.tex`, `markdown.sty`, and `t-markdown.tex` would
  make it more difficult for users to copy and modify these themes without
  delaying updates to the Markdown package itself. Furthermore, these themes
  are large and storing/executing them from an expl3 prop would make it more
  difficult to determine the line numbers when errors occur.

Fixes:

- Protect renderers and renderer prototypes. (#465, #506)

  After this change, default renderers and renderer prototypes as well
  as renderers and renderers and prototypes defined using the keys
  `renderers` and `rendererPrototypes` of the command `\markdownSetup`
  are protected, which is usually preferable for typesetting.

  New keys `unprotectedRenderers` and `unprotectedRendererPrototypes`
  were also added to the command `\markdownSetup`. These keys define
  unprotected renderers and renderer prototypes, respectively, which are easier
  to expand and may be preferable for programming.

Defaults:

- Define default LaTeX renderer prototypes for table identifiers.
  (#525, suggested by @machitgarha, #528)

  This establishes a reliable method for authors to reference tables within
  Markdown:

  ``` tex
  \documentclass{article}
  \usepackage[
    pipe_tables,
    table_attributes,
    table_captions,
    relative_references,
  ]{markdown}
  \begin{document}
  \begin{markdown}

  | Right | *Left* |   Default   | Center |
  |------:|:-------|-------------|:------:|
  |   12  |   12   |      12     |    12  |
  |  123  |   123  |   **123**   |   123  |
  |    1  |     1  |       1     |     1  |

    : Demonstration of *pipe table* syntax with the caption spreading over
      multiple lines. {#identifier .class-name key=value}

  Demonstration of a *relative reference*: See Table <#identifier>.

  \end{markdown}
  \end{document}
  ```

- Define default LaTeX renderer prototypes for bracketed spans.
  (discussed with @MacLotsen at TUG 2024 and with @TeXhackse at matrix.org, #528)

  This establishes a reliable method for authors to reference the last LaTeX
  counter that has been incremented in e.g. ordered lists.

  ``` tex
  \documentclass{article}
  \usepackage[
    bracketed_spans,
    relative_references,
    start_number = false,
  ]{markdown}
  \begin{document}
  \begin{markdown}

  Demonstration of *bracketed spans* syntax:

   1. First item
   2. [Second item]{#second-item}
   3. Third item

  Demonstration of a *relative reference*: See item <#second-item>.

  \end{markdown}
  \end{document}
  ```

- Use package LuaXML in default LaTeX renderer prototypes for content blocks,
  raw blocks, and inline raw spans. (#469, #532, co-authored by @michal-h21)

  This allows authors to render HTML fragments in their LaTeX documents:

  `````` tex
  \documentclass{article}
  \usepackage[content_blocks, raw_attribute]{markdown}
  \begin{filecontents}[overwrite, nosearch, noheader]{example_input.html}
  <b>foo</b> <i>bar</i>
  \end{filecontents}
  \begin{document}
  \begin{markdown}

  Raw text span: `<b>foo</b> <i>bar</i>`{=html}

  Raw code block:

  ``` {=html}
  <b>foo</b> <i>bar</i>
  ```

  Content block:

   /example_input.html

  \end{markdown}
  \end{document}
  ``````

Deprecation:

- Remove support for TeX Live 2022. (da85e015, 8f2d25c7)

  This change also removes the Lua module `markdown-tinyyaml`, which has been
  scheduled for removal ever since the Lua module `tinyyaml` was uploaded to
  CTAN in TeX Live 2023.


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

This package is located at 
   https://mirrors.ctan.org/macros/generic/markdown

More information is at
   https://www.ctan.org/pkg/markdown

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

   Thanks for the upload.

     For the CTAN Team
    Erik Braun

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

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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.