From d559ccaca60acb46c6a12c256ea2a1dcc867d0f8 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Fri, 5 Apr 2019 21:09:01 +0000
Subject: markdown (5apr19)

git-svn-id: svn://tug.org/texlive/trunk@50784 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/markdown/markdown.sty | 196 ++++++++++++++++++++--
 1 file changed, 185 insertions(+), 11 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/markdown/markdown.sty')

diff --git a/Master/texmf-dist/tex/latex/markdown/markdown.sty b/Master/texmf-dist/tex/latex/markdown/markdown.sty
index 251a2f62d74..f21cb15b81d 100644
--- a/Master/texmf-dist/tex/latex/markdown/markdown.sty
+++ b/Master/texmf-dist/tex/latex/markdown/markdown.sty
@@ -6,7 +6,7 @@
 %%
 %% markdown.dtx  (with options: `latex')
 %% 
-%% Copyright (C) 2018 Vít Novotný
+%% Copyright (C) 2016-2019 Vít Novotný
 %% 
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3
@@ -52,6 +52,7 @@
 \RequirePackage{ifthen}
 \RequirePackage{fancyvrb}
 \RequirePackage{csvsimple}
+\RequirePackage{gobble}
 \newenvironment{markdown}\relax\relax
 \newenvironment{markdown*}[1]\relax\relax
 \newcommand\markdownSetup[1]{%
@@ -94,6 +95,8 @@
   \def\markdownOptionFencedCode{#1}}%
 \define@key{markdownOptions}{hashEnumerators}[true]{%
   \def\markdownOptionHashEnumerators{#1}}%
+\define@key{markdownOptions}{headerAttributes}[true]{%
+  \def\markdownOptionHeaderAttributes{#1}}%
 \define@key{markdownOptions}{html}[true]{%
   \def\markdownOptionHtml{#1}}%
 \define@key{markdownOptions}{hybrid}[true]{%
@@ -104,6 +107,8 @@
   \def\markdownOptionPreserveTabs{#1}}%
 \define@key{markdownOptions}{smartEllipses}[true]{%
   \def\markdownOptionSmartEllipses{#1}}%
+\define@key{markdownOptions}{slice}[true]{%
+  \def\markdownOptionSlice{#1}}%
 \define@key{markdownOptions}{startNumber}[true]{%
   \def\markdownOptionStartNumber{#1}}%
 \define@key{markdownOptions}{tightLists}[true]{%
@@ -495,14 +500,161 @@
 \fi
 \newcount\markdownLaTeXCitationsCounter
 
-\def\markdownLaTeXBasicCitations#1#2#3#4{%
+\def\markdownLaTeXBasicCitations#1#2#3#4#5#6{%
   \advance\markdownLaTeXCitationsCounter by 1\relax
-  \ifx\relax#2\relax\else#2~\fi\cite[#3]{#4}%
-  \ifnum\markdownLaTeXCitationsCounter>\markdownLaTeXCitationsTotal\relax
-    \expandafter\@gobble
-  \fi\markdownLaTeXBasicCitations}
+  \ifx\relax#4\relax
+    \ifx\relax#5\relax
+      \ifnum\markdownLaTeXCitationsCounter>\markdownLaTeXCitationsTotal\relax
+        \cite{#1#2#6}%  Without prenotes and postnotes, just accumulate cites
+        \expandafter\expandafter\expandafter
+        \expandafter\expandafter\expandafter\expandafter
+        \@gobblethree
+      \fi
+    \else%  Before a postnote (#5), dump the accumulator
+      \ifx\relax#1\relax\else
+        \cite{#1}%
+      \fi
+      \cite[#5]{#6}%
+      \ifnum\markdownLaTeXCitationsCounter>\markdownLaTeXCitationsTotal\relax
+      \else
+        \expandafter\expandafter\expandafter
+        \expandafter\expandafter\expandafter\expandafter
+        \expandafter\expandafter\expandafter
+        \expandafter\expandafter\expandafter\expandafter
+        \markdownLaTeXBasicCitations
+      \fi
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter{%
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter}%
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter{%
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter}%
+      \expandafter\expandafter\expandafter
+      \@gobblethree
+    \fi
+  \else%  Before a prenote (#4), dump the accumulator
+    \ifx\relax#1\relax\else
+      \cite{#1}%
+    \fi
+    \ifnum\markdownLaTeXCitationsCounter>1\relax
+      \space  % Insert a space before the prenote in later citations
+    \fi
+    #4~\expandafter\cite\ifx\relax#5\relax{#6}\else[#5]{#6}\fi
+    \ifnum\markdownLaTeXCitationsCounter>\markdownLaTeXCitationsTotal\relax
+    \else
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter
+      \markdownLaTeXBasicCitations
+    \fi
+    \expandafter\expandafter\expandafter{%
+    \expandafter\expandafter\expandafter}%
+    \expandafter\expandafter\expandafter{%
+    \expandafter\expandafter\expandafter}%
+    \expandafter
+    \@gobblethree
+  \fi\markdownLaTeXBasicCitations{#1#2#6},}
 \let\markdownLaTeXBasicTextCitations\markdownLaTeXBasicCitations
 
+\def\markdownLaTeXNatbibCitations#1#2#3#4#5{%
+  \advance\markdownLaTeXCitationsCounter by 1\relax
+  \ifx\relax#3\relax
+    \ifx\relax#4\relax
+      \ifnum\markdownLaTeXCitationsCounter>\markdownLaTeXCitationsTotal\relax
+        \citep{#1,#5}%  Without prenotes and postnotes, just accumulate cites
+        \expandafter\expandafter\expandafter
+        \expandafter\expandafter\expandafter\expandafter
+        \@gobbletwo
+      \fi
+    \else%  Before a postnote (#4), dump the accumulator
+      \ifx\relax#1\relax\else
+        \citep{#1}%
+      \fi
+      \citep[][#4]{#5}%
+      \ifnum\markdownLaTeXCitationsCounter>\markdownLaTeXCitationsTotal\relax
+      \else
+        \expandafter\expandafter\expandafter
+        \expandafter\expandafter\expandafter\expandafter
+        \expandafter\expandafter\expandafter
+        \expandafter\expandafter\expandafter\expandafter
+        \markdownLaTeXNatbibCitations
+      \fi
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter{%
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter}%
+      \expandafter\expandafter\expandafter
+      \@gobbletwo
+    \fi
+  \else%  Before a prenote (#3), dump the accumulator
+    \ifx\relax#1\relax\relax\else
+      \citep{#1}%
+    \fi
+    \citep[#3][#4]{#5}%
+    \ifnum\markdownLaTeXCitationsCounter>\markdownLaTeXCitationsTotal\relax
+    \else
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter
+      \markdownLaTeXNatbibCitations
+    \fi
+    \expandafter\expandafter\expandafter{%
+    \expandafter\expandafter\expandafter}%
+    \expandafter
+    \@gobbletwo
+  \fi\markdownLaTeXNatbibCitations{#1,#5}}
+\def\markdownLaTeXNatbibTextCitations#1#2#3#4#5{%
+  \advance\markdownLaTeXCitationsCounter by 1\relax
+  \ifx\relax#3\relax
+    \ifx\relax#4\relax
+      \ifnum\markdownLaTeXCitationsCounter>\markdownLaTeXCitationsTotal\relax
+        \citet{#1,#5}%  Without prenotes and postnotes, just accumulate cites
+        \expandafter\expandafter\expandafter
+        \expandafter\expandafter\expandafter\expandafter
+        \@gobbletwo
+      \fi
+    \else%  After a prenote or a postnote, dump the accumulator
+      \ifx\relax#1\relax\else
+        \citet{#1}%
+      \fi
+      , \citet[#3][#4]{#5}%
+      \ifnum\markdownLaTeXCitationsCounter<\markdownLaTeXCitationsTotal\relax
+        ,
+      \else
+        \ifnum\markdownLaTeXCitationsCounter=\markdownLaTeXCitationsTotal\relax
+          ,
+        \fi
+      \fi
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter
+      \markdownLaTeXNatbibTextCitations
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter{%
+      \expandafter\expandafter\expandafter
+      \expandafter\expandafter\expandafter\expandafter}%
+      \expandafter\expandafter\expandafter
+      \@gobbletwo
+    \fi
+  \else%  After a prenote or a postnote, dump the accumulator
+    \ifx\relax#1\relax\relax\else
+      \citet{#1}%
+    \fi
+    , \citet[#3][#4]{#5}%
+    \ifnum\markdownLaTeXCitationsCounter<\markdownLaTeXCitationsTotal\relax
+      ,
+    \else
+      \ifnum\markdownLaTeXCitationsCounter=\markdownLaTeXCitationsTotal\relax
+        ,
+      \fi
+    \fi
+    \expandafter\expandafter\expandafter
+    \markdownLaTeXNatbibTextCitations
+    \expandafter\expandafter\expandafter{%
+    \expandafter\expandafter\expandafter}%
+    \expandafter
+    \@gobbletwo
+  \fi\markdownLaTeXNatbibTextCitations{#1,#5}}
+
 \def\markdownLaTeXBibLaTeXCitations#1#2#3#4#5{%
   \advance\markdownLaTeXCitationsCounter by 1\relax
   \ifnum\markdownLaTeXCitationsCounter>\markdownLaTeXCitationsTotal\relax
@@ -521,8 +673,19 @@
     \markdownLaTeXCitationsCounter=1%
     \def\markdownLaTeXCitationsTotal{#1}%
     \ifx\autocites\undefined
-      \expandafter
-      \markdownLaTeXBasicCitations
+      \ifx\citep\undefined
+        \expandafter\expandafter\expandafter
+        \markdownLaTeXBasicCitations
+        \expandafter\expandafter\expandafter{%
+        \expandafter\expandafter\expandafter}%
+        \expandafter\expandafter\expandafter{%
+        \expandafter\expandafter\expandafter}%
+      \else
+        \expandafter\expandafter\expandafter
+        \markdownLaTeXNatbibCitations
+        \expandafter\expandafter\expandafter{%
+        \expandafter\expandafter\expandafter}%
+      \fi
     \else
       \expandafter\expandafter\expandafter
       \markdownLaTeXBibLaTeXCitations
@@ -531,9 +694,20 @@
   textCite = {%
     \markdownLaTeXCitationsCounter=1%
     \def\markdownLaTeXCitationsTotal{#1}%
-    \ifx\textcites\undefined
-      \expandafter
-      \markdownLaTeXBasicTextCitations
+    \ifx\autocites\undefined
+      \ifx\citep\undefined
+        \expandafter\expandafter\expandafter
+        \markdownLaTeXBasicTextCitations
+        \expandafter\expandafter\expandafter{%
+        \expandafter\expandafter\expandafter}%
+        \expandafter\expandafter\expandafter{%
+        \expandafter\expandafter\expandafter}%
+      \else
+        \expandafter\expandafter\expandafter
+        \markdownLaTeXNatbibTextCitations
+        \expandafter\expandafter\expandafter{%
+        \expandafter\expandafter\expandafter}%
+      \fi
     \else
       \expandafter\expandafter\expandafter
       \markdownLaTeXBibLaTeXTextCitations
-- 
cgit v1.2.3

