The JATS spec restricts contents of certain
elements (fn, list-item); this patch wraps
elements that can't go in these contexts inside
p elements with specific-use "wrapper", so the
documents will conform.
Closes#5570.
This was added in pandoc 2.7.2, but it makes it impossible
to use pandoc-crossref. So this has been rolled back for now,
until we find a good solution to make this behavior optional
(or a creative way to let pandoc-crossref and this feature
to coexist).
See #5474.
Previously if the language was not in the list of listings-
supported languages, it would not be added as a class, so
custom syntax highlighting could not be used.
Closes#5540.
Change is in rawLaTeXInline in LaTeX reader, but
it affects the markdown reader and other readers
that allow raw LaTeX.
Previously, trailing `{}` would be included for
unknown commands, but not for known commands.
However, they are sometimes used to avoid a trailing
space after the command. The chances that a `{}`
after a LaTeX command is not part of the command
are very small.
Closes#5439.
- With epub extensions, check for epub:type in addition to type.
- Fix problem with noteref parsing which caused block-level
content to be eaten with the noteref.
- Rename pAnyTag to pAny.
- Refactor note resolution.
Version specifiers like `PANDOC_VERSION` and `PANDOC_API_VERSION` are
turned into `Version` objects. The objects simplify version-appropriate
comparisons while maintaining backward-compatibility.
A function `pandoc.types.Version` is added as part of the newly
introduced module `pandoc.types`, allowing users to create version
objects in scripts.
Move up the pattern match to be reachable, closes#5517.
Previously `file:/` URLs were handled wrongly and pandoc attempted
to make HTTP requests, which failed.
add `onlySimpleTableCells` to `Text.Pandoc.Shared`
[API change]
This fixes an inconsistency in the HTML reader, which did not treat tables with `<p>` inside cells as simple.
Previously if labels had integer names, it could produce a conflict
with auto-labeled reference links. Now we test for a conflict and find
the next available integer.
Note that this involves adding a new state variable `stPrevRefs` to
keep track of refs used in other document parts when using
`--reference-location=block|section`
Closes#5495
This makes use of tasty-lua, a package to write tests in Lua
and integrate the results into Tasty output. Test output becomes
more informative: individual tests and test groups become visible
in test output. Failures are reported with helpful error messages.
"Best Practice: When footnotes are grouped at the end of an article,
wrap them in a `<fn-group>` and use an `<xref>` element in the text, as
usual, to tie each footnote in the list to a particular location in the
text."
Closes#5511.
Planning info is now always placed before the subtree contents.
Previously, the planning info was placed after the content if the
header's subtree was converted to a list, which happens with headers of
level 3 and higher per default.
Fixes: #5494
Emacs always uses two spaces when indenting the content of src blocks,
e.g., when exiting a `C-c '` edit-buffer. Pandoc used to indent contents
by the space-equivalent of one tab, but now always uses two spaces, too.
Closes: #5440
The `system` Lua module provides utility functions to interact with the
operating- and file system. E.g.
print(pandoc.system.get_current_directory())
or
pandoc.system.with_temporary_directory('tikz', function (dir)
-- write and compile a TikZ file with pdflatex
end)
iOS chooses to render a number of Unicode entities,
including '↩', as big colorful emoji. This can be
defeated by appending Unicode
VARIATION SELECTOR-15'/'VARIATION SELECTOR-16'.
So we now append this character when escaping
strings, for both '↩' and '↔'.
If other characters prove problematic, they can
simply be added to needsVariationSelector.
Closes#5469.
1) Don't append `.html`
2) Add `wikilink` title
This mirrors behavior of other wiki readers. Generally the
`.html` extension is not wanted. It may be important for
output to HTML in certain circumstances, but it can always
be added using a filter that matches on links with title
`wikilink`.
Note that if you have a workflow that uses pandoc to convert
vimwiki to readable HTML pages, you may need to add such a
filter to reproduce current behavior.
Here is a filter that does the job:
```lua
function Link(el)
if el.title == 'wikilink' then
el.target = el.target .. ".html"
end
return el
end
```
Save this as `fixlinks.lua` and use with `--lua-filter fixlinks.lua`.
Closes#5414.
The previous built-in reference doc had only title and content
layouts. Add in a section-header slide and a two-content slide, so
users can more easily modify it to build their own templates.
Golden files needed to be regenerated. Checked on MS PowerPoint 2013.
Improve the workaround for #1658, adapting a solution by @u-fischer in
<https://github.com/latex3/latex2e/issues/131> that works whether or not
the `indent` variable is enabled.
Remove `subparagraph` variable in LaTeX template. The default is now
to use run-in style for level 4 and 5 headings (`\paragraph` and `\subparagraph`).
To get the previous default behavior (where these were formatted as blocks,
like `\subsubsection`), set the `block-headings` variable.
An example is given in the manual of reformatting the appearance of headings
more thoroughly using KOMA-Script.
Closes#5365.
The HTML writer adds the `data-` prefix for HTML5
for nonstandard attributes. But the attributes are
represented in the AST without the `data-` prefix,
so we should strip this when reading HTML.
Closes#5392.
* LaTeX template: Group graphics-related code
The default figure placement was added in <f3ab4bc2b9>; there does not appear to have been a reason for placing it at the end of the preamble.
* Update tests
This fixes a bug wherein footnotes appeared in the wrong
order, and with duplicate numbers, when in table captions
and cells.
We now use regular `\footnote` commands, even in the table
caption and the minipages containing cells. Apparently
longtable knows how to handle this.
Closes#5367.
+ LaTeX template: Improve template readability
Use `hidelinks` option for hyperref, which has the same effect as `pdfborder={0 0 0}`,
but its purpose is clearer. Use a simpler conditional for Polyglossia/Babel. Format
comments more consistently.
+ Update tests
+ Remove hyperref breaklinks option. According to the documentation, hyperref
sets this automatically as appropriate to the driver.
...in numbering.xml. This caused pandoc-produced docx files to
be uneditable using Word Online.
The problem was that recent versions of reference.docx include
samples of various kinds of text, including lists. The
numering elements for these were getting copied over to
the new docx, where they clashed with the autogenerated
elements produced by pandoc. This didn't confuse Desktop
Word, but it did confuse Word Online.
Closes#5358.
Instead of `$HOME/.pandoc`, the default user data directory is
now `$XDG_DATA_HOME/pandoc`, where `XDG_DATA_HOME` defaults to
`$HOME/.local/share` but can be overridden by setting the environment
variable.
If this directory is missing, then `$HOME/.pandoc` is searched
instead, for backwards compatibility. However, we recommend
moving local pandoc data files from `$HOME/.pandoc` to
`$HOME/.local/share/pandoc`.
On Windows the default user data directory remains the same.
Closes#3582.
This improves on the original fix to #5285 by preventing
other mixed lists (lists with a mix of Plain and Para
elements) that were allowed given the original fix.
This ensures that a figure containing a single image
is parsed as a pandoc "implicit figure" (i.e., a
Para with a single Image whose title attribute begins
with `fig:`). More complex figures will still be parsed
as divs.
Closes#5321.
Previously parsing would break if the code block
contained a string of backticks of sufficient length
followed by something other than end of line.
Closes#5304.