Commit Graph
10211 Commits
Author SHA1 Message Date
Albert Krewinkel 1fc07ff4da Refactor top-level division selection (#3261)
The "default" option is no longer represented as `Nothing` but via a new
type constructor, making the `Maybe` wrapper superfluous.

The default behavior of using heuristics can now be enabled explicitly
by setting `--top-level-division=default`.

API change (`Text.Pandoc.Options`): The `Division` type was renamed to
`TopLevelDivision`. The `Section`, `Chapter`, and `Part` constructors
were renamed to `TopLevelSection`, `TopLevelChapter`, and
`TopLevelPart`, respectively. An additional `TopLevelDefault`
constructor was added, which is now also the new default value of the
`writerTopLevelDivision` field in `WriterOptions`.
2016-11-27 20:31:04 +01:00
John MacFarlane 08bf8f2e9d Updated stack.yaml to use lts 7.9 + latest pandoc-citeproc dev. 2016-11-27 20:24:23 +01:00
John MacFarlane 92a78d7d79 Version to 1.19. 2016-11-27 17:49:54 +01:00
John MacFarlane aa67b34da4 Update changelog. 2016-11-27 17:49:36 +01:00
John MacFarlane 5222572033 HTML reader: improved table parsing.
We now check explicitly for non-1 rowspan or colspan
attributes, and fail when we encounter them. Previously
we checked that each row had the same number of cells,
but that could be true even with rowspans/colspans.
And there are cases where it isn't true in tables that
we can handle fine -- e.g. when a tr element is empty.
So now we just pad rows with empty cells when needed.

Closes #3027.
2016-11-26 22:28:28 +01:00
John MacFarlane 7b4a12a532 Revert "Open Document writer: set first level of blockquotes to not use indent (#2757)"
This reverts commit fee0b913c5.

The previous commit did not provide a good way to get increased
indentation for nested block quotes.

Rolling it back for now. @jjsheets feel free to submit something
that handles multiple levels of block quote smoothly, if you like.
2016-11-26 22:03:57 +01:00
Jeff Sheets fee0b913c5 Open Document writer: set first level of blockquotes to not use indent (#2757)
* Open Document writer: set first level of blockquotes to not use indent
Nested blockquotes start using indents like before. Quotation style is
still in use, so the style's indent settings take effect on the first
level of blockquotes.

* Removed list construction to improve pull request to fix #2747
2016-11-26 21:50:20 +01:00
hubertp-lshift 5219599a77 [Tex] Remove invalid inlines in sections (#3218)
Latex doesn't like when hypertargets or images are
put in the options list of the section. They are not
lost since they were actually duplicated and present
also in the second argument list.

Note on the implementation:
I had to inline the definiton of 'foldMap' since it is
not implemented in every version of Haskell that Pandoc
supports.
2016-11-26 21:47:51 +01:00
hubertp-lshift 015dead0bb [odt] Infer table's caption from the paragraph (#3224)
ODT's reader always put empty captions for the parsed
tables. This commit
1) checks paragraphs that follow the table definition
2) treats specially a paragraph with a style named 'Table'
3) does some postprocessing of the paragraphs that combines
 tables followed immediately by captions

