Commit graph

516 commits

Author SHA1 Message Date
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