# markdown package
# Matthew Bertucci 2026/04/20 for v3.15.0

#include:paralist
#include:amsmath
#include:amssymb
#include:csvsimple
#include:fancyvrb
#include:graphicx
#include:ltxcmds
#include:url
#include:etoolbox
#include:lt3luabridge
#include:luaxml

#ifOption:strikeThrough
#include:soul
#endif
#ifOption:strikeThrough=true
#include:soul
#endif

\begin{markdown}
\begin{markdown}[options%keyvals]
\end{markdown}
\begin{yaml}
\begin{yaml}[options%keyvals]
\end{yaml}

\markinline{markdown text}
\markinline[options%keyvals]{markdown text}

\markdownInput{file}#i
\markdownInput[options%keyvals]{file}#i
\yamlInput{file}#i
\yamlInput[options%keyvals]{file}#i

\markdownSetup{options%keyvals}
\markdownSetupSnippet{name%specialDef}{options%keyvals}#s#%markdownsnippet
\markdownIfSnippetExists{name}{true}{false}#*
\yamlSetup{options%keyvals}

#keyvals:\usepackage/markdown#c,\begin{markdown}#c,\begin{yaml}#c,\markinline#c,\markdownInput#c,\yamlInput#c,\markdownSetup#c,\markdownSetupSnippet#c,\yamlSetup#c
plain#true,false
import=#witiko/diagrams@v1,witiko/diagrams@v2,witiko/graphicx/http,witiko/tilde,witiko/markdown/defaults
snippet=#%markdownsnippet
helperScriptFileName=%<file name%>
inputTempFileName=%<file name%>
outputTempFileName=%<file name%>
errorTempFileName=%<file name%>
cacheDir=%<directory%>
contentBlocksLanguageMap=%<file name%>
debugExtensionsFileName=%<file name%>
outputDir=%<directory%>
blankBeforeBlockquote#true,false
blankBeforeCodeFence#true,false
blankBeforeDivFence#true,false
blankBeforeHeading#true,false
blankBeforeHtmlBlock#true,false
bracketedSpans#true,false
breakableBlockquotes#true,false
citations#true,false
citationNbsps#true,false
contentBlocks#true,false
debugExtensions#true,false
codeSpans#true,false
definitionLists#true,false
eagerCache#true,false
experimental#true,false
ensureJekyllData#true,false
expectJekyllData#true,false
extensions=%<file names%>
fancyLists#true,false
fencedCode#true,false
fencedCodeAttributes#true,false
fencedDivs#true,false
hashEnumerators#true,false
headerAttributes#true,false
html#true,false
htmlOverLinks#true,false
inlineCodeAttributes#true,false
inlineNotes#true,false
jekyllData#true,false
linkAttributes#true,false
lineBlocks#true,false
notes#true,false
pipeTables#true,false
preserveTabs#true,false
rawAttribute#true,false
relativeReferences#true,false
smartEllipses#true,false
shiftHeadings=%<shift amount%>
slice=%<beginning and end of a slice%>
startNumber#true,false
strikeThrough#true,false
stripIndent#true,false
subscripts#true,false
superscripts#true,false
tableCaptions#true,false
taskLists#true,false
texComments#true,false
texMathDollars#true,false
texMathDoubleBackslash#true,false
texMathSingleBackslash#true,false
tightLists#true,false
underscores#true,false
stripPercentSigns#true,false
finalizeCache#true,false
frozenCache#true,false
frozenCacheFileName=%<file name%>
jekyllDataKeyValue=%<module%>
#endkeyvals

#keyvals:\begin{markdown}#c,\markinline#c,\markdownInput#c,\markdownSetup#c,\markdownSetupSnippet#c
renderers={%<renderer options%>}
unprotectedRenderers={%<renderer options%>}
rendererPrototypes={%<renderer prototype options%>}
unprotectedRendererPrototypes={%<renderer prototype options%>}
code={%<code%>}
jekyllDataRenderers={%<keyvals%>}
#endkeyvals

#ifOption:lineBlocks
#include:verse
#endif
#ifOption:lineBlocks=true
#include:verse
#endif

