Commit graph

275 commits

Author SHA1 Message Date
John MacFarlane
ed1173ace6 Rationalized behavior of --no-tex-ligatures and --smart.
This change makes `--no-tex-ligatures` affect the LaTeX reader
as well as the LaTeX and ConTeXt writers.  If it is used,
the LaTeX reader will parse characters `` ` ``, `'`, and `-`
literally, rather than parsing ligatures for quotation marks
and dashes.  And the LaTeX writer will print unicode quotation
mark and dash characters literally, rather than converting
them to the standard ASCII ligatures.

Note that `--smart` has no affect on the LaTeX reader.

`--smart` is still the default for all input formats when
LaTeX or ConTeXt is the output format, *unless* `--no-tex-ligatures`
is used.

Some examples to illustrate the logic:

```
% echo "'hi'" | pandoc -t latex
`hi'
% echo "'hi'" | pandoc -t latex --no-tex-ligatures
'hi'
% echo "'hi'" | pandoc -t latex --no-tex-ligatures --smart
‘hi’
% echo "'hi'" | pandoc -f latex --no-tex-ligatures
<p>'hi'</p>
% echo "'hi'" | pandoc -f latex
<p>’hi’</p>
```

Closes #2541.
2015-11-19 20:30:41 -08:00
John MacFarlane
23b693c029 Revert "Use -XNoImplicitPrelude and 'import Prelude' explicitly."
This reverts commit c423dbb5a3.
2015-11-09 10:08:22 -08:00
John MacFarlane
5a9ca26172 Merge pull request #2502 from minoki/latex-comment-environment
LaTeX reader: Handle `comment` environment.
2015-11-08 17:57:52 -08:00
John MacFarlane
c423dbb5a3 Use -XNoImplicitPrelude and 'import Prelude' explicitly.
This is needed for ghci to work with pandoc, given that we
now use a custom prelude.

Closes #2503.
2015-11-08 16:56:59 -08:00
ARATA Mizuki
94500f7469 LaTeX reader: Handle comment environment.
The `comment` environment is handled in a similar way to the `verbatim` environment, except that its content is discarded.
2015-11-08 02:24:25 +09:00
John MacFarlane
2357e61748 LaTeX reader: fixed longtable support. 2015-10-15 23:15:40 -07:00
John MacFarlane
82b3e0ab97 Use custom Prelude to avoid compiler warnings.
- The (non-exported) prelude is in prelude/Prelude.hs.
- It exports Monoid and Applicative, like base 4.8 prelude,
  but works with older base versions.
- It exports (<>) for mappend.
- It hides 'catch' on older base versions.

This allows us to remove many imports of Data.Monoid
and Control.Applicative, and remove Text.Pandoc.Compat.Monoid.

It should allow us to use -Wall again for ghc 7.10.
2015-10-14 09:09:10 -07:00
John MacFarlane
114103d67f LaTeX reader: don't eat excess whitespace after macros.
Really close #2446.
2015-10-09 14:39:42 -07:00
John MacFarlane
1af8bc6f4d LaTeX reader: don't eat whitespace after macro with only opt arg.
Closes #2446.
2015-10-09 10:32:31 -07:00
John MacFarlane
72e71a1dad LaTeX reader: support longtable.
Closes #2411.
2015-09-23 08:34:37 -07:00
John MacFarlane
bf7d858a9e LaTeX reader: Implement \Cite.
See #2335.
2015-08-08 10:32:03 -07:00
John MacFarlane
66a72b8eec LaTeX reader: support abstract environment.
The abstract populates an "abstract" metadata field.
2015-07-23 09:31:46 -07:00
John MacFarlane
f6ad9e263f LaTeX reader: properly handle booktabs lines.
Lines aren't part of the pandoc table model, but we can just
ignore them.

Closes #2307.
2015-07-21 10:26:29 -07:00
John MacFarlane
754d1cef7b LaTeX reader: Allow _ and ^ as regular inline text.
Normally these will cause an error in LaTeX, but there
are contexts (e.g. `alltt` environments) where they are
okay.  Now that we aren't treating them as super/subscript
outside of math mode, it seems okay to parse them as regular
text.
2015-06-29 10:20:08 -07:00
John MacFarlane
457fbebabc LaTeX reader: don't parse _,^ as super/sub outside math mode. 2015-06-29 09:46:57 -07:00
John MacFarlane
1868cb5e42 Updated copyright notices to -2015. Closes #2111. 2015-04-26 10:18:29 -07:00
John MacFarlane
e1d6be4e30 LaTeX reader: recognize \newpage as a block command. 2015-04-22 08:48:25 -07:00
Nikolay Yakimov
b92d49092f LaTeX Reader: Code cleanup 2015-04-12 14:50:38 +03:00
Nikolay Yakimov
f1eb1ab9cf Latex Reader: Block commands code cleanup 2015-03-31 14:32:42 +03:00
Nikolay Yakimov
6a0d500f99 Latex Reader: Guard against para starting with inline macro 2015-03-30 06:42:15 +03:00
Nikolay Yakimov
f3e8274d04 LaTeX Reader: check for block-level newcommand aliases in blockCommand 2015-03-30 05:37:00 +03:00
John MacFarlane
6a3a04c428 Merge branch 'errortype' of https://github.com/mpickering/pandoc into mpickering-errortype
Conflicts:
	benchmark/benchmark-pandoc.hs
	src/Text/Pandoc/Readers/Markdown.hs
	src/Text/Pandoc/Readers/Org.hs
	src/Text/Pandoc/Readers/RST.hs
	tests/Tests/Readers/LaTeX.hs
2015-03-28 12:12:48 -07:00
John MacFarlane
3b962a5277 Properly gobble spaces after \\.
Closes #2007.
2015-03-14 23:12:04 -07:00
John MacFarlane
348b383731 LaTeX reader: allow block content in \title{}.
Closes #2001.
2015-03-14 23:11:04 -07:00
Mathias Schenner
12bf0ff3e5 LaTeX reader: allow non-empty colsep in tables
The `tabular` environment allows non-empty column separators
with the "@{...}" syntax. Previously, pandoc would fail to
parse tables if a non-empty colsep was present. With this
commit, these separators are still ignored, but the table gets
parsed. A test case is included.
2015-03-08 15:47:39 +01:00
Mathias Schenner
1e3ef0e36f LaTeX reader: allow valign argument in tables
The `tabular` environment takes an optional parameter for
vertical alignment. Previously, pandoc would fail to parse
tables if this parameter was present. With this commit,
the parameter is still ignored, but the table gets
parsed. A test case is included.
2015-03-08 15:39:18 +01:00
John MacFarlane
efdc1691fa LaTeX reader: ignore options in \lstinline.
Rather than raising a parse error.  Closes #1997.
2015-03-07 19:58:49 -08:00
Matthew Pickering
b8acb9f541 Change return type of LaTeX reader 2015-02-18 21:09:06 +00:00
John MacFarlane
d90dc6b8b5 LaTeX reader: don't limit includes to .tex extension.
Previously `\input` and `\include` would only work if the
included files had the extension `.tex`.  This change relaxes
that restriction, though if the extension is not `.tex`, it
must be given explicitly in the `\input` or `\include`.

Closes #1882.
2015-01-22 23:17:25 -08:00
Mark Wright
f18ceb1b5e ghc 7.10.1 RC1 requires specifying the type of String literals https://ghc.haskell.org/trac/ghc/wiki/Migration/7.10#GHCsaysNoinstanceforFoldable...arisingfromtheuseof... 2015-01-05 14:38:06 +11:00
John MacFarlane
e7187fa3bb LaTeX reader: handle tabular* environment.
This change allows pandoc not to choke on the table-width parameter
of `tabular*`.  Note that the table width is not actually parsed
or taken into account, but this should give tolerable results in
many cases.

Closes #1850.
2015-01-01 08:46:45 -08:00
John MacFarlane
7e41d0b1ee LaTeX reader: parse math environments as inline when possible.
Closes #1821.
2014-12-16 12:27:04 -08:00
John MacFarlane
58ea1ce5f1 LaTeX reader: parse label after caption into a span...
instead of inserting an additional paragraph of bracketed text.
Closes #1747.
2014-12-15 21:50:10 -08:00
John MacFarlane
8a3363a269 Merge branch 'patch-1' of https://github.com/Wikiwide/pandoc into Wikiwide-patch-1
Conflicts:
	src/Text/Pandoc/Readers/LaTeX.hs
2014-12-15 20:27:42 -08:00
John MacFarlane
9bf76fa5a2 LaTeX reader: better handling of \noindent and \greektext.
Closes #1783.
2014-12-15 10:34:59 -08:00
John MacFarlane
47c360e079 Improved texorpdfstring patch #1148.
* Make LaTeX reader recognize texorpdfstring.
* Don't use texorpdfstring unless it's actually needed.
* Fix tests.
2014-12-15 10:06:03 -08:00
John MacFarlane
6c0943000d LaTeX reader: support \smartcite and \Smartcite from biblatex.
See jgm/pandoc-citeproc#26.
2014-11-25 10:03:43 -08:00
Wikiwide
678aa31561 cref, sep
Adding inlineCommands
2014-10-03 11:33:02 +10:00
Matthew Pickering
83028c5982 Exported runParserT and Stream 2014-07-22 16:37:41 +01:00
Matthew Pickering
2fb8063f78 Removed (>>~) function
This function is equivalent to the more general (<*) which is defined in
Control.Applicative. This change makes pandoc code easier to understand for
those not familar with the codebase.
2014-07-11 12:51:26 +01:00
John MacFarlane
fc291efad3 LaTeX reader: Correctly handle table rows with too few cells.
LaTeX seems to treat them as if they have empty cells at the
end.  Closes #241.
2014-06-17 00:38:55 -07:00
John MacFarlane
87c08be58f LaTeX reader: handle leading/trailing spaces in emph better.
`\emph{ hi }` gets parsed as `[Space, Emph [Str "hi"], Space]`
so that we don't get things like `* hi *` in markdown output.

Also applies to textbf and some other constructions.

Closes #1146.  (`--normalize` isn't touched by this, but
normalization should not generally be necessary with the
changes to the readers.)
2014-06-16 19:18:33 -07:00
John MacFarlane
459805de4c LaTeX reader: don't assume preamble doesn't contain environments.
Closes #1338.
2014-06-16 17:43:56 -07:00
James Aspnes
abbf33ae7d allow (and discard) optional argument for \caption 2014-06-12 21:19:00 -04:00
John MacFarlane
9681574661 LaTeX reader: Handle comments at the end of tables.
This resolves the issue illustrated in
http://stackoverflow.com/questions/24009489/comments-in-latex-break-pandoc-table.
2014-06-03 23:17:42 -07:00
Albert Krewinkel
3238a2f919 Org reader: support for inline LaTeX
Inline LaTeX is now accepted and parsed by the org-mode reader.  Both,
math symbols (like \tau) and LaTeX commands (like \cite{Coffee}), can be
used without any further escaping.
2014-05-20 22:29:21 +02:00
John MacFarlane
aa019448d6 LaTeX reader: Support \addbibresource. 2014-05-12 13:06:06 -07:00
John MacFarlane
a8319d1339 LaTeX reader: set bibliography in metadata from \bibliography cmd. 2014-05-11 22:52:29 -07:00
John MacFarlane
0092606476 LaTeX reader: Don't error on "%foo" with no newline. 2014-05-10 23:26:32 -07:00
Albert Krewinkel
8fdbef841d Update copyright notices for 2014, add missing notices 2014-05-09 00:46:08 +02:00