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  | 