\ifmarkdownLaTeXLoaded#S
\markdownInputPlainTeX{file}#Si
\markdownLaTeXBasicCitations{arg1}{arg2}{arg3}{arg4}{arg5}{arg6}#S
\markdownLaTeXBasicTextCitations{arg1}{arg2}{arg3}{arg4}{arg5}{arg6}#S
\markdownLaTeXBibLaTeXCitations{arg1}{arg2}{arg3}{arg4}{arg5}#S
\markdownLaTeXBibLaTeXTextCitations{arg1}{arg2}{arg3}{arg4}{arg5}#S
\markdownLaTeXBottomRule#S
\markdownLaTeXCitationsCounter#S
\markdownLaTeXCitationsTotal#S
\markdownLaTeXColumnCounter#S
\markdownLaTeXColumnTotal#S
\markdownLaTeXLoadedfalse#S
\markdownLaTeXLoadedtrue#S
\markdownLaTeXMidRule#S
\markdownLaTeXNatbibCitations{arg1}{arg2}{arg3}{arg4}{arg5}#S
\markdownLaTeXNatbibTextCitations{arg1}{arg2}{arg3}{arg4}{arg5}#S
\markdownLaTeXReadAlignments{arg1}#S
\markdownLaTeXRenderTableCell{arg1}#S
\markdownLaTeXRenderTableRow{arg1}#S
\markdownLaTeXRowCounter#S
\markdownLaTeXRowTotal#S
\markdownLATEXStrongEmphasis{text}#S
\markdownLaTeXTable{arg1}#S
\markdownLaTeXTableAlignment{arg1}#S
\markdownLaTeXTableEnd{arg1}#S
\markdownLaTeXThemeLoad{package}{theme name}#Su
\markdownLaTeXThemeName#S
\markdownLaTeXThemePackageName#S
\markdownLaTeXTopRule#S
\markdownLaTeXUlItem#S
\markdownMakeOther#*
\markdownOptionCodeSpans#*
\markdownOptionExpectJekyllData#*
\markdownOptionRelativeReferences#*
\markdownOptionTexComments#*
\markdownOptionUnderscores#*
\markdownVersionSpace#S

