Commit graph

337 commits

Author SHA1 Message Date
John MacFarlane
b98a05d604 LaTeX reader: be more picky about beamer angle arguments.
We now only allow them if they contain only numbers,
spaces, `-`, and `,`.
2017-03-24 16:25:31 +01:00
John MacFarlane
6bf3f89d69 Better handling of \part in LaTeX.
Closes #1905.

Removed stateChapters from ParserState.

Now we parse chapters as level 0 headers, and parts as level -1 headers.
After parsing, we check for the lowest header level, and if it's
less than 1 we bump everything up so that 1 is the lowest header level.
So `\part` will always produce a header; no command-line options
are needed.
2017-03-13 22:11:10 +01:00
John MacFarlane
c46febaaee Expand \newenvironment macros.
Closes #987.

Depends on still unreleased texmath 0.9.3.
2017-03-10 09:46:32 +01:00
John MacFarlane
a088d67f0d LaTeX reader: Treat {{xxx}} the same as {xxx}.
Closes #2115.
2017-03-09 21:03:54 +01:00
John MacFarlane
8c55b7b564 Markdown reader: Treat certain environments as inline
when they occur without space surrounding them.

E.g. equation, math.

This avoids incorrect vertical space around equations.

Closes #3309.
Closes #2171.
See also rstudio/bookdown#358.
2017-03-07 15:00:32 +01:00
John MacFarlane
9e87114234 LaTeX reader: allow newpage, clearpage, pagebreak in inline contexts
as well as block contexts.

Closes #3494.
2017-03-06 21:49:06 +01:00
John MacFarlane
ddc2b9024f LaTeX reader: support all \textXX commands.
where XX = rm, tt, up, md, sf, bf.

Spans with a class are used when there is nothing better.

Closes #3488.
2017-03-05 20:21:29 +01:00
John MacFarlane
6530bc4471 LaTeX reader: small improvements in parsing arguments. 2017-03-05 11:17:03 +01:00
John MacFarlane
3ff41fe7f4 LaTeX reader: Handle spaces before \cite arguments. 2017-03-05 11:10:11 +01:00
John MacFarlane
e256c8ce17 Stylish-haskell automatic formatting changes. 2017-03-04 13:03:41 +01:00
John MacFarlane
d21c7fee66 LaTeX reader: don't drop contents of \hypertarget. 2017-03-01 21:05:29 +01:00
John MacFarlane
1d17dbd3ae LaTeX reader: Handle komascript \dedication.
It now adds a `dedication` field to metadata.
It is up to the user to supply a template that uses this
variable.

Closes #1845.
2017-02-27 14:16:05 +01:00
John MacFarlane
4fb9976a9a Minor cleanups in LaTeX reader. 2017-02-27 00:40:33 +01:00
John MacFarlane
7d0082aa0b LaTeX reader: allow hspace and vspace to count as raw block or inline.
Previously we would refuse to parse anything as raw inline if
it was in the blockCommands list.  Now we allow exceptions
if they're listed under ignoreInlines in inlineCommands.

This should make it easier e.g. to include an \hspace
between two side-by-side raw LaTeX tables.
2017-02-25 12:43:00 +01:00
John MacFarlane
f1cf8273d5 Revert "LaTeX reader: don't treat \vspace and \hspace as block commands."
This reverts commit 2873cd8288.
2017-02-25 12:43:00 +01:00
John MacFarlane
0448b7d1fc Implemented \graphicspath in LaTeX reader.
Closes #736.
2017-02-24 15:34:41 +01:00
John MacFarlane
f4a452f891 When parsing raw LaTeX commands, include trailing space.
Otherwise things like `\noindent foo` break and turn into
`\noindentfoo`.

Affects `-f latex+raw_tex` and `-f markdown` (and other formats
that allow `raw_tex`).

Closes #1773.
2017-02-22 21:15:25 +01:00
John MacFarlane
c44a3f61c2 LaTeX reader: include contents of \parbox. 2017-02-14 23:12:46 +01:00
John MacFarlane
2a3c2b01ea Removed unnecessary import. 2017-02-14 15:02:59 +01:00
John MacFarlane
cfdbe85e71 LaTeX reader: properly handle column prefixes/suffixes.
For example, in

     \begin{tabular}{>{$}l<{$}>{$}l<{$} >{$}l<{$}}

each cell will be interpreted as if it has a `$`
before its content and a `$` after (math mode).
2017-02-13 22:39:59 +01:00
John MacFarlane
76c55466d3 Use new warnings throughout the code base. 2017-02-11 00:14:44 +01:00
John MacFarlane
c76eec97d4 LaTeX reader: Improved messages for skipped environments. 2017-02-10 10:00:23 +01:00
John MacFarlane
29b1ed0b84 LaTeX reader: Improved warning messages for unknown commands. 2017-02-10 08:36:04 +01:00
John MacFarlane
87507e1b9c LaTeX reader: Issue warnings when skipping unknown latex commands.
See #3392.
2017-02-09 22:21:07 +01:00
John MacFarlane
6949d74e01 LaTeX reader: support \lstinputlisting.
Closes #2116.
2017-02-08 00:07:53 +01:00
John MacFarlane
857d35fce4 Refactored some files formerly in LaTeX reader.
* Export readFileFromDirs from Class.
* Export insertIncludedFile from Parsing.

