aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/LaTeX.hs
AgeCommit message (Collapse)AuthorFilesLines
2020-01-08LaTeX reader: improve parsing of raw environments.John MacFarlane1-1/+1
If parsing fails in a raw environment (e.g. due to special characters like unescaped `_`), try again as a verbatim environment, which is less sensitive to special characters. This allows us to capture special environments that change catcodes as raw tex when `-f latex+raw_tex` is used. Closes #6034.
2019-12-05Avoid deprecation warning for minimumDef using CPP.John MacFarlane1-1/+6
2019-11-21LaTeX reader: parse \micro siunitx unit command (#5921)Jose Luis Duran1-0/+1
This was somehow missed in 884aef31c55e375cd62fcb55a71829d005087cae.
2019-11-15LaTeX Reader: Add KOMA-Script metadata commands (#5910)Andrew Dunning1-1/+8
Add all titling commands to existing definition for `\dedication`.
2019-11-12Switch to new pandoc-types and use Text instead of String [API change].despresc1-166/+168
PR #5884. + Use pandoc-types 1.20 and texmath 0.12. + Text is now used instead of String, with a few exceptions. + In the MediaBag module, some of the types using Strings were switched to use FilePath instead (not Text). + In the Parsing module, new parsers `manyChar`, `many1Char`, `manyTillChar`, `many1TillChar`, `many1Till`, `manyUntil`, `mantyUntilChar` have been added: these are like their unsuffixed counterparts but pack some or all of their output. + `glob` in Text.Pandoc.Class still takes String since it seems to be intended as an interface to Glob, which uses strings. It seems to be used only once in the package, in the EPUB writer, so that is not hard to change.
2019-11-02LaTeX reader: Fixed dollar-math parsing...John MacFarlane1-9/+9
...to ensure that space is left between a control seq and a following word that would otherwise change its meaning. Closes #5836.
2019-11-02LaTeX untokenize: Ensure space between control sequence and following letter.John MacFarlane1-0/+1
Closes #5836.
2019-11-02LaTeX reader: Don't omit macro definitions defined in the preamble.John MacFarlane1-6/+7
These were formerly omitted (though they still affected macro resolution if `latex_macros` was set). Now they are included in the document.
2019-11-02LaTeX reader: parse macro defs as raw latex...John MacFarlane1-8/+13
when `latex_macros` is disabled. (When `latex_macros` is enabled, we omit them, since pandoc is applying the macros itself.) Previously, it was documented that the macro definitions got passed through as raw latex regardless of whether `latex_macros` was set -- but in fact they never got passed through.
2019-11-02LaTeX reader: fixed a hang/memory leak in certain circumstances.John MacFarlane1-3/+3
We were using `grouped blocks` instead of `grouped block`. This caused the reader to hang in an infinite loop (with a memory leak) on e.g. `\parbox{1em}{#1}`. Closes #5845.
2019-10-23T.P.Readers.LaTeX.Parsing: add `[Tok]` parameter to rawLaTeXParser.John MacFarlane1-6/+13
This allows us to avoid retokenizing multiple times in e.g. rawLaTeXBlock. (Unexported module, so not an API change.)
2019-09-28Use Prelude.fail to avoid ambiguity with fail from GHC.Base.John MacFarlane1-2/+2
2019-09-24LaTeX reader: Add 'tikzcd' to list of special environments.Eigil Rischel1-0/+1
This allows it to be processed by filters, in the same way that one can do for 'tikzpicture'
2019-09-02LaTeX reader: don't try to parse includes if raw_tex is set.John MacFarlane1-5/+13
When the `raw_tex` extension is set, we just carry through `\usepackage`, `\input`, etc. verbatim as raw LaTeX. Closes #5673.
2019-09-02LaTeX reader: properly handle optional arguments for macros.John MacFarlane1-1/+1
Closes #5682.
2019-08-27LaTeX reader: fix `\\` in `\parbox` inside a table cell.John MacFarlane1-3/+18
Closes #5711.
2019-08-05Treat `ly` as verbatim too (#5671)Urs Liska1-0/+1
According to https://github.com/jgm/pandoc/issues/4725#issuecomment-399772217 not only the `lilypond` environment but also `ly` should be included in the verbatim list. @jperon https://github.com/jperon/lyluatex/issues/203
2019-07-24LaTeX reader: handle `\passthrough` macro used by latex writer.John MacFarlane1-0/+2
Closes #5659.
2019-07-22LaTeX reader: support tex `\tt` command.John MacFarlane1-0/+1
Closes #5654.
2019-07-20LaTeX reader: search for image with list of extensions...John MacFarlane1-6/+16
like latex does, if an extension is not provided. Closes #4933.
2019-07-13Fix #4499: add mbox and hbox handling to LaTeX reader (#5586)Vasily Alferov1-1/+11
When `+raw_tex` is enabled, these are passed through literally. Otherwise, they are handled in a way that emulates LaTeX's behavior.
2019-07-13LaTeX reader: Properly handle \providecommand and environment...John MacFarlane1-21/+30
They are now ignored if the corresponding command or environment is already defined. Closes #5635.
2019-07-02Fix redundant constraint warnings. (#5625)Pete Ryland1-1/+1
2019-06-21Support epigraph command in LaTeX Reader.oquechy1-0/+8
Closes #3523.
2019-06-08LaTeX reader: pass through unknown listings language as class.John MacFarlane1-7/+13
Previously if the language was not in the list of listings- supported languages, it would not be added as a class, so custom syntax highlighting could not be used. Closes #5540.
2019-06-04Include trailing {}s in raw latex commands.John MacFarlane1-2/+7
Change is in rawLaTeXInline in LaTeX reader, but it affects the markdown reader and other readers that allow raw LaTeX. Previously, trailing `{}` would be included for unknown commands, but not for known commands. However, they are sometimes used to avoid a trailing space after the command. The chances that a `{}` after a LaTeX command is not part of the command are very small. Closes #5439.
2019-05-03LaTeX reader: Allow newlines in `\mintinline`.John MacFarlane1-3/+7
2019-04-10LaTeX reader: add braces when resolving `\DeclareMathOperator`.John MacFarlane1-1/+2
These seem to be needed for xelatex but not pdflatex. Closes #5441.
2019-03-10LaTeX reader: support `\underline`, `\ul`, `\uline` (#5359)Paul Tilley1-0/+5
These are parsed as a Span with class `underline`, as with other readers.
2019-03-07Add inNote to Footcite and FootcitesJohn MacFarlane1-2/+2
2019-03-01Remove license boilerplate.John MacFarlane1-18/+0
The haddock module header contains essentially the same information, so the boilerplate is redundant and just one more thing to get out of sync.
2019-02-04Add missing copyright notices and remove license boilerplate (#5112)Albert Krewinkel1-2/+2
Quite a few modules were missing copyright notices. This commit adds copyright notices everywhere via haddock module headers. The old license boilerplate comment is redundant with this and has been removed. Update copyright years to 2019. Closes #4592.
2019-01-22LaTeX reader: support `\endinput`. Closes #5233.John MacFarlane1-0/+1
2019-01-20LaTeX reader: allow includes with dots like cc_by_4.0.John MacFarlane1-3/+5
Previously the `.0` was interpreted as a file extension, leading pandoc not to add `.tex` (and thus not to find the file). The new behavior matches tex more closely.
2019-01-20LaTeX reader: cleaned up 'input' code.John MacFarlane1-10/+5
2019-01-08Removed superfluous sourceCode class on code blocks.John MacFarlane1-2/+1
* These were added by the RST reader and, for literate Haskell, by the Markdown and LaTeX readers. There is no point to this class, and it is not applied consistently by all readers. See #5047. * Reverse order of `literate` and `haskell` classes on code blocks when parsing literate Haskell. Better if `haskell` comes first.
2018-12-17LaTeX reader: Support `\DeclareMathOperator`.John MacFarlane1-1/+11
Closes #5149.
2018-11-29LaTeX reader: Support \inputminted (closes #5103).John MacFarlane1-2/+21
2018-11-22Hlint suggestions.John MacFarlane1-1/+1
2018-11-19LaTeX reader: cleaned up handling of dimension arguments.John MacFarlane1-1/+1
Allow decimal points, preceding space. Also require text 1.1+.
2018-11-18LaTeX reader: don't allow arguments for verbatim, etc.John MacFarlane1-1/+0
2018-11-18LaTeX reader: Allow space before bracketed options.John MacFarlane1-1/+2
2018-11-18LaTeX reader: allow optional arguments after \\ in tables.John MacFarlane1-1/+2
2018-11-18LaTeX reader: improve parsing of `\tiny`, `scriptsize`, etc.John MacFarlane1-4/+18
Parse as raw, but know that these font changing commands take no arguments.
2018-10-29LaTeX reader: allow space at end of math after `\`.John MacFarlane1-2/+2
Closes #5010. Expose trimMath from T.P.Shared.
2018-10-22LaTeX reader: add support for `nolinkurl` command. (#4992)Brian Leung1-0/+2
2018-10-15LaTeX reader: small verbatim mode cleanups.John MacFarlane1-17/+15
2018-10-15LaTeX reader: simplified type on doMacros'.John MacFarlane1-1/+1
2018-10-15LaTeX reader: tokenize before pulling tokens,John MacFarlane1-4/+2
rather than after. This has some performance penalty but is more reliable. Closes #4408.
2018-10-15LaTeX reader: more care with verbatim mode in macro definitions.John MacFarlane1-17/+20
This solves some of the issues in #4408, but it is fragile and may introduce new problems. We really need to change the approach fundamentally and expand macros before pulling tokens from the stream, rather than after.