376 Commits
Author SHA1 Message Date
John MacFarlane 5d8b57444e Use citeproc 0.3.0.3.
Fixes an issue in author-only citations when both an
author and translator are present.
2020-12-29 10:43:50 -08:00
John MacFarlane 053db934de Use latest citeproc release. 2020-12-28 12:09:28 -08:00
John MacFarlane 19d4e43605 Require texmath 0.12.1. 2020-12-27 22:57:14 -08:00
John MacFarlane aa37970969 Use citeproc 0.3.0.1. 2020-12-18 15:08:23 -08:00
John MacFarlane 211b6a1fc7 Remove .travis.yml and add CircleCI config. 2020-12-17 23:38:44 -08:00
John MacFarlane 9ec3d6ee97 Use skylighting 0.10.2.
Cloess #6625.
2020-12-17 09:32:13 -08:00
John MacFarlane 791cb05b3e Use released citeproc 0.3. 2020-12-16 23:57:12 -08:00
John MacFarlane a27052da58 Use released doctemplates 0.9. 2020-12-16 23:45:23 -08:00
John MacFarlane 914cf0b602 Fix citeproc regression with duplicate references.
- Use dev version of citeproc, which handles duplicate
  ids better, preferring the last one in the list
  and discarding the rest.
- Ensure that inline citations take priority over external
  ones.

See jgm/citeproc#36.

This restores the behavior of pandoc-citeproc.
2020-12-16 15:37:40 -08:00
John MacFarlane 41577a6656 Use latest dev version of doctemplates. 2020-12-16 07:56:37 -08:00
John MacFarlane b4b4e32307 Properly handle boolean values in writing YAML metadata.
(Markdown writer.)
This requires doctemplates >= 0.9.
Closes #6388.
2020-12-15 23:45:34 -08:00
John MacFarlane 0dd228593f Use latest citeproc release. 2020-12-09 09:34:15 -08:00
John MacFarlane 4ca0d590e2 Use a more recent stack resolver. 2020-11-30 23:02:24 -08:00
John MacFarlane 0240623eda Use doctemplates 0.8.3.
Fixes issues with nested for loops in templates.
2020-11-30 22:45:12 -08:00
John MacFarlane 1489bb8414 Use skylighting 0.10.1. 2020-11-24 21:26:25 -08:00
John MacFarlane 2e372ab921 Use dev version of citeproc. 2020-11-22 16:10:30 -08:00
John MacFarlane 3f278f580e Remove 'static' flag.
This isn't really necessary and can be misleading
(e.g. on macOS, where a fully static build isn't
possible). cabal's new option
`--enable-executable-static` does the same. On stack
you can add something like this to the options for your
executable in package.yaml:

    ld-options: -static -pthread
2020-11-18 21:08:24 -08:00
John MacFarlane e17f970ed0 Use citeproc 0.2 2020-11-18 17:49:30 -08:00
John MacFarlane e6abf3b8ed Use citeproc 0.1.1.1.
Closes #6813.
2020-11-05 21:23:57 -08:00
John MacFarlane 9de386352a Require latest commonmark, commonmark-extensions.
Fixes a bug with `autolink_bare_uris` and commonmark.
2020-11-05 16:58:36 -08:00
John MacFarlane 391f6e5f80 Use latest commonmark, commonmark-extensions. 2020-11-05 15:05:11 -08:00
John MacFarlane b5e9c2a7a6 Use citeproc 0.1.1. 2020-11-04 11:15:48 -08:00
John MacFarlane 992657efaa Use latest commonmark, commonmark-extensions.
This fixes a bug with nested blocks in footnotes with the
`footnote` extension to `commonmark`.  See jgm/commonmark-hs#63.
2020-11-01 10:48:47 -08:00
John MacFarlane 2125aea026 Use latest citeproc. 2020-11-01 10:48:47 -08:00
John MacFarlane 3e6d009c6b Use new citeproc; do note capitalization here, not in citeproc. 2020-10-29 21:53:02 -07:00
John MacFarlane 517c55dae7 Use latest citeproc. Closes #6783. 2020-10-27 22:21:03 -07:00
John MacFarlane e6ca13c6c1 stack.yaml - use latest release of skylighting. 2020-10-22 22:06:04 -07:00
John MacFarlane 2059c05f0e Require citeproc >= 0.1.0.3.
In the previous release we pointed to this with cabal.project
and stack.yaml, but jumped the gun because citeproc 0.1.0.3
had not yet been officially released.
2020-10-22 21:45:38 -07:00
John MacFarlane b876793910 Use latest citeproc.
This fixes a problem with author-in-text citations for references
including both an author and an editor. Previously, both were
included in the text, but only the author should be.

