830 lines
33 KiB
Text
830 lines
33 KiB
Text
|
%%
|
||
|
%% This is file `markdown.sty',
|
||
|
%% generated with the docstrip utility.
|
||
|
%%
|
||
|
%% The original source files were:
|
||
|
%%
|
||
|
%% markdown.dtx (with options: `latex')
|
||
|
%%
|
||
|
%% Copyright (C) 2016-2020 Vít Novotný
|
||
|
%%
|
||
|
%% This work may be distributed and/or modified under the
|
||
|
%% conditions of the LaTeX Project Public License, either version 1.3
|
||
|
%% of this license or (at your option) any later version.
|
||
|
%% The latest version of this license is in
|
||
|
%%
|
||
|
%% http://www.latex-project.org/lppl.txt
|
||
|
%%
|
||
|
%% and version 1.3 or later is part of all distributions of LaTeX
|
||
|
%% version 2005/12/01 or later.
|
||
|
%%
|
||
|
%% This work has the LPPL maintenance status `maintained'.
|
||
|
%% The Current Maintainer of this work is Vít Novotný.
|
||
|
%%
|
||
|
%% Send bug reports, requests for additions and questions
|
||
|
%% either to the GitHub issue tracker at
|
||
|
%%
|
||
|
%% https://github.com/Witiko/markdown/issues
|
||
|
%%
|
||
|
%% or to the e-mail address <witiko@mail.muni.cz>.
|
||
|
%%
|
||
|
%% MODIFICATION ADVICE:
|
||
|
%%
|
||
|
%% If you want to customize this file, it is best to make a copy of
|
||
|
%% the source file(s) from which it was produced. Use a different
|
||
|
%% name for your copy(ies) and modify the copy(ies); this will ensure
|
||
|
%% that your modifications do not get overwritten when you install a
|
||
|
%% new release of the standard system. You should also ensure that
|
||
|
%% your modified source file does not generate any modified file with
|
||
|
%% the same name as a standard file.
|
||
|
%%
|
||
|
%% You will also need to produce your own, suitably named, .ins file to
|
||
|
%% control the generation of files from your source file; this file
|
||
|
%% should contain your own preambles for the files it generates, not
|
||
|
%% those in the standard .ins files.
|
||
|
%%
|
||
|
%% The names of the source files used are shown above.
|
||
|
%%
|
||
|
\NeedsTeXFormat{LaTeX2e}%
|
||
|
\RequirePackage{keyval}
|
||
|
\RequirePackage{url}
|
||
|
\RequirePackage{graphicx}
|
||
|
\RequirePackage{ifthen}
|
||
|
\RequirePackage{fancyvrb}
|
||
|
\RequirePackage{csvsimple}
|
||
|
\RequirePackage{gobble}
|
||
|
\newenvironment{markdown}\relax\relax
|
||
|
\newenvironment{markdown*}[1]\relax\relax
|
||
|
\newcommand\markdownSetup[1]{%
|
||
|
\setkeys{markdownOptions}{#1}}%
|
||
|
\define@key{markdownOptions}{helperScriptFileName}{%
|
||
|
\def\markdownOptionHelperScriptFileName{#1}}%
|
||
|
\define@key{markdownOptions}{inputTempFileName}{%
|
||
|
\def\markdownOptionInputTempFileName{#1}}%
|
||
|
\define@key{markdownOptions}{outputTempFileName}{%
|
||
|
\def\markdownOptionOutputTempFileName{#1}}%
|
||
|
\define@key{markdownOptions}{errorTempFileName}{%
|
||
|
\def\markdownOptionErrorTempFileName{#1}}%
|
||
|
\define@key{markdownOptions}{cacheDir}{%
|
||
|
\def\markdownOptionCacheDir{#1}}%
|
||
|
\define@key{markdownOptions}{outputDir}{%
|
||
|
\def\markdownOptionOutputDir{#1}}%
|
||
|
\define@key{markdownOptions}{blankBeforeBlockquote}[true]{%
|
||
|
\def\markdownOptionBlankBeforeBlockquote{#1}}%
|
||
|
\define@key{markdownOptions}{blankBeforeCodeFence}[true]{%
|
||
|
\def\markdownOptionBlankBeforeCodeFence{#1}}%
|
||
|
\define@key{markdownOptions}{blankBeforeHeading}[true]{%
|
||
|
\def\markdownOptionBlankBeforeHeading{#1}}%
|
||
|
\define@key{markdownOptions}{breakableBlockquotes}[true]{%
|
||
|
\def\markdownOptionBreakableBlockquotes{#1}}%
|
||
|
\define@key{markdownOptions}{citations}[true]{%
|
||
|
\def\markdownOptionCitations{#1}}%
|
||
|
\define@key{markdownOptions}{citationNbsps}[true]{%
|
||
|
\def\markdownOptionCitationNbsps{#1}}%
|
||
|
\define@key{markdownOptions}{contentBlocks}[true]{%
|
||
|
\def\markdownOptionContentBlocks{#1}}%
|
||
|
\define@key{markdownOptions}{codeSpans}[true]{%
|
||
|
\def\markdownOptionCodeSpans{#1}}%
|
||
|
\define@key{markdownOptions}{contentBlocksLanguageMap}{%
|
||
|
\def\markdownOptionContentBlocksLanguageMap{#1}}%
|
||
|
\define@key{markdownOptions}{definitionLists}[true]{%
|
||
|
\def\markdownOptionDefinitionLists{#1}}%
|
||
|
\define@key{markdownOptions}{footnotes}[true]{%
|
||
|
\def\markdownOptionFootnotes{#1}}%
|
||
|
\define@key{markdownOptions}{fencedCode}[true]{%
|
||
|
\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]{%
|
||
|
\def\markdownOptionHybrid{#1}}%
|
||
|
\define@key{markdownOptions}{inlineFootnotes}[true]{%
|
||
|
\def\markdownOptionInlineFootnotes{#1}}%
|
||
|
\define@key{markdownOptions}{pipeTables}[true]{%
|
||
|
\def\markdownOptionPipeTables{#1}}%
|
||
|
\define@key{markdownOptions}{preserveTabs}[true]{%
|
||
|
\def\markdownOptionPreserveTabs{#1}}%
|
||
|
\define@key{markdownOptions}{smartEllipses}[true]{%
|
||
|
\def\markdownOptionSmartEllipses{#1}}%
|
||
|
\define@key{markdownOptions}{shiftHeadings}{%
|
||
|
\def\markdownOptionShiftHeadings{#1}}%
|
||
|
\define@key{markdownOptions}{slice}{%
|
||
|
\def\markdownOptionSlice{#1}}%
|
||
|
\define@key{markdownOptions}{startNumber}[true]{%
|
||
|
\def\markdownOptionStartNumber{#1}}%
|
||
|
\define@key{markdownOptions}{tableCaptions}[true]{%
|
||
|
\def\markdownOptionTableCaptions{#1}}%
|
||
|
\define@key{markdownOptions}{tightLists}[true]{%
|
||
|
\def\markdownOptionTightLists{#1}}%
|
||
|
\define@key{markdownOptions}{underscores}[true]{%
|
||
|
\def\markdownOptionUnderscores{#1}}%
|
||
|
\define@key{markdownOptions}{stripPercentSigns}[true]{%
|
||
|
\def\markdownOptionStripPercentSigns{#1}}%
|
||
|
\define@key{markdownOptions}{finalizeCache}[true]{%
|
||
|
\def\markdownOptionFinalizeCache{#1}}%
|
||
|
\DeclareOption{finalizecache}{\markdownSetup{finalizeCache}}
|
||
|
\define@key{markdownOptions}{frozenCache}[true]{%
|
||
|
\def\markdownOptionFrozenCache{#1}}%
|
||
|
\DeclareOption{frozencache}{\markdownSetup{frozenCache}}
|
||
|
\define@key{markdownOptions}{frozenCacheFileName}{%
|
||
|
\def\markdownOptionFrozenCacheFileName{#1}}%
|
||
|
\define@key{markdownRenderers}{interblockSeparator}{%
|
||
|
\renewcommand\markdownRendererInterblockSeparator{#1}}%
|
||
|
\define@key{markdownRenderers}{lineBreak}{%
|
||
|
\renewcommand\markdownRendererLineBreak{#1}}%
|
||
|
\define@key{markdownRenderers}{ellipsis}{%
|
||
|
\renewcommand\markdownRendererEllipsis{#1}}%
|
||
|
\define@key{markdownRenderers}{nbsp}{%
|
||
|
\renewcommand\markdownRendererNbsp{#1}}%
|
||
|
\define@key{markdownRenderers}{leftBrace}{%
|
||
|
\renewcommand\markdownRendererLeftBrace{#1}}%
|
||
|
\define@key{markdownRenderers}{rightBrace}{%
|
||
|
\renewcommand\markdownRendererRightBrace{#1}}%
|
||
|
\define@key{markdownRenderers}{dollarSign}{%
|
||
|
\renewcommand\markdownRendererDollarSign{#1}}%
|
||
|
\define@key{markdownRenderers}{percentSign}{%
|
||
|
\renewcommand\markdownRendererPercentSign{#1}}%
|
||
|
\define@key{markdownRenderers}{ampersand}{%
|
||
|
\renewcommand\markdownRendererAmpersand{#1}}%
|
||
|
\define@key{markdownRenderers}{underscore}{%
|
||
|
\renewcommand\markdownRendererUnderscore{#1}}%
|
||
|
\define@key{markdownRenderers}{hash}{%
|
||
|
\renewcommand\markdownRendererHash{#1}}%
|
||
|
\define@key{markdownRenderers}{circumflex}{%
|
||
|
\renewcommand\markdownRendererCircumflex{#1}}%
|
||
|
\define@key{markdownRenderers}{backslash}{%
|
||
|
\renewcommand\markdownRendererBackslash{#1}}%
|
||
|
\define@key{markdownRenderers}{tilde}{%
|
||
|
\renewcommand\markdownRendererTilde{#1}}%
|
||
|
\define@key{markdownRenderers}{pipe}{%
|
||
|
\renewcommand\markdownRendererPipe{#1}}%
|
||
|
\define@key{markdownRenderers}{codeSpan}{%
|
||
|
\renewcommand\markdownRendererCodeSpan[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{link}{%
|
||
|
\renewcommand\markdownRendererLink[4]{#1}}%
|
||
|
\define@key{markdownRenderers}{contentBlock}{%
|
||
|
\renewcommand\markdownRendererContentBlock[4]{#1}}%
|
||
|
\define@key{markdownRenderers}{contentBlockOnlineImage}{%
|
||
|
\renewcommand\markdownRendererContentBlockOnlineImage[4]{#1}}%
|
||
|
\define@key{markdownRenderers}{contentBlockCode}{%
|
||
|
\renewcommand\markdownRendererContentBlockCode[5]{#1}}%
|
||
|
\define@key{markdownRenderers}{image}{%
|
||
|
\renewcommand\markdownRendererImage[4]{#1}}%
|
||
|
\define@key{markdownRenderers}{ulBegin}{%
|
||
|
\renewcommand\markdownRendererUlBegin{#1}}%
|
||
|
\define@key{markdownRenderers}{ulBeginTight}{%
|
||
|
\renewcommand\markdownRendererUlBeginTight{#1}}%
|
||
|
\define@key{markdownRenderers}{ulItem}{%
|
||
|
\renewcommand\markdownRendererUlItem{#1}}%
|
||
|
\define@key{markdownRenderers}{ulItemEnd}{%
|
||
|
\renewcommand\markdownRendererUlItemEnd{#1}}%
|
||
|
\define@key{markdownRenderers}{ulEnd}{%
|
||
|
\renewcommand\markdownRendererUlEnd{#1}}%
|
||
|
\define@key{markdownRenderers}{ulEndTight}{%
|
||
|
\renewcommand\markdownRendererUlEndTight{#1}}%
|
||
|
\define@key{markdownRenderers}{olBegin}{%
|
||
|
\renewcommand\markdownRendererOlBegin{#1}}%
|
||
|
\define@key{markdownRenderers}{olBeginTight}{%
|
||
|
\renewcommand\markdownRendererOlBeginTight{#1}}%
|
||
|
\define@key{markdownRenderers}{olItem}{%
|
||
|
\renewcommand\markdownRendererOlItem{#1}}%
|
||
|
\define@key{markdownRenderers}{olItemWithNumber}{%
|
||
|
\renewcommand\markdownRendererOlItemWithNumber[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{olItemEnd}{%
|
||
|
\renewcommand\markdownRendererOlItemEnd{#1}}%
|
||
|
\define@key{markdownRenderers}{olEnd}{%
|
||
|
\renewcommand\markdownRendererOlEnd{#1}}%
|
||
|
\define@key{markdownRenderers}{olEndTight}{%
|
||
|
\renewcommand\markdownRendererOlEndTight{#1}}%
|
||
|
\define@key{markdownRenderers}{dlBegin}{%
|
||
|
\renewcommand\markdownRendererDlBegin{#1}}%
|
||
|
\define@key{markdownRenderers}{dlBeginTight}{%
|
||
|
\renewcommand\markdownRendererDlBeginTight{#1}}%
|
||
|
\define@key{markdownRenderers}{dlItem}{%
|
||
|
\renewcommand\markdownRendererDlItem[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{dlItemEnd}{%
|
||
|
\renewcommand\markdownRendererDlItemEnd{#1}}%
|
||
|
\define@key{markdownRenderers}{dlDefinitionBegin}{%
|
||
|
\renewcommand\markdownRendererDlDefinitionBegin{#1}}%
|
||
|
\define@key{markdownRenderers}{dlDefinitionEnd}{%
|
||
|
\renewcommand\markdownRendererDlDefinitionEnd{#1}}%
|
||
|
\define@key{markdownRenderers}{dlEnd}{%
|
||
|
\renewcommand\markdownRendererDlEnd{#1}}%
|
||
|
\define@key{markdownRenderers}{dlEndTight}{%
|
||
|
\renewcommand\markdownRendererDlEndTight{#1}}%
|
||
|
\define@key{markdownRenderers}{emphasis}{%
|
||
|
\renewcommand\markdownRendererEmphasis[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{strongEmphasis}{%
|
||
|
\renewcommand\markdownRendererStrongEmphasis[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{blockQuoteBegin}{%
|
||
|
\renewcommand\markdownRendererBlockQuoteBegin{#1}}%
|
||
|
\define@key{markdownRenderers}{blockQuoteEnd}{%
|
||
|
\renewcommand\markdownRendererBlockQuoteEnd{#1}}%
|
||
|
\define@key{markdownRenderers}{inputVerbatim}{%
|
||
|
\renewcommand\markdownRendererInputVerbatim[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{inputFencedCode}{%
|
||
|
\renewcommand\markdownRendererInputFencedCode[2]{#1}}%
|
||
|
\define@key{markdownRenderers}{headingOne}{%
|
||
|
\renewcommand\markdownRendererHeadingOne[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{headingTwo}{%
|
||
|
\renewcommand\markdownRendererHeadingTwo[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{headingThree}{%
|
||
|
\renewcommand\markdownRendererHeadingThree[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{headingFour}{%
|
||
|
\renewcommand\markdownRendererHeadingFour[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{headingFive}{%
|
||
|
\renewcommand\markdownRendererHeadingFive[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{headingSix}{%
|
||
|
\renewcommand\markdownRendererHeadingSix[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{horizontalRule}{%
|
||
|
\renewcommand\markdownRendererHorizontalRule{#1}}%
|
||
|
\define@key{markdownRenderers}{footnote}{%
|
||
|
\renewcommand\markdownRendererFootnote[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{cite}{%
|
||
|
\renewcommand\markdownRendererCite[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{textCite}{%
|
||
|
\renewcommand\markdownRendererTextCite[1]{#1}}%
|
||
|
\define@key{markdownRenderers}{table}{%
|
||
|
\renewcommand\markdownRendererTable[3]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{interblockSeparator}{%
|
||
|
\renewcommand\markdownRendererInterblockSeparatorPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{lineBreak}{%
|
||
|
\renewcommand\markdownRendererLineBreakPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{ellipsis}{%
|
||
|
\renewcommand\markdownRendererEllipsisPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{nbsp}{%
|
||
|
\renewcommand\markdownRendererNbspPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{leftBrace}{%
|
||
|
\renewcommand\markdownRendererLeftBracePrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{rightBrace}{%
|
||
|
\renewcommand\markdownRendererRightBracePrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{dollarSign}{%
|
||
|
\renewcommand\markdownRendererDollarSignPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{percentSign}{%
|
||
|
\renewcommand\markdownRendererPercentSignPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{ampersand}{%
|
||
|
\renewcommand\markdownRendererAmpersandPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{underscore}{%
|
||
|
\renewcommand\markdownRendererUnderscorePrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{hash}{%
|
||
|
\renewcommand\markdownRendererHashPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{circumflex}{%
|
||
|
\renewcommand\markdownRendererCircumflexPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{backslash}{%
|
||
|
\renewcommand\markdownRendererBackslashPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{tilde}{%
|
||
|
\renewcommand\markdownRendererTildePrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{pipe}{%
|
||
|
\renewcommand\markdownRendererPipePrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{codeSpan}{%
|
||
|
\renewcommand\markdownRendererCodeSpanPrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{link}{%
|
||
|
\renewcommand\markdownRendererLinkPrototype[4]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{contentBlock}{%
|
||
|
\renewcommand\markdownRendererContentBlockPrototype[4]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{contentBlockOnlineImage}{%
|
||
|
\renewcommand\markdownRendererContentBlockOnlineImagePrototype[4]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{contentBlockCode}{%
|
||
|
\renewcommand\markdownRendererContentBlockCodePrototype[5]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{image}{%
|
||
|
\renewcommand\markdownRendererImagePrototype[4]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{ulBegin}{%
|
||
|
\renewcommand\markdownRendererUlBeginPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{ulBeginTight}{%
|
||
|
\renewcommand\markdownRendererUlBeginTightPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{ulItem}{%
|
||
|
\renewcommand\markdownRendererUlItemPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{ulItemEnd}{%
|
||
|
\renewcommand\markdownRendererUlItemEndPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{ulEnd}{%
|
||
|
\renewcommand\markdownRendererUlEndPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{ulEndTight}{%
|
||
|
\renewcommand\markdownRendererUlEndTightPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{olBegin}{%
|
||
|
\renewcommand\markdownRendererOlBeginPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{olBeginTight}{%
|
||
|
\renewcommand\markdownRendererOlBeginTightPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{olItem}{%
|
||
|
\renewcommand\markdownRendererOlItemPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{olItemWithNumber}{%
|
||
|
\renewcommand\markdownRendererOlItemWithNumberPrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{olItemEnd}{%
|
||
|
\renewcommand\markdownRendererOlItemEndPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{olEnd}{%
|
||
|
\renewcommand\markdownRendererOlEndPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{olEndTight}{%
|
||
|
\renewcommand\markdownRendererOlEndTightPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{dlBegin}{%
|
||
|
\renewcommand\markdownRendererDlBeginPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{dlBeginTight}{%
|
||
|
\renewcommand\markdownRendererDlBeginTightPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{dlItem}{%
|
||
|
\renewcommand\markdownRendererDlItemPrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{dlItemEnd}{%
|
||
|
\renewcommand\markdownRendererDlItemEndPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{dlDefinitionBegin}{%
|
||
|
\renewcommand\markdownRendererDlDefinitionBeginPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{dlDefinitionEnd}{%
|
||
|
\renewcommand\markdownRendererDlDefinitionEndPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{dlEnd}{%
|
||
|
\renewcommand\markdownRendererDlEndPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{dlEndTight}{%
|
||
|
\renewcommand\markdownRendererDlEndTightPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{emphasis}{%
|
||
|
\renewcommand\markdownRendererEmphasisPrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{strongEmphasis}{%
|
||
|
\renewcommand\markdownRendererStrongEmphasisPrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{blockQuoteBegin}{%
|
||
|
\renewcommand\markdownRendererBlockQuoteBeginPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{blockQuoteEnd}{%
|
||
|
\renewcommand\markdownRendererBlockQuoteEndPrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{inputVerbatim}{%
|
||
|
\renewcommand\markdownRendererInputVerbatimPrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{inputFencedCode}{%
|
||
|
\renewcommand\markdownRendererInputFencedCodePrototype[2]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{headingOne}{%
|
||
|
\renewcommand\markdownRendererHeadingOnePrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{headingTwo}{%
|
||
|
\renewcommand\markdownRendererHeadingTwoPrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{headingThree}{%
|
||
|
\renewcommand\markdownRendererHeadingThreePrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{headingFour}{%
|
||
|
\renewcommand\markdownRendererHeadingFourPrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{headingFive}{%
|
||
|
\renewcommand\markdownRendererHeadingFivePrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{headingSix}{%
|
||
|
\renewcommand\markdownRendererHeadingSixPrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{horizontalRule}{%
|
||
|
\renewcommand\markdownRendererHorizontalRulePrototype{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{footnote}{%
|
||
|
\renewcommand\markdownRendererFootnotePrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{cite}{%
|
||
|
\renewcommand\markdownRendererCitePrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{textCite}{%
|
||
|
\renewcommand\markdownRendererTextCitePrototype[1]{#1}}%
|
||
|
\define@key{markdownRendererPrototypes}{table}{%
|
||
|
\renewcommand\markdownRendererTablePrototype[3]{#1}}%
|
||
|
\input markdown
|
||
|
\def\markdownVersionSpace{ }%
|
||
|
\ProvidesPackage{markdown}[\markdownLastModified\markdownVersionSpace v%
|
||
|
\markdownVersion\markdownVersionSpace markdown renderer]%
|
||
|
\renewcommand\markdownInfo[1]{\PackageInfo{markdown}{#1}}%
|
||
|
\renewcommand\markdownWarning[1]{\PackageWarning{markdown}{#1}}%
|
||
|
\renewcommand\markdownError[2]{\PackageError{markdown}{#1}{#2.}}%
|
||
|
\let\markdownInputPlainTeX\markdownInput
|
||
|
\renewcommand\markdownInput[2][]{%
|
||
|
\begingroup
|
||
|
\markdownSetup{#1}%
|
||
|
\markdownInputPlainTeX{#2}%
|
||
|
\endgroup}%
|
||
|
\renewenvironment{markdown}{%
|
||
|
\markdownReadAndConvert@markdown{}}{%
|
||
|
\markdownEnd}%
|
||
|
\renewenvironment{markdown*}[1]{%
|
||
|
\markdownSetup{#1}%
|
||
|
\markdownReadAndConvert@markdown*}{%
|
||
|
\markdownEnd}%
|
||
|
\begingroup
|
||
|
\catcode`\|=0\catcode`\<=1\catcode`\>=2%
|
||
|
\catcode`\\=12|catcode`|{=12|catcode`|}=12%
|
||
|
|gdef|markdownReadAndConvert@markdown#1<%
|
||
|
|markdownReadAndConvert<\end{markdown#1}>%
|
||
|
<|end<markdown#1>>>%
|
||
|
|endgroup
|
||
|
\DeclareOption*{%
|
||
|
\expandafter\markdownSetup\expandafter{\CurrentOption}}%
|
||
|
\ProcessOptions\relax
|
||
|
\define@key{markdownOptions}{renderers}{%
|
||
|
\setkeys{markdownRenderers}{#1}%
|
||
|
\def\KV@prefix{KV@markdownOptions@}}%
|
||
|
\define@key{markdownOptions}{rendererPrototypes}{%
|
||
|
\setkeys{markdownRendererPrototypes}{#1}%
|
||
|
\def\KV@prefix{KV@markdownOptions@}}%
|
||
|
\ifx\markdownOptionTightLists\undefined
|
||
|
\@ifclassloaded{beamer}{}{
|
||
|
\RequirePackage{paralist}}
|
||
|
\else
|
||
|
\ifthenelse{\equal{\markdownOptionTightLists}{false}}{}{
|
||
|
\RequirePackage{paralist}}
|
||
|
\fi
|
||
|
\@ifpackageloaded{paralist}{
|
||
|
\markdownSetup{rendererPrototypes={
|
||
|
ulBeginTight = {\begin{compactitem}},
|
||
|
ulEndTight = {\end{compactitem}},
|
||
|
olBeginTight = {\begin{compactenum}},
|
||
|
olEndTight = {\end{compactenum}},
|
||
|
dlBeginTight = {\begin{compactdesc}},
|
||
|
dlEndTight = {\end{compactdesc}}}}
|
||
|
}{
|
||
|
\markdownSetup{rendererPrototypes={
|
||
|
ulBeginTight = {\markdownRendererUlBegin},
|
||
|
ulEndTight = {\markdownRendererUlEnd},
|
||
|
olBeginTight = {\markdownRendererOlBegin},
|
||
|
olEndTight = {\markdownRendererOlEnd},
|
||
|
dlBeginTight = {\markdownRendererDlBegin},
|
||
|
dlEndTight = {\markdownRendererDlEnd}}}}
|
||
|
\markdownSetup{rendererPrototypes={
|
||
|
lineBreak = {\\},
|
||
|
leftBrace = {\textbraceleft},
|
||
|
rightBrace = {\textbraceright},
|
||
|
dollarSign = {\textdollar},
|
||
|
underscore = {\textunderscore},
|
||
|
circumflex = {\textasciicircum},
|
||
|
backslash = {\textbackslash},
|
||
|
tilde = {\textasciitilde},
|
||
|
pipe = {\textbar},
|
||
|
codeSpan = {\texttt{#1}},
|
||
|
contentBlock = {%
|
||
|
\ifthenelse{\equal{#1}{csv}}{%
|
||
|
\begin{table}%
|
||
|
\begin{center}%
|
||
|
\csvautotabular{#3}%
|
||
|
\end{center}
|
||
|
\ifx\empty#4\empty\else
|
||
|
\caption{#4}%
|
||
|
\fi
|
||
|
\end{table}}{%
|
||
|
\markdownInput{#3}}},
|
||
|
image = {%
|
||
|
\begin{figure}%
|
||
|
\begin{center}%
|
||
|
\includegraphics{#3}%
|
||
|
\end{center}%
|
||
|
\ifx\empty#4\empty\else
|
||
|
\caption{#4}%
|
||
|
\fi
|
||
|
\label{fig:#1}%
|
||
|
\end{figure}},
|
||
|
ulBegin = {\begin{itemize}},
|
||
|
ulItem = {\item},
|
||
|
ulEnd = {\end{itemize}},
|
||
|
olBegin = {\begin{enumerate}},
|
||
|
olItem = {\item},
|
||
|
olItemWithNumber = {\item[#1.]},
|
||
|
olEnd = {\end{enumerate}},
|
||
|
dlBegin = {\begin{description}},
|
||
|
dlItem = {\item[#1]},
|
||
|
dlEnd = {\end{description}},
|
||
|
emphasis = {\emph{#1}},
|
||
|
blockQuoteBegin = {\begin{quotation}},
|
||
|
blockQuoteEnd = {\end{quotation}},
|
||
|
inputVerbatim = {\VerbatimInput{#1}},
|
||
|
inputFencedCode = {%
|
||
|
\ifx\relax#2\relax
|
||
|
\VerbatimInput{#1}%
|
||
|
\else
|
||
|
\ifx\minted@code\undefined
|
||
|
\ifx\lst@version\undefined
|
||
|
\markdownRendererInputFencedCode{#1}{}%
|
||
|
\else
|
||
|
\lstinputlisting[language=#2]{#1}%
|
||
|
\fi
|
||
|
\else
|
||
|
\inputminted{#2}{#1}%
|
||
|
\fi
|
||
|
\fi},
|
||
|
horizontalRule = {\noindent\rule[0.5ex]{\linewidth}{1pt}},
|
||
|
footnote = {\footnote{#1}}}}
|
||
|
\newif\ifmarkdownLATEXStrongEmphasisNested
|
||
|
\markdownLATEXStrongEmphasisNestedfalse
|
||
|
\markdownSetup{rendererPrototypes={
|
||
|
strongEmphasis = {%
|
||
|
\ifmarkdownLATEXStrongEmphasisNested
|
||
|
\markdownLATEXStrongEmphasisNestedfalse
|
||
|
\textmd{#1}%
|
||
|
\markdownLATEXStrongEmphasisNestedtrue
|
||
|
\else
|
||
|
\markdownLATEXStrongEmphasisNestedtrue
|
||
|
\textbf{#1}%
|
||
|
\markdownLATEXStrongEmphasisNestedfalse
|
||
|
\fi}}}
|
||
|
\ifx\chapter\undefined
|
||
|
\markdownSetup{rendererPrototypes = {
|
||
|
headingOne = {\section{#1}},
|
||
|
headingTwo = {\subsection{#1}},
|
||
|
headingThree = {\subsubsection{#1}},
|
||
|
headingFour = {\paragraph{#1}\leavevmode},
|
||
|
headingFive = {\subparagraph{#1}\leavevmode}}}
|
||
|
\else
|
||
|
\markdownSetup{rendererPrototypes = {
|
||
|
headingOne = {\chapter{#1}},
|
||
|
headingTwo = {\section{#1}},
|
||
|
headingThree = {\subsection{#1}},
|
||
|
headingFour = {\subsubsection{#1}},
|
||
|
headingFive = {\paragraph{#1}\leavevmode},
|
||
|
headingSix = {\subparagraph{#1}\leavevmode}}}
|
||
|
\fi
|
||
|
\newcount\markdownLaTeXCitationsCounter
|
||
|
|
||
|
\def\markdownLaTeXBasicCitations#1#2#3#4#5#6{%
|
||
|
\advance\markdownLaTeXCitationsCounter by 1\relax
|
||
|
\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
|
||
|
\autocites#1[#3][#4]{#5}%
|
||
|
\expandafter\@gobbletwo
|
||
|
\fi\markdownLaTeXBibLaTeXCitations{#1[#3][#4]{#5}}}
|
||
|
\def\markdownLaTeXBibLaTeXTextCitations#1#2#3#4#5{%
|
||
|
\advance\markdownLaTeXCitationsCounter by 1\relax
|
||
|
\ifnum\markdownLaTeXCitationsCounter>\markdownLaTeXCitationsTotal\relax
|
||
|
\textcites#1[#3][#4]{#5}%
|
||
|
\expandafter\@gobbletwo
|
||
|
\fi\markdownLaTeXBibLaTeXTextCitations{#1[#3][#4]{#5}}}
|
||
|
|
||
|
\markdownSetup{rendererPrototypes = {
|
||
|
cite = {%
|
||
|
\markdownLaTeXCitationsCounter=1%
|
||
|
\def\markdownLaTeXCitationsTotal{#1}%
|
||
|
\ifx\autocites\undefined
|
||
|
\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
|
||
|
\expandafter{\expandafter}%
|
||
|
\fi},
|
||
|
textCite = {%
|
||
|
\markdownLaTeXCitationsCounter=1%
|
||
|
\def\markdownLaTeXCitationsTotal{#1}%
|
||
|
\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
|
||
|
\expandafter{\expandafter}%
|
||
|
\fi}}}
|
||
|
\def\markdownRendererLinkPrototype{%
|
||
|
\begingroup
|
||
|
\catcode`\#=12
|
||
|
\def\next##1##2##3##4{%
|
||
|
##1\footnote{%
|
||
|
\ifx\empty##4\empty\else##4: \fi\texttt<\url{##3}\texttt>}%
|
||
|
\endgroup}%
|
||
|
\next}
|
||
|
\newcount\markdownLaTeXRowCounter
|
||
|
\newcount\markdownLaTeXRowTotal
|
||
|
\newcount\markdownLaTeXColumnCounter
|
||
|
\newcount\markdownLaTeXColumnTotal
|
||
|
\newtoks\markdownLaTeXTable
|
||
|
\newtoks\markdownLaTeXTableAlignment
|
||
|
\newtoks\markdownLaTeXTableEnd
|
||
|
\@ifpackageloaded{booktabs}{
|
||
|
\let\markdownLaTeXTopRule\toprule
|
||
|
\let\markdownLaTeXMidRule\midrule
|
||
|
\let\markdownLaTeXBottomRule\bottomrule
|
||
|
}{
|
||
|
\let\markdownLaTeXTopRule\hline
|
||
|
\let\markdownLaTeXMidRule\hline
|
||
|
\let\markdownLaTeXBottomRule\hline
|
||
|
}
|
||
|
\markdownSetup{rendererPrototypes={
|
||
|
table = {%
|
||
|
\markdownLaTeXTable={}%
|
||
|
\markdownLaTeXTableAlignment={}%
|
||
|
\markdownLaTeXTableEnd={%
|
||
|
\markdownLaTeXBottomRule
|
||
|
\end{tabular}}%
|
||
|
\ifx\empty#1\empty\else
|
||
|
\addto@hook\markdownLaTeXTable{%
|
||
|
\begin{table}
|
||
|
\centering}%
|
||
|
\addto@hook\markdownLaTeXTableEnd{%
|
||
|
\caption{#1}
|
||
|
\end{table}}%
|
||
|
\fi
|
||
|
\addto@hook\markdownLaTeXTable{\begin{tabular}}%
|
||
|
\markdownLaTeXRowCounter=0%
|
||
|
\markdownLaTeXRowTotal=#2%
|
||
|
\markdownLaTeXColumnTotal=#3%
|
||
|
\markdownLaTeXRenderTableRow
|
||
|
}
|
||
|
}}
|
||
|
\def\markdownLaTeXRenderTableRow#1{%
|
||
|
\markdownLaTeXColumnCounter=0%
|
||
|
\ifnum\markdownLaTeXRowCounter=0\relax
|
||
|
\markdownLaTeXReadAlignments#1%
|
||
|
\markdownLaTeXTable=\expandafter\expandafter\expandafter{%
|
||
|
\expandafter\the\expandafter\markdownLaTeXTable\expandafter{%
|
||
|
\the\markdownLaTeXTableAlignment}}%
|
||
|
\addto@hook\markdownLaTeXTable{\markdownLaTeXTopRule}%
|
||
|
\else
|
||
|
\markdownLaTeXRenderTableCell#1%
|
||
|
\fi
|
||
|
\ifnum\markdownLaTeXRowCounter=1\relax
|
||
|
\addto@hook\markdownLaTeXTable\markdownLaTeXMidRule
|
||
|
\fi
|
||
|
\advance\markdownLaTeXRowCounter by 1\relax
|
||
|
\ifnum\markdownLaTeXRowCounter>\markdownLaTeXRowTotal\relax
|
||
|
\markdownInfo{\the\markdownLaTeXTable}
|
||
|
\markdownInfo{\the\markdownLaTeXTableEnd}
|
||
|
\the\markdownLaTeXTable
|
||
|
\the\markdownLaTeXTableEnd
|
||
|
\expandafter\@gobble
|
||
|
\fi\markdownLaTeXRenderTableRow}
|
||
|
\def\markdownLaTeXReadAlignments#1{%
|
||
|
\advance\markdownLaTeXColumnCounter by 1\relax
|
||
|
\if#1d%
|
||
|
\addto@hook\markdownLaTeXTableAlignment{l}%
|
||
|
\else
|
||
|
\addto@hook\markdownLaTeXTableAlignment{#1}%
|
||
|
\fi
|
||
|
\ifnum\markdownLaTeXColumnCounter<\markdownLaTeXColumnTotal\relax\else
|
||
|
\expandafter\@gobble
|
||
|
\fi\markdownLaTeXReadAlignments}
|
||
|
\def\markdownLaTeXRenderTableCell#1{%
|
||
|
\advance\markdownLaTeXColumnCounter by 1\relax
|
||
|
\ifnum\markdownLaTeXColumnCounter<\markdownLaTeXColumnTotal\relax
|
||
|
\addto@hook\markdownLaTeXTable{#1&}%
|
||
|
\else
|
||
|
\addto@hook\markdownLaTeXTable{#1\\}%
|
||
|
\expandafter\@gobble
|
||
|
\fi\markdownLaTeXRenderTableCell}
|
||
|
\newcommand\markdownMakeOther{%
|
||
|
\count0=128\relax
|
||
|
\loop
|
||
|
\catcode\count0=11\relax
|
||
|
\advance\count0 by 1\relax
|
||
|
\ifnum\count0<256\repeat}%
|
||
|
\endinput
|
||
|
%%
|
||
|
%% End of file `markdown.sty'.
|