Commit graph

14823 commits

Author SHA1 Message Date
John MacFarlane
82d9aa7ca4 Minor reformatting in chargelog. 2021-10-22 22:38:58 -07:00
John MacFarlane
51e1a8601f Bump to 2.15, updaet man page. 2021-10-22 22:15:37 -07:00
John MacFarlane
42396cb23f Update changelog. 2021-10-22 22:14:14 -07:00
John MacFarlane
c712d13b67 Org reader: allow an initial :PROPERTIES: drawer to add to metadata.
Closes #7520.
2021-10-22 22:10:25 -07:00
John MacFarlane
64d55d5a7d Update changelog. 2021-10-22 17:44:33 -07:00
John MacFarlane
45054733fa Use citeproc 0.6, commonmark 0.2.2.1, commonmark-extensions 0.2.2 2021-10-22 17:31:40 -07:00
John MacFarlane
ce1aca4a32 Use texmath 0.12.3.2 2021-10-22 16:42:21 -07:00
Aner Lucero
921af30854 Use simpleFigure in Readers. 2021-10-22 15:14:23 -07:00
John MacFarlane
a9f4bff5e2 Use pandoc-types 1.22.1. 2021-10-22 14:34:58 -07:00
Albert Krewinkel
c07005a095 Lua: marshal Version values as userdata 2021-10-22 11:16:51 -07:00
Albert Krewinkel
6a03aca906 Lua: marshal Inline elements as userdata
This includes the following user-facing changes:

- Deprecated inline constructors are removed. These are `DoubleQuoted`,
  `SingleQuoted`, `DisplayMath`, and `InlineMath`.

- Attr values are no longer normalized when assigned to an Inline
  element property.

- It's no longer possible to access parts of Inline elements via
  numerical indexes. E.g., `pandoc.Span('test')[2]` used to give
  `pandoc.Str 'test'`, but yields `nil` now. This was undocumented
  behavior not intended to be used in user scripts. Use named properties
  instead.

- Accessing `.c` to get a JSON-like tuple of all components no longer
  works. This was undocumented behavior.

- Only known properties can be set on an element value. Trying to set a
  different property will now raise an error.
2021-10-22 11:16:51 -07:00
Albert Krewinkel
8523bb01b2 Lua: marshal Attr values as userdata
- Adds a new `pandoc.AttributeList()` constructor, which creates the
  associative attribute list that is used as the third component of
  `Attr` values. Values of this type can often be passed to constructors
  instead of `Attr` values.

- `AttributeList` values can no longer be indexed numerically.
2021-10-22 11:16:51 -07:00
Albert Krewinkel
e4287e6c95 Lua: marshal Pandoc values as userdata 2021-10-22 11:16:51 -07:00
Albert Krewinkel
9e74826ba9 Switch to hslua-2.0
The new HsLua version takes a somewhat different approach to marshalling
and unmarshalling, relying less on typeclasses and more on specialized
types. This allows for better performance and improved error messages.

Furthermore, new abstractions allow to document the code and exposed
functions.
2021-10-22 11:16:51 -07:00
John MacFarlane
e10f495a01 Provisional changelog updates.
There's still some time before a new release, but this is
a start.
2021-10-22 09:43:11 -07:00
John MacFarlane
ee34252219 Move splitStrWhen to T.P.Citeproc.Util.
Previously there were two copies, in BibTeX and Locator.
2021-10-21 22:27:07 -07:00
John MacFarlane
ef7b769fa0 SelfContained: fix bug that caused everything to be made a data uri.
All the code we needed to put most styles and scripts into
inline style and script tags was there, but because of the
order of pattern matching, it was never being called.
Putting the catch-all clause at the end fixes the bug.

Closes #7635, closes #7367.  See also #3423.
2021-10-21 21:51:53 -07:00
John MacFarlane
fcd3384f9f Fix line numbers in source code with reveal.js
We need "overflow: visible" for these to work, and reveal's
default css disables this.  So this modifies the default
template to add this.

Closes #7634.  Thanks to @cderv for diagnosing the issue.
2021-10-21 08:59:33 -07:00
John MacFarlane
0a93acf91a Markdown reader: don't parse links or bracketed spans as citations.
Previously pandoc would parse

    [link to (@a)](url)