Simplified code in LaTeX/RST readers.
2017-02-07 22:33:05 +01:00
John MacFarlane
1ecc48e9f9 Moved readFileFromDirs to Text.Pandoc.Class.
This can be used in several different modules, not just
LaTeX reader.
2017-02-07 21:42:35 +01:00
John MacFarlane
9db98550df Refactored include file handling in LaTeX reader. 2017-02-07 19:16:56 +01:00
John MacFarlane
47a16065c4 Removed --parse-raw and readerParseRaw.
These were confusing.

Now we rely on the +raw_tex or +raw_html extension with latex
or html input.

Thus, instead of

    --parse-raw -f latex

we use

    -f latex+raw_tex

and instead of

     --parse-raw -f html

we use

    -f html+raw_html
2017-02-06 23:33:23 +01:00
John MacFarlane
6f8b967d98 Removed readerSmart and the --smart option; added Ext_smart extension.
Now you will need to do

    -f markdown+smart

instead of

    -f markdown --smart

This change opens the way for writers, in addition to readers,
to be sensitive to +smart, but this change hasn't yet been made.

API change. Command-line option change.

Updated manual.
2017-01-25 17:07:42 +01:00
John MacFarlane
e1d2da4c22 Have warningWithPos take a SourcePos rather than Maybe SourcePos.
After all, we have warning if you don't want the source pos info.
2017-01-25 17:07:41 +01:00
John MacFarlane
f1cec1dd02 LaTeX reader: add warning when parsing unescaped characters
that normally need escaping in LaTeX.
2017-01-25 17:07:40 +01:00
John MacFarlane
c55a98ff0d LaTeX reader: Make sure we process includes in preamble. 2017-01-25 17:07:40 +01:00
John MacFarlane
7a68617556 LaTeX reader: further fixes to include. 2017-01-25 17:07:40 +01:00
John MacFarlane
62b30d8418 Give source position for include file loop. 2017-01-25 17:07:40 +01:00
John MacFarlane
1a0d93a1d3 LaTeX reader: Proper include file processing.
* Removed handleIncludes from LaTeX reader [API change].
* Now the ordinary LaTeX reader handles includes in a way
  that is appropriate to the monad it is run in.
2017-01-25 17:07:40 +01:00
Jesse Rosenthal
650fa20788 Readers: pass errors straight up to PandocMonad.
Since we've unified error types, we can just throw the same error at
the toplevel.
2017-01-25 17:07:40 +01:00
Jesse Rosenthal
3574b98f81 Unify Errors. 2017-01-25 17:07:40 +01:00
Jesse Rosenthal
b53ebcdf8e Working on readers. 2017-01-25 17:07:40 +01:00
John MacFarlane
2873cd8288 LaTeX reader: don't treat \vspace and \hspace as block commands.
Fixed an error which came up, for example, with `\vspace`
inside a caption.  (Captions expect inlines.)

Closes #3256.
2016-11-26 21:27:56 +01:00
John MacFarlane
8d7ecc27a1 Allow beamer-style <...> options in raw LaTeX (also in Markdown).
This allows use of things like `\only<2,3>{my content}` in
Markdown that is going to be converted to beamer.

Closes #3184.
2016-11-20 21:17:41 +01:00
John MacFarlane
d905551b12 LaTeX reader: improved table handling.
We can now parse all of the tables emitted by pandoc in
our tests.

The only thing we don't get yet are alignments and
column widths in more complex tables.

See #2669.
2016-11-19 22:46:32 +01:00
John MacFarlane
f255625ad7 LaTeX reader: limited support for minipage. 2016-11-19 22:46:32 +01:00
John MacFarlane
5a1796e650 LaTeX reader: improved parsing of tables.
Reader can now parse simple LaTeX tables such as those
generated by pandoc itself.

We still can't handle pandoc multiline tables which involve
minipages and column widths.

Partially addresses #2669.
2016-11-19 21:36:16 +01:00
John MacFarlane
705df61198 LaTeX reader: Handle BVerbatim from fancyvrb. Fixes #3203. 2016-11-02 12:05:56 +01:00
John MacFarlane
eb5cb0f304 Handle hungarumlaut in LaTeX reader. Closes #3201. 2016-11-01 10:17:15 +01:00
John MacFarlane
5d02e478d0 LaTeX reader: allow for []s inside LaTeX optional args.
Fixes cases like:

    \begin{center}
    \begin{tikzpicture}[baseline={([yshift=+-.5ex]current bounding box.center)}, level distance=24pt]
    \Tree [.{S} [.NP John\index{i} ] [.VP [.V likes ] [.NP himself\index{i,*j} ]]]
    \end{tikzpicture}
    \end{center}
2016-10-31 22:04:22 +01:00
Albert Krewinkel
f9afc0d378 LaTeX reader: drop duplicate * in bibtexKeyChars 2016-07-29 20:53:43 +02:00
John MacFarlane
34533dd8d1 LaTeX reader: be more forgiving of non-standard characters.
E.g. `^` outside of math.  Some custom environments give
these a meaning, so we should try not to fall over when we
encounter them.
2016-07-20 11:36:50 -07:00
John MacFarlane
1b6c9733ee LaTeX reader: more robust parsing of unknown environments.
We no longer fail on things like `^` inside options for tikz.
Closes #3026.
2016-07-20 11:18:24 -07:00