# from markdown.tex
\markdown#S
\endmarkdown#S
\markdownBegin#*
\markdownConvert#*
\markdownEnd#*
\markdownEscape{file}#*
\markdownExecute{code}#*
\markdownExecuteDirect{code}#*
\markdownExecuteShellEscape#*
\markdownIfOption{option}{true}{false}#*
\markdownInputFilename#*
\markdownInputFileStream#S
\markdownLastModified#S
\markdownLuaExecute{code}#*
\markdownLuaOptions#*
\markdownOptionBlankBeforeBlockquote#*
\markdownOptionBlankBeforeCodeFence#*
\markdownOptionBlankBeforeHeading#*
\markdownOptionBreakableBlockquotes#*
\markdownOptionCacheDir#*
\markdownOptionCitationNbsps#*
\markdownOptionCitations#*
\markdownOptionCodeSpans#*
\markdownOptionContentBlocks#*
\markdownOptionContentBlocksLanguageMap#*
\markdownOptionDefinitionLists#*
\markdownOptionEagerCache#*
\markdownOptionFencedCode#*
\markdownOptionFinalizeCache#*
\markdownOptionFootnotes#*
\markdownOptionFrozenCache#*
\markdownOptionFrozenCacheFileName#*
\markdownOptionHardLineBreaks#*
\markdownOptionHashEnumerators#*
\markdownOptionHeaderAttributes#*
\markdownOptionHtml#*
\markdownOptionHybrid#*
\markdownOptionInlineFootnotes#*
\markdownOptionInputTempFileName#*
\markdownOptionJekyllData#*
\markdownOptionPipeTables#*
\markdownOptionPreserveTabs#*
\markdownOptionShiftHeadings#*
\markdownOptionSlice#*
\markdownOptionSmartEllipses#*
\markdownOptionStartNumber#*
\markdownOptionStripIndent#*
\markdownOptionStripPercentSigns#*
\markdownOptionTableCaptions#*
\markdownOptionTaskLists#*
\markdownOptionTeXComments#*
\markdownOptionTightLists#*
\markdownOptionUnderscores#*
\markdownOutputFileStream#S
\markdownPrepare#*
\markdownPrepareInputFilename{arg}#*
\markdownPrepareLuaOptions#*
\markdownReadAndConvert#*
\markdownReadAndConvertProcessLine{arg1}{arg2}{arg3}#*
\markdownReadAndConvertStripPercentSign{arg1}#*
\markdownReadAndConvertTab#*
\markdownRendererAmpersand#*
\markdownRendererAmpersandPrototype#*
\markdownRendererAttributeClassName#*
\markdownRendererAttributeClassNamePrototype#*
\markdownRendererAttributeIdentifier#*
\markdownRendererAttributeIdentifierPrototype#*
\markdownRendererAttributeKeyValue#*
\markdownRendererBackslash#*
\markdownRendererBackslashPrototype#*
\markdownRendererBlockHtmlCommentBegin#*
\markdownRendererBlockHtmlCommentEnd#*
\markdownRendererBlockQuoteBegin#*
\markdownRendererBlockQuoteBeginPrototype#*
\markdownRendererBlockQuoteEnd#*
\markdownRendererBlockQuoteEndPrototype#*
\markdownRendererBracketedSpanAttributeContextBegin#*
\markdownRendererBracketedSpanAttributeContextBeginPrototype#*
\markdownRendererBracketedSpanAttributeContextEnd#*
\markdownRendererBracketedSpanAttributeContextEndPrototype#*
\markdownRendererCircumflex#*
\markdownRendererCircumflexPrototype#*
\markdownRendererCite#*
\markdownRendererCitePrototype{arg1}#*
\markdownRendererCodeSpan#*
\markdownRendererCodeSpanAttributeContextBegin#*
\markdownRendererCodeSpanAttributeContextBeginPrototype#*
\markdownRendererCodeSpanAttributeContextEnd#*
\markdownRendererCodeSpanAttributeContextEndPrototype#*
\markdownRendererCodeSpanPrototype{arg1}#*
\markdownRendererContentBlock#*
\markdownRendererContentBlockCode#*
\markdownRendererContentBlockCodePrototype{arg1}{arg2}{arg3}{arg4}{arg5}#*
\markdownRendererContentBlockOnlineImage#*
\markdownRendererContentBlockOnlineImagePrototype#*
\markdownRendererContentBlockOnlineImagePrototype{arg1}{arg2}{arg3}{arg4}#*
\markdownRendererContentBlockPrototype{arg1}{arg2}{arg3}{arg4}#*
\markdownRendererDisplayMath#*
\markdownRendererDisplayMathPrototype#*
\markdownRendererDlBegin#*
\markdownRendererDlBeginPrototype#*
\markdownRendererDlBeginTight#*
\markdownRendererDlBeginTightPrototype#*
\markdownRendererDlDefinitionBegin#*
\markdownRendererDlDefinitionBeginPrototype#*
\markdownRendererDlDefinitionEnd#*
\markdownRendererDlDefinitionEndPrototype#*
\markdownRendererDlEnd#*
\markdownRendererDlEndPrototype#*
\markdownRendererDlEndTight#*
\markdownRendererDlEndTightPrototype#*
\markdownRendererDlItem#*
\markdownRendererDlItemEnd#*
\markdownRendererDlItemEndPrototype#*
\markdownRendererDlItemPrototype{arg1}#*
\markdownRendererDocumentBegin#*
\markdownRendererDocumentEnd#*
\markdownRendererDollarSign#*
\markdownRendererDollarSignPrototype#*
\markdownRendererEllipsis#*
\markdownRendererEllipsisPrototype#*
\markdownRendererEmphasis#*
\markdownRendererEmphasisPrototype{arg1}#*
\markdownRendererError#*
\markdownRendererErrorPrototype#*
\markdownRendererFancyOlBegin#*
\markdownRendererFancyOlBeginPrototype#*
\markdownRendererFancyOlBeginTight#*
\markdownRendererFancyOlBeginTightPrototype#*
\markdownRendererFancyOlEnd#*
\markdownRendererFancyOlEndPrototype#*
\markdownRendererFancyOlEndTight#*
\markdownRendererFancyOlEndTightPrototype#*
\markdownRendererFancyOlItem#*
\markdownRendererFancyOlItemEnd#*
\markdownRendererFancyOlItemEndPrototype#*
\markdownRendererFancyOlItemPrototype#*
\markdownRendererFancyOlItemWithNumber#*
\markdownRendererFancyOlItemWithNumberPrototype#*
\markdownRendererFencedCodeAttributeContextBegin#*
\markdownRendererFencedCodeAttributeContextBeginPrototype#*
\markdownRendererFencedCodeAttributeContextEnd#*
\markdownRendererFencedCodeAttributeContextEndPrototype#*
\markdownRendererFencedDivAttributeContextBegin#*
\markdownRendererFencedDivAttributeContextBeginPrototype#*
\markdownRendererFencedDivAttributeContextEnd#*
\markdownRendererFencedDivAttributeContextEndPrototype#*
\markdownRendererHalfTickedBox#*
\markdownRendererHalfTickedBoxPrototype#*
\markdownRendererHash#*
\markdownRendererHashPrototype#*
\markdownRendererHeaderAttributeContextBegin#*
\markdownRendererHeaderAttributeContextBeginPrototype#*
\markdownRendererHeaderAttributeContextEnd#*
\markdownRendererHeaderAttributeContextEndPrototype#*
\markdownRendererHeadingFive#*
\markdownRendererHeadingFivePrototype{arg1}#*
\markdownRendererHeadingFour#*
\markdownRendererHeadingFourPrototype{arg1}#*
\markdownRendererHeadingOne#*
\markdownRendererHeadingOnePrototype{arg1}#*
\markdownRendererHeadingSix#*
\markdownRendererHeadingSixPrototype{arg1}#*
\markdownRendererHeadingThree#*
\markdownRendererHeadingThreePrototype{arg1}#*
\markdownRendererHeadingTwo#*
\markdownRendererHeadingTwoPrototype{arg1}#*
\markdownRendererImage#*
\markdownRendererImageAttributeContextBegin#*
\markdownRendererImageAttributeContextBeginPrototype#*
\markdownRendererImageAttributeContextEnd#*
\markdownRendererImageAttributeContextEndPrototype#*
\markdownRendererImagePrototype{arg1}{arg2}{arg3}{arg4}#*
\markdownRendererInlineHtmlComment#*
\markdownRendererInlineHtmlCommentPrototype{arg1}#*
\markdownRendererInlineHtmlTag#*
\markdownRendererInlineMath#*
\markdownRendererInlineMathPrototype#*
\markdownRendererInputBlockHtmlElement#*
\markdownRendererInputFencedCode#*
\markdownRendererInputFencedCodePrototype{arg1}{arg2}#*
\markdownRendererInputRawBlock{file}{attribute}#*
\markdownRendererInputRawInlinePrototype{file}{attribute}#*
\markdownRendererInputRawInline{file}{attribute}#*
\markdownRendererInputRawBlockPrototype{file}{attribute}#*
\markdownRendererInputVerbatim#*
\markdownRendererInputVerbatimPrototype{arg1}#*
\markdownRendererInterblockSeparator#*
\markdownRendererInterblockSeparatorPrototype#*
\markdownRendererJekyllDataBegin#*
\markdownRendererJekyllDataBeginPrototype#*
\markdownRendererJekyllDataBoolean#*
\markdownRendererJekyllDataBooleanPrototype{arg1}{arg2}#*
\markdownRendererJekyllDataEmpty#*
\markdownRendererJekyllDataEmptyPrototype{arg1}#*
\markdownRendererJekyllDataEnd#*
\markdownRendererJekyllDataEndPrototype#*
\markdownRendererJekyllDataMappingBegin{key%plain}{number}#*
\markdownRendererJekyllDataMappingBeginPrototype{key%plain}{number}#*
\markdownRendererJekyllDataMappingEnd#*
\markdownRendererJekyllDataMappingEndPrototype#*
\markdownRendererJekyllDataNumber#*
\markdownRendererJekyllDataNumberPrototype{arg1}{arg2}#*
\markdownRendererJekyllDataProgrammaticString{arg1}{arg2}#*
\markdownRendererJekyllDataProgrammaticStringPrototype{arg1}{arg2}#*
\markdownRendererJekyllDataSequenceBegin#*
\markdownRendererJekyllDataSequenceBeginPrototype{arg1}{arg2}#*
\markdownRendererJekyllDataSequenceEnd#*
\markdownRendererJekyllDataSequenceEndPrototype#*
\markdownRendererJekyllDataTypographicString{arg1}{arg2}#*
\markdownRendererJekyllDataTypographicStringPrototype{arg1}{arg2}#*
\markdownRendererLeftBrace#*
\markdownRendererLeftBracePrototype#*
\markdownRendererLineBlockBegin#*
\markdownRendererLineBlockBeginPrototype#*
\markdownRendererLineBlockEnd#*
\markdownRendererLineBlockEndPrototype#*
\markdownRendererHardLineBreak#*
\markdownRendererHardLineBreakPrototype#*
\markdownRendererLink#*
\markdownRendererLinkAttributeContextBegin#*
\markdownRendererLinkAttributeContextBeginPrototype#*
\markdownRendererLinkAttributeContextEnd#*
\markdownRendererLinkAttributeContextEndPrototype#*
\markdownRendererLinkPrototype{arg1}{arg2}{arg3}{arg4}#*
\markdownRendererNbsp#*
\markdownRendererNbspPrototype#*
\markdownRendererNote{text}#*
\markdownRendererNotePrototype{text}#*
\markdownRendererOlBegin#*
\markdownRendererOlBeginPrototype#*
\markdownRendererOlBeginTight#*
\markdownRendererOlBeginTightPrototype#*
\markdownRendererOlEnd#*
\markdownRendererOlEndPrototype#*
\markdownRendererOlEndTight#*
\markdownRendererOlEndTightPrototype#*
\markdownRendererOlItem#*
\markdownRendererOlItemEnd#*
\markdownRendererOlItemEndPrototype#*
\markdownRendererOlItemPrototype#*
\markdownRendererOlItemWithNumber#*
\markdownRendererOlItemWithNumberPrototype{arg1}#*
\markdownRendererPercentSign#*
\markdownRendererPercentSignPrototype#*
\markdownRendererPipe#*
\markdownRendererPipePrototype#*
\markdownRendererReplacementCharacter#*
\markdownRendererReplacementCharacterPrototype#*
\markdownRendererRightBrace#*
\markdownRendererRightBracePrototype#*
\markdownRendererSectionBegin#*
\markdownRendererSectionBeginPrototype#*
\markdownRendererSectionEnd#*
\markdownRendererSectionEndPrototype#*
\markdownRendererStrikeThrough#*
\markdownRendererStrikeThroughPrototype#*
\markdownRendererStrongEmphasis#*
\markdownRendererStrongEmphasisPrototype{arg1}#*
\markdownRendererSubscript#*
\markdownRendererSubscriptPrototype#*
\markdownRendererSuperscript#*
\markdownRendererSuperscriptPrototype#*
\markdownRendererTable#*
\markdownRendererTablePrototype{arg1}{arg2}{arg3}#*
\markdownRendererTextCite#*
\markdownRendererTextCitePrototype{arg1}#*
\markdownRendererThematicBreak#*
\markdownRendererThematicBreakPrototype#*
\markdownRendererTickedBox#*
\markdownRendererTickedBoxPrototype#*
\markdownRendererTilde#*
\markdownRendererTildePrototype#*
\markdownRendererUlBegin#*
\markdownRendererUlBeginPrototype#*
\markdownRendererUlBeginTight#*
\markdownRendererUlBeginTightPrototype#*
\markdownRendererUlEnd#*
\markdownRendererUlEndPrototype#*
\markdownRendererUlEndTight#*
\markdownRendererUlEndTightPrototype#*
\markdownRendererUlItem#*
\markdownRendererUlItemEnd#*
\markdownRendererUlItemEndPrototype#*
\markdownRendererUlItemPrototype#*
\markdownRendererUnderscore#*
\markdownRendererUnderscorePrototype#*
\markdownRendererUntickedBox#*
\markdownRendererUntickedBoxPrototype#*
\markdownRendererWarning#*
\markdownRendererWarningPrototype#*
\markdownVersion#S
\markinlinePlainTeX{markdown text}#*
\yamlBegin#*
\yamlEnd#*
\markdownThemeVersion#S
\mmdcCommand#*
\markdownRendererAcronym#*
\markdownRendererAcronymPrototype#*
\markdownRendererBracketedSpan#*
\markdownRendererBracketedSpanPrototype#*
\markdownRendererInputBlockHtmlCdataElement#*
\markdownRendererInputBlockHtmlCdataElementPrototype#*
\markdownRendererBlockHtmlComment
\markdownRendererBlockHtmlCommentPrototype
\markdownRendererInputBlockHtmlProcessingInstruction
\markdownRendererInputBlockHtmlProcessingInstructionPrototype
\markdownRendererInputBlockHtmlDeclaration
\markdownRendererInputBlockHtmlDeclarationPrototype
\markdownRendererInputBlockHtmlCdataSection
\markdownRendererInputBlockHtmlCdataSectionPrototype
\markdownRendererInputBlockHtmlPcdataElement
\markdownRendererInputBlockHtmlPcdataElementPrototype
\markdownRendererBlockHtmlStandaloneTag
\markdownRendererBlockHtmlStandaloneTagPrototype
\markdownRendererInlineHtmlProcessingInstruction
\markdownRendererInlineHtmlProcessingInstructionPrototype
\markdownRendererInlineHtmlDeclaration
\markdownRendererInlineHtmlDeclarationPrototype
\markdownRendererInlineHtmlCdataSection
\markdownRendererInlineHtmlCdataSectionPrototype#*
\markdownRendererInlineHtmlOpenTag#*
\markdownRendererInlineHtmlOpenTagPrototype#*
\markdownRendererInlineHtmlCloseTag#*
\markdownRendererInlineHtmlCloseTagPrototype#*
\markdownRendererInlineHtmlEmptyTag#*
\markdownRendererInlineHtmlEmptyTagPrototype#*