Commit graph

621 commits

Author SHA1 Message Date
John MacFarlane
916ce4d511 Revert "Relax --abbreviations rules so that a period isn't required."
This reverts commit e461b7dd45.

Ill-advised change.  This doesn't work because we parse
strings in chunks.
2021-03-04 16:22:08 -08:00
John MacFarlane
e461b7dd45 Relax --abbreviations rules so that a period isn't required.
Partially addresses #7124.
2021-03-04 16:02:46 -08:00
John MacFarlane
bd988beb38 Update date on manual. 2021-03-04 08:49:45 -08:00
Salim B
fae6a204f1
Fix/update URLs and use HTTP**S** where possible (#7122) 2021-02-26 17:56:04 -08:00
John MacFarlane
bafccd5aa2 T.P.Error: Add PandocUnsupportedCharsetError constructor...
...for PandocError.  [API change]
2021-02-22 14:01:04 -08:00
John MacFarlane
fc335801ef MANUAL: block-level formatting is not allowed in line blocks.
Closes #7107.
2021-02-19 10:22:54 -08:00
John MacFarlane
5eedbb6e8e Clarify tex_math_dollars extension.
Note that no blank lines are allowed between the delimiters
in display math.
2021-02-19 09:22:17 -08:00
John MacFarlane
8c2618ed81 Add MANUAL section on reproducible builds. 2021-02-11 15:17:56 -08:00
John MacFarlane
8ca191604d Add new unexported module T.P.XMLParser.
This exports functions that uses xml-conduit's parser to
produce an xml-light Element or [Content].  This allows
existing pandoc code to use a better parser without
much modification.

The new parser is used in all places where xml-light's
parser was previously used.  Benchmarks show a significant
performance improvement in parsing XML-based formats
(especially ODT and FB2).

Note that the xml-light types use String, so the
conversion from xml-conduit types involves a lot
of extra allocation.  It would be desirable to
avoid that in the future by gradually switching
to using xml-conduit directly. This can be done
module by module.

The new parser also reports errors, which we report
when possible.

A new constructor PandocXMLError has been added to
PandocError in T.P.Error [API change].

Closes #7091, which was the main stimulus.

These changes revealed the need for some changes
in the tests.  The docbook-reader.docbook test
lacked definitions for the entities it used; these
have been added. And the docx golden tests have been
updated, because the new parser does not preserve
the order of attributes.

Add entity defs to docbook-reader.docbook.

Update golden tests for docx.
2021-02-10 22:04:11 -08:00
Nixon Enraght-Moony
bab5d10ea7
Document no template fallback for absolute path (#7088)
See jgm/pandoc#7077
2021-02-07 08:30:34 -08:00
Nick Berendsen
b79aba6ea1
ePub writer: belongs-to-collection metadata (#7063) 2021-02-03 09:00:18 -08:00
Andrew Dunning
4de9edb8e8
LaTeX template: Update to iftex package (#7073)
Load the iftex package directly rather than via the ifxetex and ifluatex compatibility
wrappers, which have been merged into a single package that is part of the LaTeX core.
The capitalization of the commands has been changed for compatibility with older
versions of TeX Live that have the version of iftex by the Persian TeX Group. This had
been removed in
<2845794c0c>
for compatibility with BasicTeX, but that is no longer an issue.
2021-02-03 08:54:11 -08:00
John MacFarlane
2ca61a5350 Improve docs for cite-method. 2021-01-27 09:22:50 -08:00
John MacFarlane
54d8c6959c Update README and man page. 2021-01-22 21:37:59 -08:00
John MacFarlane
83d7804b8f
Merge pull request #7042 from tarleb/jats-element-citations
JATS writer: use element citations
2021-01-22 10:39:58 -08:00
Albert Krewinkel
b4b3560191
JATS writer: allow to use element-citation 2021-01-22 19:35:08 +01:00
John MacFarlane
fa952c8dbe Add biblatex, bibtex as output formats (closes #7040).
* `biblatex` and `bibtex` are now supported as output
  as well as input formats.

* New module Text.Pandoc.Writers.BibTeX, exporting
  writeBibTeX and writeBibLaTeX. [API change]

* New unexported function `writeBibtexString` in
  Text.Pandoc.Citeproc.BibTeX.
2021-01-22 10:08:43 -08:00
Albert Krewinkel
45174d7385
MANUAL.txt: update description of -L/--lua-filter.
The example filter was outdated, a reference to the separate Lua filters
documentation is added instead.
2021-01-11 16:16:05 +01:00
Albert Krewinkel
4f34345867
Update copyright notices for 2021 (#7012) 2021-01-08 09:38:20 -08:00
David Martschenko
385b6a3b21
Implement defaults file inheritance (#6924)
Allow defaults files to inherit options from other defaults files by
specifying them with the following syntax:
`defaults: [list of defaults files or single defaults file]`.
2021-01-05 10:15:59 -08:00
John MacFarlane
ee03d86a5d MANUAL: Document use of citations in note styles.
See #6828.
2020-12-30 10:42:24 -08:00
John MacFarlane
886faa3cbc Bump to 2.11.3.2, update changelog and man page 2020-12-29 12:48:55 -08:00
Albert Krewinkel
8f8536abb7
MANUAL: note that textarea content is never parsed as Markdown. 2020-12-28 14:34:48 +01:00
John MacFarlane
b220165462 Update man page. 2020-12-17 11:19:10 -08:00
John MacFarlane
cbc8e06578 MANUAL: clarify that inline references take precedence ...
over references defined in an external bibliography.
2020-12-17 10:07:39 -08:00
John MacFarlane
8b872301eb MANUAL: update --bibliography with info about resource-path
and URLs.
2020-12-15 09:32:19 -08:00
John MacFarlane
594d466cd3 MANUAL.txt: Remove misleading paragraph
about `--resource-path`. (Note that resource-path now affects
searching for bibilographies and other resources.)
2020-12-15 09:13:19 -08:00
John MacFarlane
a3eb87b2ea Add sourcepos extension for commonmarke
* Add `Ext_sourcepos` constructor for `Extension`.
* Add `sourcepos` extension (only for commonmark).
* Bump to 2.11.3

With the `sourcepos` extension set set, `data-pos` attributes are added
to the AST by the commonmark reader. No other readers are affected.  The
`data-pos` attributes are put on elements that accept attributes; for
other elements, an enlosing Div or Span is added to hold the attributes.

Closes #4565.
2020-12-10 08:59:55 -08:00
John MacFarlane
d73ef09c84 Document that --number-sections works in ms.
Closes #6935.
2020-12-08 15:14:34 -08:00
Nils Carlson
c161893f44
OpenDocument writer: Allow references for internal links (#6774)
This commit adds two extensions to the OpenDocument writer,
`xrefs_name` and `xrefs_number`.

Links to headings, figures and tables inside the document are
substituted with cross-references that will use the name or caption
of the referenced item for `xrefs_name` or the number for `xrefs_number`.

For the `xrefs_number` to be useful heading numbers must be enabled
in the generated document and table and figure captions must be enabled using for example the `native_numbering` extension.

In order for numbers and reference text to be updated the generated
document must be refreshed.

Co-authored-by: Nils Carlson <nils.carlson@ludd.ltu.se>
2020-12-05 10:00:04 -08:00
John MacFarlane
0c8ab8a12f Update README.md, man page. 2020-11-19 13:05:02 -08:00
Alex Toldaiev
dcf99f29e0
Added a sentence about pagetitle for HTML (#6843)
changed:      MANUAL.txt
2020-11-16 13:34:57 -08:00
John MacFarlane
51b5b90956 Fix small typo in manual for --markdown-headings. 2020-11-14 21:50:53 -08:00
John MacFarlane
c4029dcfed MANUAL: wrap some overly long lines. 2020-11-14 21:49:12 -08:00
Aner Lucero
f63b76e169 Markdown writer: default to using ATX headings.
Previously we used Setext (underlined) headings by default.
The default is now ATX (`##` style).

* Add the `--markdown-headings=atx|setext` option.
* Deprecate `--atx-headers`.
* Add constructor 'ATXHeadingInLHS` constructor to `LogMessage` [API change].
* Support `markdown-headings` in defaults files.
* Document new options in MANUAL.

Closes #6662.
2020-11-14 21:33:32 -08:00
John MacFarlane
7f3afc3157 Manual: correct link-citation -> link-citations. 2020-11-11 10:02:23 -08:00
John MacFarlane
cfb017c76b Bump to 2.11.1.1 and update changelog. 2020-11-07 11:12:19 -08:00
John MacFarlane
6c1bc1510b Clarify manual on --track-changes.
Closes #6801.
2020-11-03 11:05:57 -08:00
John MacFarlane
b9d11379df Update man page. 2020-11-02 22:21:19 -08:00
John MacFarlane
ea45837372 Default CSS: avoid padding and color if monobackgroundcolor not given.
This makes the default more austere, while putting the padded,
colored code elements within easy reach.
2020-11-01 14:29:03 -08:00
Mauro Bieg
95d8713633
Updates to default CSS (#6786)
- Fix margin before codeblock
- Add `monobackgroundcolor` variable, making the background color
  and padding of code optional.
- Ensure that backgrounds from highlighting styles take precedence over
  monobackgroundcolor
- Remove list markers from TOC
- Add margin-bottom where needed
- Remove italics from blockquote styling
- Change borders and spacing in tables to be more consistent with other
   output formats
- Style h5, h6
- Decrease root font-size to 18px
- Update tests for styles.html changes
- Add CSS example to MANUAL
2020-11-01 14:22:58 -08:00
John MacFarlane
bc3f16b0c1 Allow citation-abbreviations in defaults file. 2020-10-29 15:54:50 -07:00
John MacFarlane
f931214288 Document that --html-q-tags requires the smart extension on the reader.
Closes #6766.
2020-10-23 09:45:18 -07:00
John MacFarlane
644d844bc1 Update manual date and regenerate man page. 2020-10-22 17:36:27 -07:00
Cyrus Yip
4bafdce394
improve explanation of "indent" variable (#6767) 2020-10-22 09:01:16 -07:00
Nick Fleisher
f0e7d400c2
MANUAL: remove org from list of input formats supporting raw_tex (#6753)
Also update man page.
2020-10-16 11:52:06 -07:00
John MacFarlane
aa5d87961d Fix CSL JSON conversion examples in MANUAL.
You need -f csljson.
2020-10-14 09:54:52 -07:00
John MacFarlane
91eaaf3c3d Fix spelling errors in MANUAL found by fossies codespell tool.
See #6738
2020-10-12 08:54:30 -07:00
John MacFarlane
5cf3140b09 Add citeproc related options to sample defaults file. 2020-10-10 15:20:09 -07:00
John MacFarlane
307ea358cb More documentation on converting bib formats. 2020-10-08 22:10:30 -07:00
John MacFarlane
84eea72e79 MANUAL: Add note about lualatex using selnolig. 2020-10-08 17:25:36 -07:00
John MacFarlane
e0984a43a9 Add built-in citation support using new citeproc library.
This deprecates the use of the external pandoc-citeproc
filter; citation processing is now built in to pandoc.

* Add dependency on citeproc library.
* Add Text.Pandoc.Citeproc module (and some associated unexported
  modules under Text.Pandoc.Citeproc).  Exports `processCitations`.
  [API change]
* Add data files needed for Text.Pandoc.Citeproc:  default.csl
  in the data directory, and a citeproc directory that is just
  used at compile-time.  Note that we've added file-embed as a mandatory
  rather than a conditional depedency, because of the biblatex
  localization files. We might eventually want to use readDataFile
  for this, but it would take some code reorganization.
* Text.Pandoc.Loging: Add `CiteprocWarning` to `LogMessage` and use it
  in `processCitations`. [API change]
* Add tests from the pandoc-citeproc package as command tests (including
  some tests pandoc-citeproc did not pass).
* Remove instructions for building pandoc-citeproc from CI and
  release binary build instructions.  We will no longer distribute
  pandoc-citeproc.
* Markdown reader: tweak abbreviation support.  Don't insert a
  nonbreaking space after a potential abbreviation if it comes right before
  a note or citation.  This messes up several things, including citeproc's
  moving of note citations.
* Add `csljson` as and input and output format. This allows pandoc
  to convert between `csljson` and other bibliography formats,
  and to generate formatted versions of CSL JSON bibliographies.
* Add module Text.Pandoc.Writers.CslJson, exporting `writeCslJson`. [API
  change]
* Add module Text.Pandoc.Readers.CslJson, exporting `readCslJson`. [API
  change]
* Added `bibtex`, `biblatex` as input formats.  This allows pandoc
  to convert between BibLaTeX and BibTeX and other bibliography formats,
  and to generated formatted versions of BibTeX/BibLaTeX bibliographies.
* Add module Text.Pandoc.Readers.BibTeX, exporting `readBibTeX` and
  `readBibLaTeX`. [API change]
* Make "standalone" implicit if output format is a bibliography format.
  This is needed because pandoc readers for bibliography formats put
  the bibliographic information in the `references` field of metadata;
  and unless standalone is specified, metadata gets ignored.
  (TODO: This needs improvement. We should trigger standalone for the
  reader when the input format is bibliographic, and for the writer
  when the output format is markdown.)
* Carry over `citationNoteNum` to `citationNoteNumber`.  This was just
  ignored in pandoc-citeproc.
* Text.Pandoc.Filter: Add `CiteprocFilter` constructor to Filter.
  [API change] This runs the processCitations transformation.
  We need to treat it like a filter so it can be placed
  in the sequence of filter runs (after some, before others).
  In FromYAML, this is parsed from `citeproc` or `{type: citeproc}`,
  so this special filter may be specified either way in a defaults file
  (or by `citeproc: true`, though this gives no control of positioning
  relative to other filters).  TODO: we need to add something to the
  manual section on defaults files for this.
* Add deprecation warning if `upandoc-citeproc` filter is used.
* Add `--citeproc/-C` option to trigger citation processing.
  This behaves like a filter and will be positioned
  relative to filters as they appear on the command line.
* Rewrote the manual on citatations, adding a dedicated Citations
  section which also includes some information formerly found in
  the pandoc-citeproc man page.
* Look for CSL styles in the `csl` subdirectory of the pandoc user data
  directory.  This changes the old pandoc-citeproc behavior, which looked
  in `~/.csl`.  Users can simply symlink `~/.csl` to the `csl`
  subdirectory of their pandoc user data directory if they want
  the old behavior.
* Add support for CSL bibliography entry formatting to LaTeX, HTML,
  Ms writers.  Added CSL-related CSS to styles.html.
2020-09-21 10:15:50 -07:00
Mauro Bieg
caa225ad82
Add CSS to default HTML template (#6601) 2020-09-19 16:13:50 -07:00
John MacFarlane
62948f3579 Delete obsolete MANUAL section on compact and loose lists.
This gives a rule that has been been superseded by
commit 47537d26db.

The section is concerned to explain a discrepancy with
original Markdown.pl and its test suite.  In the case
under consideration, Markdown.pl gave strange results
which pandoc corrected.  I think it's no longer worth
wasting space on this, as its behavior seems clearly wrong.
If we are going to comment on every edge case with
Markdown.pl, the manual will get too long.

Babelmark 2 shows that some of the older implementations
follow Markdown.pl -- PHP Markdown, Python Markdown,
redcarpet, discount.

https://johnmacfarlane.net/babelmark2/?normalize=1&text=%2B+++First%0A%2B+++Second%0A++++-+a%0A++++-+b%0A%0A%2B+Third%0A

Closes #6684.
2020-09-13 12:45:17 -07:00
Albert Krewinkel
2109ded710
MANUAL: fix position of attributes in header 2020-09-13 07:42:44 +02:00
John MacFarlane
a7c9a69004 MANUAL: remove lists of support extensions for markdown variants.
Instead, offer the advice to use `--list-extensions=FORMAT`.

Closes #6604.
2020-08-09 11:12:59 -07:00
Blake Eryx
eb4fe697f0
Remove duplicate 'seriespage'. (#6568) 2020-07-27 19:01:29 -07:00
John MacFarlane
5a216f7bd7 update date, man page, README. 2020-07-23 17:56:12 -07:00
John MacFarlane
48fb6d947d Add raw_markdown extension affecting ipynb reader.
Specifying `-f ipynb+raw_markdown` will cause Markdown cells
to be represented as raw Markdown blocks, instead of being
parsed.  This is not what you want when going from `ipynb`
to other formats, but it may be useful when going from `ipynb`
to Markdown or to `ipynb`, to avoid semantically insignificant
changes in the contents of the Markdown cells that might
otherwise be introduced.

Closes #5408.
2020-07-23 17:47:02 -07:00
John MacFarlane
1e84178431 Docx writer: support --number-sections.
Closes #1413.
2020-07-22 11:53:31 -07:00
John MacFarlane
d6b7b1dc77 Remove use of cmark-gfm for commonmark/gfm rendering.
Instead rely on the markdown writer with appropriate extensions.

Export writeCommonMark variant from Markdown writer.
This changes a few small things in rendering markdown,
e.g. w/r/t requiring backslashes before spaces inside
super/subscripts.
2020-07-19 22:51:59 -07:00
John MacFarlane
0aed9dd589 Add commonmark_x output format...
commonmark with a number of useful extensions (more than gfm).
2020-07-19 22:51:59 -07:00
John MacFarlane
8d523d80d4 Add generic attributes extension.
This allows attributes to be added to any block or inline
element, in principle.  (Though in many cases this will be
done by adding a Div or Span container, since pandoc's
AST doesn't have a slot for attributes for most elements.)

Currently this is only possible with the commonmark and gfm
readers.

Add `Ext_attributes` constructor for `Extension` [API change].
2020-07-19 22:51:59 -07:00
John MacFarlane
7dbf03f527 MANUAL.txt: rewrite Raw HTML/TeX section...
...to avoid duplicate headings for the extensions.
2020-07-19 22:51:59 -07:00
Blake Eryx
920732078c Remove duplicate 'titlepage' in docs 2020-07-19 14:03:18 -04:00
Benjamin Wuethrich
e965926c1a Fix typo in MANUAL.txt 2020-07-05 23:50:04 -04:00
John MacFarlane
495cc11941 Update manual date, generate man page. 2020-06-29 13:33:57 -07:00
John MacFarlane
8ab3d8736a Delete misleading sentence in manualfor --verbose 2020-06-28 10:38:38 -07:00
Mauro Bieg
f91121fe56
MANUAL: clarify partial naming (#6476) 2020-06-21 10:29:55 -07:00
Albert Krewinkel
a6a7f08a2b
MANUAL: describe jira as "Jira/Confluence wiki markup"
In the past, Jira's wiki markup was also used by – and could be imported
into – Atlassian Confluence.

Closes: #6351
2020-06-15 21:16:35 +02:00
John MacFarlane
7c6dbd37eb Change default revealjs-url to use CDN version of revealjs v4.
See #6408.
2020-05-30 12:10:27 -07:00
Salim B
18b815cdce
Update links to reveal.js documentation (#6386)
With the [release of reveal.js 4.0.0](https://github.com/hakimel/reveal.js/releases/tag/4.0.0), the documentation moved from the GitHub README to the dedicated website <https://revealjs.com/>.

Note that there are [further adjustments](https://revealjs.com/upgrading/) to the [Pandoc template](https://github.com/jgm/pandoc-templates/blob/master/default.revealjs) necessary in order to make Pandoc work with reveal.js 4.0.0.
2020-05-20 08:53:55 -07:00
John MacFarlane
82eb4df284 Fix misleading note about image size conversions in MANUAL.
Closes #6353.
2020-05-10 17:20:47 -07:00
andrebauer
97fe2ea16c
LaTeX Writer: Add support for customizable alignment of columns in beamer (#6331)
Add support for customizable alignment of columns in beamer.
Closes #4805, closes #4150.
2020-05-02 17:08:16 -07:00
tom-audm
3e52c402d0
Manual: separate adjacent verbatim code blocks (#6307) 2020-04-23 18:07:03 -07:00
Cédric Couralet
34775b4128
Add an option to disable certificate validation (#6156)
This commit adds the option `--no-check-certificate`, which disables certificate
checking when resources are fetched by HTTP.

Co-authored-by: Cécile Chemin <cecile.chemin@insee.fr>
Co-authored-by: Juliette Fourcot <juliette.fourcot@insee.fr>
2020-04-13 14:58:42 -07:00
John MacFarlane
58cd731e51 Require doctemplates 0.8.2. 2020-04-12 22:25:31 -07:00
Mauro Bieg
61f666a88f
MANUAL: add link to print-css.rocks (#6272) 2020-04-11 09:49:36 -07:00
John MacFarlane
c49061e99b Clarify docs for pipe table column width adjustment.
See #6254.
2020-04-09 09:35:27 -07:00
John MacFarlane
39b742e5ba Fix ATX header syntax in manual 2020-04-07 08:54:18 -07:00
John MacFarlane
42fe30a9ee Update manual date and man paeg. 2020-03-23 16:43:31 -07:00
Fabien Schurter
5d88396dd4
Make MANUAL more explicit about NBSP handling by all_symbols_escapable (#6201)
Fixes #6154.
2020-03-20 17:15:00 -07:00
Albert Krewinkel
11b5f1e40b
Update copyright year (#6186)
* Update copyright year

* Copyright: add notes for Lua and Jira modules
2020-03-13 09:52:47 -07:00
John MacFarlane
0edc084c50 Revert "Allow specifying string value in metadata using !!literal tag."
This reverts commit 3493d6afaa.

This might be worth considering in the future, but let's not do
it yet...the additional complexity needs a better justification.
2020-02-17 15:58:21 -08:00
John MacFarlane
3493d6afaa Allow specifying string value in metadata using !!literal tag.
This is experimental.  Normally metadata values are interpreted
as markdown, but if the !!literal tag is used they will be interpreted
as plain strings.

We need to consider whether this can still be implemented if
we switch back from HsYAML to yaml for performance reasons.
2020-02-17 09:53:36 -08:00
John MacFarlane
cdbb14de5b Update changelog and man page. 2020-02-15 21:26:29 -08:00
Albert Krewinkel
f5ea5f0aad
Introduce new format variants for JATS (#6067)
New formats:

- `jats_archiving` for the "Archiving and Interchange Tag Set",
- `jats_publishing` for the "Journal Publishing Tag Set", and
- `jats_articleauthoring` for the "Article Authoring Tag Set."

The "jats" output format is now an alias for "jats_archiving".

Closes: #6014
2020-02-12 20:36:02 -08:00
John MacFarlane
f9514ccb9e Add Text.Pandoc.Readers.CSV (readCSV).
This adds csv as an input format.
The CSV table is converted into a pandoc simple table.

Closes #6100.
2020-01-31 21:14:21 -08:00
Salim B
34eba446a0 Update URLs and use HTTP**S** wherever possible (#6090)
I've changed _all_ `http:` URLs in the file to their `https` equivalents if the respective sites have properly configured HTTPS.
2020-01-27 15:46:33 -08:00
Albert Krewinkel
11e99409ce
docs: capitalize Lua where it refers to the programming language name
This follows the advise on the Lua
website (https://www.lua.org/about.html#name):

> […] "Lua" is a name, the name of the Earth's moon and the name of the
> language. Like most names, it should be written in lower case with an
> initial capital, that is, "Lua".
2020-01-12 11:29:05 +01:00
John MacFarlane
e4b2252a94 Bump to 2.9.1.1, update manual. 2020-01-05 11:15:52 -08:00
John MacFarlane
cd03ccca58 Update man page and MANUAL date. 2019-12-21 10:30:28 -08:00
John MacFarlane
18b530d613 MANUAL: A bit clearer explanation for --base-header-level.
We now say exactly how to work around the deprecation of this
option.
2019-12-20 17:04:38 -08:00
Albert Krewinkel
96c80b156d Add jira reader (#5913)
Closes #5556
2019-12-17 21:07:46 -08:00
John MacFarlane
1ed8518011 Regenerate man page. 2019-12-11 21:03:29 -08:00
Frederik Elwert
90804b5506 Add title-slide-attributes variable to reveal.js template. (#5981) 2019-12-11 08:26:54 -08:00
John MacFarlane
e16fd88c2e Rename template 'filters' as 'pipes'
to avoid confusion with the other notion of filter used by pandoc.
We may want to rename this upstream in doctemplates as well.
2019-12-07 11:42:29 -08:00
John MacFarlane
8ad14d6f57 Removed trailing whitespace in manual. 2019-12-07 09:06:20 -08:00
John MacFarlane
6bb552c589 Document display math syntax in manual. 2019-12-07 09:05:07 -08:00
John MacFarlane
d643393a69 Update manual date and man page. 2019-12-05 12:38:42 -08:00
John MacFarlane
e7833c4dfb Clean up manual on pdf generation backend options.
See #5940.
2019-12-05 10:15:53 -08:00
John MacFarlane
992f77c17c Roll back part of of --shift-heading-level-by change.
With positive heading shifts, starting in 2.8 this option caused
metadata titles to be removed and changed to regular headings.
This behavior is incompatible with the old behavior of
`--base-header-level` and breaks old workflows, so with this
commit we are rolling back this change.

Now, there is an asymmetry in positive and negative heading
level shifts:

+ With positive shifts, the metadata title stays the same and
  does not get changed to a heading in the body.
+ With negative shifts, a heading can be converted into the
  metadata title.

I think this is a desirable combination of features, despite
the asymmetry.  One might, e.g., want to have a document
with level-1 section headigs, but render it to HTML with
level-2 headings, retaining the metadata title (which pandoc
will render as a level-1 heading with the default template).

Closes #5957.
Revises #5615.
2019-12-05 09:59:50 -08:00
John MacFarlane
e479a88722 Bump to 2.8.0.1 and update changelog and manual. 2019-11-26 21:18:31 -08:00
John MacFarlane
7fb9432ae1 Update to doctemplates 0.7.2, update template docs.
This adds the `nowrap` filter.
2019-11-24 09:53:45 -08:00
Alexandre Franke
a09edd1703 Add support for $toc-title$ to HTML (4 and 5) (#5930) 2019-11-23 17:13:23 -08:00
Ian Max Andolina
39fde70c41 Remove grffile requirement in MANUAL.txt (#5927)
See #5848 for the details.
2019-11-22 19:56:25 -08:00
John MacFarlane
124fc40dd7 Update date on manual. 2019-11-22 07:59:52 -08:00
Brian Wignall
a946424e3c Fix typos (#5919) 2019-11-20 09:44:23 -08:00
John MacFarlane
038f70c84a Update man page. 2019-11-18 20:13:21 -08:00
John MacFarlane
0d4813d7ba Update MANUAL.txt for doctemplates changes. 2019-11-18 20:10:32 -08:00
John MacFarlane
73fb9496bc Reverted the behavior change with --title-prefix.
It now implies `--standalone` again, as before.
2019-11-17 17:35:50 -08:00
John MacFarlane
147ef90fde Ensure that options imply --standalone even in defaults file.
Certain options (`--self-contained`, `--include-in-header`, etc.)
imply `--standalone`.  We now handle this after option parsing
so that it affects options specified in defaults files too.

Behavior change: `--title-prefix` no longer implies `--standalone`.
2019-11-17 17:21:55 -08:00
John MacFarlane
0cea8df8ac MANUAL: fix formatting for --shift-heading-level. 2019-11-16 18:52:50 -08:00
John MacFarlane
ce976810b2 Adjust date on manual, regenerate man page. 2019-11-16 12:54:19 -08:00
John MacFarlane
bfa6c0b57d Default files: Allow leaving input-files blank again.
Leaving it blank yields a Nothing value (interpreted as stdin).
Providing an empty list is intepreted as no input.

This resolves one part of #5888.
2019-11-14 21:46:35 -08:00
John MacFarlane
ec043e0d97 Default files: combine with prior values when appropriate.
Certain command-line arguments can be repeated:
`--metadata-file`, `--css`, `--include-in-header`,
`--include-before-body`, `--include-after-body`, `--variable`,
`--metadata`, `--syntax-definition`.  In these cases, values
specified in default files should be added to the list rather
than replacing values specified earlier on the command line
(perhaps in other default files).

So, for example, if one does

    pandoc --variable foo=3 --defaults d1 --defaults d2

and `d1` sets the variable `bar` and `d2` sets `baz`,
all three variables will be set.

Closes #5894.
2019-11-13 16:51:02 -08:00
John MacFarlane
28a1f50111 Update manual in light of last change. 2019-11-13 16:33:49 -08:00
John MacFarlane
d3966372f5
Clarify MANUAL.txt on --preserve-tabs 2019-11-11 17:08:11 -08:00
John MacFarlane
741b1f7fb4 Markdown reader: fix small super/subscript issue.
Superscripts and subscripts cannot contain spaces,
but newlines were previously allowed (unintentionally).
This led to bad interactions in some cases with footnotes.
E.g.

```
foo^[note]
bar^[note]
```

With this change newlines are also not allowed inside
super/subscripts.

Closes #5878.
2019-11-11 09:08:52 -08:00
John MacFarlane
9c7f75afb5 Change merge behavior for metadata.
Previously, if a document contained two YAML metadata blocks
that set the same field, the conflict would be resolved in favor
of the first. Now it is resolved in favor of the second (due to
a change in pandoc-types).

This makes the behavior more uniform with other things in pandoc
(such as reference links and `--metadata-file`).
2019-11-07 10:48:38 -08:00
John MacFarlane
adad3c70b6 Allow singular input-file in defaults file.
Closes #5877.
2019-11-06 09:06:49 -08:00
John MacFarlane
f515f984d4 Revise MANUAL's comment on table-mode. 2019-11-03 14:57:27 -08:00
John MacFarlane
e906e5ac23 Allow pdf output to stdout.
PDF output will not be output to the terminal, but can be
sent to stdout using either `-o -` or a pipe.

The intermediate format will be determined based on
the setting of `--pdf-engine`.

Closes #5751.
2019-11-03 11:44:00 -08:00
John MacFarlane
15e1ca6441 Manual: clarify when macro definitions are passed as raw latex.
In Markdown input, they are always passed through.
In LaTeX, only if `latex_macros` is disabled.
2019-11-02 11:03:47 -07:00
John MacFarlane
db972b8ea0 LaTeX reader: parse macro defs as raw latex...
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-02 10:36:31 -07:00
John MacFarlane
cebf0091ca Document how to use custom writers with --standalone.
Closes #5866.
2019-11-02 08:24:39 -07:00
John MacFarlane
02c579ff3c Revert "ALlow multiple comma-separated files for --defaults."
This reverts commit e96f3fd813.
2019-11-01 21:48:30 -07:00
John MacFarlane
e96f3fd813 ALlow multiple comma-separated files for --defaults. 2019-11-01 10:14:30 -07:00
John MacFarlane
bf9e3faa35 --defaults improvements.
- ToYAML instance is now for `Opt -> Opt`, rather than `Opt`.

- This allows us to handle `--defaults` without clobbering all the
  options that occur prior to `--defaults` on the command line.
  (Note, however, that options in `--defaults` can replace these
  options if the `--defaults` option is used after them,
  which may be a bit confusing given the name.)

- `--defaults` may now be used multiple times on the command line,
  allowing users to break defaults into different chunks.
2019-11-01 09:03:40 -07:00
John MacFarlane
080a3cdaeb Update Template syntax in MANUAL.txt with latest doctemplates. 2019-10-29 22:39:25 -07:00
John MacFarlane
d8d784ab54 Fixed typo in example. 2019-10-14 08:48:51 -07:00
mb21
bfbff3106d KaTeX math: respect classoption=fleqn variable
closes #5815
2019-10-14 08:47:40 -07:00
John MacFarlane
2f32b5316f More documentation of default files 2019-10-11 10:06:01 -07:00
John MacFarlane
9e3e195dd4 Fix gfm_auto_identifiers behavior with emojis.
Closes #5813.

Note that we also now use emoji names for emojis
when `ascii_identifiers` is enabled.
2019-10-11 10:00:33 -07:00
John MacFarlane
34e6464e30 Improve sample --defaults file in MANUAL.txt. 2019-10-11 08:57:49 -07:00
John MacFarlane
7388cd3e7a Improve parsing of --defaults.
- Add FromYAML instances to Opt and to all subsidiary types.
- Remove the use of HsYAML-aeson, which doesn't give good
  position information on errors.
- Rename some fields in Opt to better match cli options or
  reflect what the ycontain [API change]:

  + optMetadataFile -> optMetadataFiles
  + optPDFEngineArgs -> optPDFEngineOpts
  + optWrapText -> optWrap
- Add IpynbOutput enumerated type to Text.Pandoc.App.Opts.
  Use this instead fo a string for optIpynbOutput.
- Add FromYAML instance for Filter in Text.Pandoc.Filters.

With these changes parsing of defaults files should be
complete and should give decent error messages.

Now (unlike before) we get an error if an unknown field
is used.
2019-10-10 23:21:18 -07:00
John MacFarlane
2523941453 Fix examplel for defaults. 2019-10-10 10:34:35 -07:00
John MacFarlane
5085fe605a Added documentation for --defaults. 2019-10-10 10:33:35 -07:00
John MacFarlane
a3cd74c29b --metadata-file: when multiple files specified, second takes precedence...
on conflicting fields.  This changes earlier behavior (but not in
a release), where first took precedence.

Note that this may seem inconsistent with the behavior of
multiple YAML blocks within a document, where the first takes
precedence.  Still, it is convenient to be able to override
defaults with options later on the command line.
2019-10-10 10:00:45 -07:00
John MacFarlane
68b09a6d81 Make some writers sensitive to 'unlisted' class on headings.
If this is present on a heading with the 'unnumbered' class,
the heading won't appear in the TOC.  This class has no
effect if 'unnumbered' is not also specified.

This affects HTML-based writers (including slide shows
and epub), LateX (including beamer), RTF, and PowerPoint.
Other writers do not yet support `unlisted`.

Closes #1762.
2019-10-10 09:15:40 -07:00
John MacFarlane
3f28e332bf Remove misleading sentence in --variables documentation. 2019-10-07 11:54:51 -07:00
John MacFarlane
175c57a966 Clarify that --dpi provides a default and doesn't override...
dpi values specified in the images themselves.  See #5721.
2019-10-06 09:32:45 -07:00
Wandmalfarbe
94a10ea1a5 PR corrections. 2019-10-03 17:24:09 -07:00
Wandmalfarbe
3459700312 Add documentation for the variable hyperrefoptions. 2019-10-03 17:24:09 -07:00
John MacFarlane
0b2dc480be Minor reformatting of exit code table. 2019-09-29 16:33:57 -07:00
John MacFarlane
f03e8c2c6c MANUAL: Use a table for exit codes. 2019-09-29 15:20:11 -07:00
John MacFarlane
054c30228d MANUAL: Put all template variable docs into one section. 2019-09-29 15:14:46 -07:00
John MacFarlane
2956c695f6 MANUAL.txt - use axt headers consistently. 2019-09-29 15:09:41 -07:00
John MacFarlane
ac4067fe2e MANUAL.txt: Add fuller documentation of templates.
Including new template syntax, partials, etc.

Closes #5779.
2019-09-29 15:00:34 -07:00
John MacFarlane
746c92a41a Raise error on unsupported extensions. Closes #4338.
+ An error is now raised if you try to specify (enable or
  disable) an extension that does not affect the given
  format, e.g. `docx+pipe_tables`.

+ The `--list-extensions[=FORMAT]` option now lists only
  extensions that affect the given FORMAT.

+ Text.Pandoc.Error: Add constructors `PandocUnknownReaderError`,
  `PandocUnknownWriterError`, `PandocUnsupportedExtensionError`.
  [API change]

+ Text.Pandoc.Extensions now exports `getAllExtensions`,
  which returns the extensions that affect a given format
  (whether enabled by default or not). [API change]

+ Text.Pandoc.Extensions: change type of `parseFormatSpec`
  from `Either ParseError (String, Extensions -> Extensions)`
  to `Either ParseError (String, [Extension], [Extension])`
  [API change].

+ Text.Pandoc.Readers: change type of `getReader` so it returns
  a value in the PandocMonad instance rather than an Either
  [API change].  Exceptions for unknown formats and unsupported
  extensions are now raised by this function and need not be handled by
  the calling function.

+ Text.Pandoc.Writers: change type of `getWriter` so it returns
  a value in the PandocMonad instance rather than an Either
  [API change].  Exceptions for unknown formats and unsupported
  extensions are now raised by this function and need not be handled by
  the calling function.
2019-09-29 11:43:17 -07:00