diff options
author | John MacFarlane <jgm@berkeley.edu> | 2018-08-14 00:03:55 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2018-08-14 00:03:55 -0700 |
commit | c27ce1e70e72302d6cdc05ad59f45d0d04bda363 (patch) | |
tree | 9d36c953c6edc3b425930d0c23cb3d73efa3d856 /src/Text/Pandoc/Readers/LaTeX | |
parent | 919c50162ccc3d7a347a9427ca23887e54e8a333 (diff) | |
download | pandoc-c27ce1e70e72302d6cdc05ad59f45d0d04bda363.tar.gz |
LaTeX reader: handle parameter patterns for `\def`.
For example: `\def\foo#1[#2]{#1 and #2}`.
Closes #4768. Also fixes #4771.
API change: in Text.Pandoc.Readers.LaTeX.Types,
new type ArgSpec added. Second parameter of Macro
constructor is now `[ArgSpec]` instead of `Int`.
Diffstat (limited to 'src/Text/Pandoc/Readers/LaTeX')
-rw-r--r-- | src/Text/Pandoc/Readers/LaTeX/Types.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX/Types.hs b/src/Text/Pandoc/Readers/LaTeX/Types.hs index fa832114b..e3a302d49 100644 --- a/src/Text/Pandoc/Readers/LaTeX/Types.hs +++ b/src/Text/Pandoc/Readers/LaTeX/Types.hs @@ -31,6 +31,7 @@ Types for LaTeX tokens and macros. module Text.Pandoc.Readers.LaTeX.Types ( Tok(..) , TokType(..) , Macro(..) + , ArgSpec(..) , ExpansionPoint(..) , SourcePos ) @@ -49,5 +50,8 @@ data Tok = Tok SourcePos TokType Text data ExpansionPoint = ExpandWhenDefined | ExpandWhenUsed deriving (Eq, Ord, Show) -data Macro = Macro ExpansionPoint Int (Maybe [Tok]) [Tok] +data Macro = Macro ExpansionPoint [ArgSpec] (Maybe [Tok]) [Tok] + deriving Show + +data ArgSpec = ArgNum Int | Pattern [Tok] deriving Show |