as a citation; similarly

    [(@a)]{#ident}

This is undesirable.  One should be able to use example references
in citations, and even if `@a` is not defined as an example
reference, `[@a](url)` should be a link containing an author-in-text
citation rather than a normal citation followed by literal `(url)`.

Closes #7632.
2021-10-20 10:34:47 -07:00
John MacFarlane
7754b7f2dd FormatHeuristics: remove .tei.xml extension for TEI.
As noted in #7630, this never worked, because `takeExtension`
only returns `.xml`.  So it won't be missed if we remove it.

Closes #7630.
2021-10-19 08:05:30 -07:00
Milan Bracke
465c28d28e Docx reader: fix handling of empty fields
Some fields only have an instrText and no content, Pandoc didn't
understand these, causing other fields to be misunderstood because it
seemed like a field was still open when it wasn't.
2021-10-18 19:15:40 -07:00
Milan Bracke
6acc82c5d2 Docx parser: implement PAGEREF fields
These fields, often used in tables of contents, can be a hyperlink.
2021-10-18 19:15:40 -07:00
Milan Bracke
193f6bfeba Docx reader: fix handling of nested fields
Fields delimited by fldChar elements can contain other fields. Before,
the nested fields would be ignored, except for the end, which would be
considered the end of the parent field.

To fix this issue, fields needed to be considered containing ParParts
instead of Runs, since a Run can't represent complex enough structures.
This also impacted Hyperlinks since they can originate from a field.
2021-10-18 19:15:40 -07:00
Emily Bourke
8de261ba4e pptx: Line up continuation paragraphs
This commit changes the `marL` and `indent` values used for plain
paragraphs and numbered lists, and changes the spacing defined in the
reference doc master for bulleted lists.

For paragraphs, there is now a left-indent taken from the `otherStyle`
in the master. For numbered lists, the number is positioned where the
text would be if this were a plain paragraph, and the text is indented
to the next level. This means that continuation paragraphs line up
nicely with numbered lists.

It also /mostly/ matches the observed PowerPoint behaviour when
inserting paragraphs and numbered lists: the only difference is that
PowerPoint was using a different margin value for the first level
numbered lists – I’ve changed this to match the other levels, as I don’t
think it makes the spacing unappealing and it allows continuation
paragraphs at any level to line up.

With bulleted lists, I’m keeping the observed PowerPoint behaviour of
specifying only a level, letting `marL` and `indent` be automatically
taken from `bodyStyle`. To that end, this commit changes the `bodyStyle`
spacing in the master of the default reference doc, to:

- line up the text of the first paragraph in each bullet with any
  continuation paragraphs
- line up nested bullet markers in any continuation paragraphs with the
  first paragraph, matching lists and plain paragraphs

This does mean the continuation paragraphs still won’t line up for
anyone using their own reference doc where they haven’t matched the
`otherStyle` and `bodyStyle` indent levels, but I think people in that
situation will be able to troubleshoot.
2021-10-17 17:24:30 -07:00
Emily Bourke
8981872bca pptx: Remove outdated comment
I removed the field this comment refers to recently, missed the
comment.
2021-10-17 17:24:30 -07:00
Emily Bourke
8af15ab345 pptx: Fix list level numbering
In PowerPoint, the content of a top-level list is at the same level as
the content of a top-level paragraph – the only difference is that a
list style has been applied.

At the moment, the pptx writer increments the paragraph level on each
list, turning what should be top-level lists into second-level lists.

This commit changes that logic, only incrementing the paragraph level on
continuation paragraphs of lists.

- Fixes https://github.com/jgm/pandoc/issues/4828
- Fixes https://github.com/jgm/pandoc/issues/4663
2021-10-17 17:24:30 -07:00
John MacFarlane
3f489bcb58 Ensure that babel is loaded also with pdflatex.
This fixes a regression in #7604, which modernized
babel usage but omitted to load babel for pdflatex,
with the result that even simple documents could no
longer be produced.

Closes #7627.
2021-10-16 23:34:53 -07:00
John MacFarlane
fcbfc8cd39 CI: remove linux-pdf for now.
I don't know what is going on with lmodern and lualatex.
2021-10-16 23:14:12 -07:00
John MacFarlane
3ddfb4cd6c CI: more tweaks to pdf tests. 2021-10-16 22:57:10 -07:00
John MacFarlane
9d5dd8219e CI: pdf test: need an input file! 2021-10-16 22:43:53 -07:00
John MacFarlane
b65951fa73 CI: fix yaml workflow. 2021-10-16 22:37:27 -07:00
John MacFarlane
fb804a375d CI: add workflow to test pdf production...
with xelatex, pdflatex, lualatex.
2021-10-16 22:33:56 -07:00
Samuel Tardieu
a41c1fe0bb asciidoc writer: translate numberLines attribute to linesnum switch
AsciiDoctor allows to request line numbering on code blocks by
using a switch on the `source` block, such as in:

```
[source%linesnum,haskell]
----
some Haskell code here
----
```
2021-10-14 13:41:12 -07:00
Samuel Tardieu
628cde48cf DocBook reader: honor linenumbering attribute
The attribute DocBook linenumbering="numbered" attribute on code blocks
maps to "numberLines" internally.
2021-10-14 09:04:56 -07:00
Samuel Tardieu
ed8877bd68 Remove redundant $
Found by hlint 3.3.1
2021-10-14 08:29:58 -07:00
John MacFarlane
49c4e1d014 Fix markdown parsing bug for math in bracketed spans and links.
This affects math with unbalanced brackets (e.g. `$(0,1]$`)
inside links, images, bracketed spans.

Closes #7623.
2021-10-13 08:59:37 -07:00
John MacFarlane
afc16f2f4b cabal build: go back to using aeson < 2 for now. 2021-10-12 21:00:26 -07:00
John MacFarlane
c636b5dd16 Revert "Depend on pandoc-types 1.23, remove Null constructor on Block."
This reverts commit fb0d6c7cb6.
2021-10-12 21:00:15 -07:00
John MacFarlane
6593f9638e cabal.project: Dependencies to build with aeson 2. 2021-10-12 19:39:47 -07:00
John MacFarlane
bc95721754 Allow aeson 2.0 2021-10-12 19:39:21 -07:00
John MacFarlane
051c366029 Depend on latest dev version of commonmark. 2021-10-12 17:44:59 -07:00
John MacFarlane
972012a42a Require doclayout >= 0.3.1.1.
This fixes recognition of "real widths" of emoji characters,
which is important for tabular layout.
2021-10-11 21:05:27 -07:00
John MacFarlane
906e6016bb T.P.Writers.Shared: remove 'breakable'...
which was introduced in the cherry-pick'd commit that
added splitSentences, but isn't needed here.
(It is for the nospace branch.)
2021-10-11 15:08:33 -07:00
John MacFarlane
5d17020a20 T.P.Writers.Shared: Export splitSentences as a Doc Text transform.
[API change]

Use this in man/ms.
2021-10-11 09:45:22 -07:00
John MacFarlane
2befeaa29f Remove splitSentences from T.P.Shared [API change].
We used to attempt automatic sentence splitting in man and ms
output, since sentence-ending periods need to be followed by
two spaces or a newline in these formats.

But it's difficult to do this reliably at the level of
`[Inline]`.
2021-10-11 09:35:50 -07:00
John MacFarlane
63ea754b49 Fix warning 2021-10-11 09:24:31 -07:00
John MacFarlane
4ba4533d70 Update wasteland tests.
When we trimmed it down we left out some notes.
2021-10-11 09:09:51 -07:00
John MacFarlane
84d68b92a2 LaTeX reader: Implement siunitx v3 commands.
We support `\unit`, `\qty`, `\qtyrange`, and `\qtylist`
as synonynms of `\si`, `\SI`, `\SIrange`, and `\SIlist`.

Closes #7614.
2021-10-11 08:54:45 -07:00
Milan Bracke
0f98cbff4b Avoid blockquote when parent style has more indent
When a paragraph has an indentation different from the parent (named)
style, it used to be considered a blockquote. But this only makes sense
when the paragraph has more indentation. So this commit adds a check
for the indentation of the parent style.
2021-10-10 16:27:32 -07:00
John MacFarlane
0ec16d151f Stack: use latest doclayout 2021-10-10 14:02:28 -07:00