Closes #6765. Added a test.
2020-10-21 23:14:17 -07:00
John MacFarlane 3c8b3eba17 Require citeproc 0.1.0.2. 2020-10-15 13:00:37 -07:00
John MacFarlane 1122d22a2c Use citeproc 0.1.0.1. 2020-10-13 22:44:05 -07:00
John MacFarlane 229e763646 Depend on latest citeproc.
This fixes the citation number issue with ieee.csl and other
styles that do not explicitly sort bibliographies. (Pandoc
was numbering them by their order in the bibliography file,
rather than the order cited, as required by the CSL spec.)

Closes #6741.
2020-10-13 14:52:09 -07:00
John MacFarlane 6fce81fb61 Use latest citeproc (better grouping/collapsing behavior with prefixes). 2020-10-13 11:06:02 -07:00
John MacFarlane 72f2a1ee9c Use released citeproc 0.1. 2020-10-09 16:35:05 -07:00
John MacFarlane 3b2dd1e1b3 Use lastest citeproc. 2020-10-07 11:23:15 -07:00
John MacFarlane d2e4a83dc6 Use latest citeproc.
Better solution to the problem of entities in CSL JSON output.
2020-10-07 09:31:44 -07:00
John MacFarlane 7d54e79091 Use latest citeproc.
Update chicago-fullnute-bibliography test, which is now correct.
2020-10-03 16:07:55 -07:00
John MacFarlane 27b4c21f72 Update to lastest citeproc 2020-10-01 22:07:55 -07:00
John MacFarlane 46dffbd8e5 Use latest citeproc. 2020-09-27 23:52:28 -07:00
John MacFarlane eff6b8f27d Use latest citeproc. 2020-09-27 16:03:31 -07:00
John MacFarlane 3abfcbeef7 Use latest citeproc. 2020-09-26 17:13:55 -07:00
John MacFarlane 9061635a6a Use latest citeproc. 2020-09-26 15:05:08 -07:00
John MacFarlane 1a72581286 Use latest citeproc commit. 2020-09-24 20:33:05 -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
John MacFarlane 00eb7543bf Use dev version of pandoc-citeproc. 2020-09-20 09:57:53 -07:00
John MacFarlane 277ea0df3d stack.yaml - use latest texmath, commonmark-pandoc. 2020-09-19 11:16:10 -07:00
John MacFarlane 1dd9f8b654 Use released pandoc-types 1.22. 2020-09-19 09:58:16 -07:00
John MacFarlane c41ec933de Use latest skylighting. 2020-09-14 11:05:14 -07:00
John MacFarlane aa3394af45 stack.yaml - use latest skylighting. 2020-09-14 10:28:08 -07:00
Christian Despres 10c6c411f9 Add Writers.Tables helper functions and types, add tests for those (#6655)
Add Writers.Tables helper functions and types, add tests for those

The Writers.Tables module contains an AnnTable type that is a pandoc
Table with added inferred information that should be enough for
writers (in particular the HTML writer) to operate on without having
to lay out the table themselves.

The toAnnTable and fromAnnTable functions in that module convert
between AnnTable and Table. In addition to producing an AnnTable with
coherent and well-formed annotations, the toAnnTable function also
normalizes its input Table like the table builder does.

Various tests ensure that toAnnTable normalizes tables exactly like
the table builder, and that its annotations are coherent.
2020-09-05 14:36:51 -07:00