summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/markdown/markdown.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/markdown/markdown.sty')
-rw-r--r--Master/texmf-dist/tex/latex/markdown/markdown.sty161
1 files changed, 142 insertions, 19 deletions
diff --git a/Master/texmf-dist/tex/latex/markdown/markdown.sty b/Master/texmf-dist/tex/latex/markdown/markdown.sty
index 546f5e4215f..c887db1c16a 100644
--- a/Master/texmf-dist/tex/latex/markdown/markdown.sty
+++ b/Master/texmf-dist/tex/latex/markdown/markdown.sty
@@ -59,19 +59,27 @@
}
\let\markdownSetup=\__markdown_setup:n
\ExplSyntaxOff
-\newcommand\markdownSetupSnippet[2]{%
- \markdownIfSnippetExists{#1}%
- {%
- \markdownWarning
- {Redefined setup snippet \markdownLaTeXThemeName#1}%
- \csname markdownLaTeXSetupSnippet%
- \markdownLaTeXThemeName#1\endcsname={#2}%
- }{%
- \newtoks\next
- \next={#2}%
- \expandafter\let\csname markdownLaTeXSetupSnippet%
- \markdownLaTeXThemeName#1\endcsname=\next
- }}%
+\ExplSyntaxOn
+\cs_new:Nn
+ \__markdown_latex_setup_snippet:nn
+ {
+ \markdownIfSnippetExists
+ { #1 }
+ {
+ \markdownWarning
+ {Redefined~snippet~\markdownLaTeXThemeName#1}
+ \csname markdownLaTeXSetupSnippet%
+ \markdownLaTeXThemeName#1\endcsname={#2}
+ }
+ {
+ \newtoks\next
+ \next={#2}
+ \expandafter\let\csname markdownLaTeXSetupSnippet%
+ \markdownLaTeXThemeName#1\endcsname=\next
+ }
+ }
+\let\markdownSetupSnippet=\__markdown_latex_setup_snippet:nn
+\ExplSyntaxOff
\newcommand\markdownIfSnippetExists[3]{%
\@ifundefined
{markdownLaTeXSetupSnippet\markdownLaTeXThemeName#1}%
@@ -133,6 +141,25 @@
\keys_define:nn
{ markdown/latex-options }
{
+ import .code:n = {
+ \tl_set:Nn
+ \l_tmpa_tl
+ { #1 }
+ \tl_replace_all:NnV
+ \l_tmpa_tl
+ { / }
+ \c_backslash_str
+ \keys_set:nV
+ { markdown/latex-options/import }
+ \l_tmpa_tl
+ },
+ }
+\cs_generate_variant:Nn
+ \tl_replace_all:Nnn
+ { NnV }
+\keys_define:nn
+ { markdown/latex-options }
+ {
theme .code:n = { \__markdown_set_latex_theme:n { #1 } },
}
\ExplSyntaxOff
@@ -159,6 +186,71 @@
}
\ExplSyntaxOff
\ExplSyntaxOn
+\tl_new:N
+ \l__markdown_latex_import_current_theme_tl
+\keys_define:nn
+ { markdown/latex-options/import }
+ {
+ unknown .default:n = {},
+ unknown .code:n = {
+ \tl_set_eq:NN
+ \l__markdown_latex_import_current_theme_tl
+ \l_keys_key_str
+ \tl_replace_all:NVn
+ \l__markdown_latex_import_current_theme_tl
+ \c_backslash_str
+ { / }
+ \__markdown_set_latex_theme:V
+ \l__markdown_latex_import_current_theme_tl
+ \clist_map_inline:nn
+ { #1 }
+ {
+ \regex_extract_once:nnNTF
+ { ^(.*?)\s+as\s+(.*?)$ }
+ { ##1 }
+ \l_tmpa_seq
+ {
+ \seq_pop:NN
+ \l_tmpa_seq
+ \l_tmpa_tl
+ \seq_pop:NN
+ \l_tmpa_seq
+ \l_tmpa_tl
+ \seq_pop:NN
+ \l_tmpa_seq
+ \l_tmpb_tl
+ }
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+ { ##1 }
+ \tl_set:Nn
+ \l_tmpb_tl
+ { ##1 }
+ }
+ \tl_put_left:Nn
+ \l_tmpa_tl
+ { / }
+ \tl_put_left:NV
+ \l_tmpa_tl
+ \l__markdown_latex_import_current_theme_tl
+ \__markdown_latex_setup_snippet:Vx
+ \l_tmpb_tl
+ { snippet = { \l_tmpa_tl } }
+ }
+ },
+ }
+\cs_generate_variant:Nn
+ \tl_replace_all:Nnn
+ { NVn }
+\cs_generate_variant:Nn
+ \__markdown_set_latex_theme:n
+ { V }
+\cs_generate_variant:Nn
+ \__markdown_latex_setup_snippet:nn
+ { Vx }
+\ExplSyntaxOff
+\ExplSyntaxOn
\cs_new:Nn \__markdown_latex_define_option_commands_and_keyvals:
{
\seq_map_inline:Nn
@@ -513,12 +605,6 @@
\cs_generate_variant:Nn
\keys_define:nn
{ nV }
-\cs_generate_variant:Nn
- \tl_replace_all:Nnn
- { NVn }
-\cs_generate_variant:Nn
- \tl_replace_all:Nnn
- { NnV }
\ExplSyntaxOff
\markdownIfOption{plain}{\iffalse}{\iftrue}
\@ifclassloaded{beamer}{}{%
@@ -1293,6 +1379,43 @@
}
}
}{}
+\markdownIfOption{strikeThrough}{%
+ \RequirePackage{soulutf8}%
+ \markdownSetup{
+ rendererPrototypes = {
+ strikeThrough = {%
+ \st{#1}%
+ },
+ }
+ }
+}{}
+\ExplSyntaxOn
+\__markdown_if_option:nTF
+ { linkAttributes }
+ {
+ \RequirePackage{graphicx}
+ \markdownSetup{
+ rendererPrototypes = {
+ imageAttributeContextBegin = {
+ \group_begin:
+ \markdownSetup{
+ rendererPrototypes = {
+ attributeKeyValue = {
+ \setkeys
+ { Gin }
+ { { ##1 } = { ##2 } }
+ },
+ },
+ }
+ },
+ imageAttributeContextEnd = {
+ \group_end:
+ },
+ },
+ }
+ }
+ { }
+\ExplSyntaxOff
\ExplSyntaxOn
\cs_gset:Npn
\markdownRendererInputRawInlinePrototype#1#2