The ODT writer used 'TableCaption' style name for the caption
paragraph. This commit follows the open office approach which
allows for appending captions to table but uses a built-in style
named 'Table' instead of 'TableCaption'. Any users of odt format
(both writer and reader) are therefore required to change the
style's name to 'Table', if necessary.
2016-11-26 21:45:56 +01:00
Albert Krewinkel baa25362a4 Allow to overwrite top-level division type heuristics (#3258)
Pandoc uses heuristics to determine the most resonable top-level
division type when emitting LaTeX or Docbook markup.  It is now possible
to overwrite this implicitly set top-level division via the
`top-level-division` command line parameter.

API change (`Text.Pandoc.Options`): the type of the
`writerTopLevelDivision` field in of the `WriterOptions` data type is
altered from `Division` to `Maybe Division`. The field's default value
is changed from `Section` to `Nothing`.

Closes: #3197
2016-11-26 21:43:46 +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 78f2c994e1 Use pre-wrap for code in dzslides template (Nicolas Porcel).
Otherwise overly long code will appear on every slide.
2016-11-25 11:19:40 +01:00
John MacFarlane c5b8f6c8e6 Merge pull request #223 from Nicop06/patch-1
DZSlides: Force word wrapping in code tags
2016-11-25 11:19:18 +01:00
Albert Krewinkel f4a8f12387 Org reader: respect column width settings
Table column properties can optionally specify a column's width with
which it is displayed in the buffer. Some exporters, notably the ODT
exporter in org-mode v9.0, use these values to calculate relative column
widths. The org reader now implements the same behavior.

Note that the org-mode LaTeX and HTML exporters in Emacs don't support
this feature yet, which should be kept in mind by users who use the
column widths parameters.

Closes: #3246
2016-11-24 20:07:39 +01:00
Nicolas Porcel bd5818c52a Force word wrapping in code tags
For instance, if you try to compile the following markdown code with pandoc (using 1.12):

``` markdown
Page 1
------

    This is a very long code line that will appear on every slide even on page three

Page 2
------

My content

Page 3
------

My last content
```

using this command:

    pandoc -s -t dzslides test.md -o /tmp/test.html

the long code line will appear on every slide. Using pre-wrap fixes the problem by forcing word wrap of code. The only drawback is that it requires IE 8 [according to MDN](https://developer.mozilla.org/fr/docs/Web/CSS/white-space), which make it less compatible.

A workaround it to wrap the code when writing it, but if you consider inline code tags using the accents \`\` in markdown this is not possible.
2016-11-24 15:32:24 +01:00
John MacFarlane d7fb9db295 LaTeX writer: use \autocites* when "suppress-author" citation used. 2016-11-24 10:12:13 +01:00
ickc 07b3060403 CONTRIBUTING.md: minor change in wording and punctuation (#3252)
- em-dash should be used here, not en-dash (which is for, e.g., ranges).
- unicode em-dash is used because GitHub don’t do SmartyPants on dashes.
2016-11-24 10:02:36 +01:00
John MacFarlane 03788eb164 Fixed some bugs in Pretty that caused blank lines in tables.
The bugs caused spurious blank lines in grid tables
when we had things like

    blankline $$ blankline

Closes #3251.
2016-11-23 15:18:03 +01:00
John MacFarlane 6ee7f7206b Further revisions to manual for --version changes.
Closes #3244.
2016-11-23 15:08:54 +01:00
John MacFarlane 5449e4a226 Docx writer: Give full detail when there are errors converting tex math. 2016-11-22 22:21:07 +01:00
John MacFarlane 77912ddc56 Put 'warn' in MonadIO. Add warnings for math conversions in docx. 2016-11-22 10:56:59 +01:00
John MacFarlane 77753747d1 Cleaned up filter-finding.
* Removed a hardcoded '/' that may have caused problems with Windows
  paths.
* Cleaned up the logic.
2016-11-21 22:18:05 +01:00
John MacFarlane ac6dfe0b4e Changed resolution of filter paths.
- We now first treat the argument of `--filter` as a full (absolute
  or relative) path, looking for a program there.  If it's found,
  we run it.
- If not, and if it is a simple program name or a relative path,
  we try resolving it relative to `$DATADIR/filters`.
- If this fails, then we treat it as a program name and look in
  the user's PATH.

Previously if you did `--filter foo` and you had `foo` in your
path and also an executable `foo` in your working directory,
the one in the path would be used. Now the one in the working
directory is used.

In addition, when you do `--filter foo/bar.hs`, pandoc will now
find a filter `$DATADIR/filters/foo/bar.hs` -- assuming there
isn't a `foo/bar.hs` relative to the working directory.

@jkr note the slight revision of what we had before.
This was motivated by the idea that one might clone filter
repositories into the filters subdirectory; it is nice to
be able to run them as `reponame/filtername`.
2016-11-21 15:32:27 +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 bd19176026 LaTeX writer: ensure that simple tables have simple cells.
If cells contain more than a single Plain or Para, then
we need to set nonzero widths and put contents into minipages.

Closes #2666.
2016-11-20 17:01:51 +01:00
Björn Peemöller 2761fecd57 Fix for calculation of column widths for aligned multiline tables
This also fixes excessive CPU and memory usage for tables
when --columns is set in such a way that cells must be very
tiny.

Now cells are guaranteed to be big enough so that single
words don't need to line break, even if this pushes the
line length above the column width.

Closes #1911.
2016-11-19 23:14:35 +01:00
Björn Peemöller 18f5d25abe Added function to compute the minimal width of a document 2016-11-19 23:04:29 +01:00
Björn Peemöller 6246d6e213 Added error message for illegal call to Pretty.block 2016-11-19 23:03:53 +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
Albert Krewinkel 64413b1ce2 Un-break Travis build
Remove whitespace before function documentation The extra spaced cause
problems with documentation tools and Travis tests are failing because
of this.
2016-11-19 22:30:02 +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 e4798a6726 Fixed xref lookup in DocBook reader. Closes #3243.
It previously only worked when the qnames lacked the docbook
namespace URI.
2016-11-19 10:30:20 +01:00
Albert Krewinkel 1a8af5fc44 Org reader: Ensure images in paragraphs are not parsed as figures
This fixes a regression introduced in
7e5220b57c.
2016-11-19 01:17:04 +01:00
John MacFarlane f9df62c29f Export Text.Pandoc.getDefaultExtensions.
See #3178.
2016-11-18 17:01:09 +01:00
John MacFarlane a729dd8ad3 Docx writer: fixed XML markup for empty cells.
Closes #3238.

Previously the Compact style wasn't being applied properly
to empty cells.
2016-11-18 16:47:23 +01:00
John MacFarlane 9141f1fdbb windows/stack.yaml - use latest pandoc-citeproc from git.
Otherwise tests will fail on appveyor.
2016-11-18 16:20:22 +01:00
John MacFarlane aabf10b8bd Added weigh-pandoc for memory usage diagnostics.
See #3169.
2016-11-18 14:03:33 +01:00
John MacFarlane 31076adf09 Markdown writer: Use bracketed form for native spans...
...when `bracketed_spans` enabled.

Closes #3229.
2016-11-18 11:58:56 +01:00
John MacFarlane 20b2269fb7 In --version, trap error in getAppUserDataDirectory.
This fixes a crash with `pandoc --version` on unusual systems with
no real user (e.g. SQL Server 2016).  Closes #3241.
2016-11-18 11:25:13 +01:00
John MacFarlane 99287f4754 Add comment acknowledging source of .travis.yml. 2016-11-16 12:00:12 +01:00
ickc 74ebeeedf0 remove make_travis_yml.hs (#3235) 2016-11-16 11:58:11 +01:00
ickc e8ce21d614 Small caps in Bracketed Spans (#3191)
* Markdown reader: modify bracketedSpan to check small caps

* MANUAL.txt: add description on the use of `bracketed_spans` in small cap

* Improve markdown readers: bracketedSpan function EXACTLY as spanHtml
2016-11-16 11:53:51 +01:00
John MacFarlane 0dfcedad7e Adjust widths in Markdown grid tables so that they match on round-trip. 2016-11-15 16:48:24 +01:00
John MacFarlane 298e6f38f9 Allow alignments to be specified in Markdown grid tables. 2016-11-15 16:41:54 +01:00
John MacFarlane 064e3f8c55 Markdown writer: fixed inconsistent spacing issue.
Previously a tight bullet sublist got rendered with
a blank line after, while a tight ordered sublist did
not.  Now we don't get the blank line in either case.

Closes #3232.
2016-11-15 10:32:16 +01:00
John MacFarlane dec0ff3693 changelog: Moved an item that was misplaced...
in the 1.17.2 section to the 1.18 section where it belongs.
2016-11-15 10:08:07 +01:00
John MacFarlane 50f0cfcc1a HTML reader: only treat "a" element as link if it has href.
Otherwise treat as span.

Closes #3226.
2016-11-13 22:41:11 +01:00
John MacFarlane 3de6b97b9f Use correct mime types for woff and woff2.
Closes #3228.
2016-11-12 23:22:34 +01:00
John MacFarlane b6a916974e Markdown writer: Fix escaping of spaces in super/subscript.
Previously two backslashes were inserted, which gave a
literal backslash.

Closes #3225.
2016-11-12 23:19:15 +01:00