This PR aims to handle a common run field instruction (fieldInstr)
from docx format : REF, specifically those with the "link" switch \h.
In word software, you can create REF field instruction with the
Cross-reference button. You can create cross-reference to
many things such as Equation, Table, Title...
The ANSI writer is now able to keep track of row spans and apply them in rows.
[API change] T.P.Writers.Shared:
Add functions `insertCurrentSpansAtColumn`, `takePreviousSpansAtColumn`
and `decrementTrailingRowSpans` for applying and keeping track of
RowSpans over multiple rows.
Fixes: #10149
An empty `sldIdLst` is now added if the reference doc is missing one so that
`modifySldIdLst` can replace it. To ensure PowerPoint doesn't say that the file
will need fixing, the `sldIdLst` has to be placed after the `sldMasterIdLst`.
I also added a test to ensure that if there are notes, they will be placed between
the `sldMasterIdLst` and `sldIdLst`. Otherwise PowerPoint wouldn't show the
slide of a note when viewing Notes Pages.
Closes#7536.
New exported module Text.Pandoc.Readers.AsciiDoc,
exporting readAsciiDoc [API change].
The bulk of parsing is handled by the asciidoc library.
Closes#1456.
Each worksheet turns into a section containing a table.
The common file `nativeDiff` has been extract from
the Docx and Pptx text files and put in Tests.Helpers.
New module `Text.Pandoc.Readers.Pptx`,
exporting `readPptx`. [API change]
Factored out some common OOXML functions from
Text.Pandoc.Readers.Docx.Util into a non-exported module
Text.Pandoc.Readers.OOXML.Shared.
The docx reader uses caption styles to identify figures and captioned
tables. It now checks for known caption styles in the full styles
hierarchy of a paragraph instead of just checking the style directly.
This allows to recognize caption styles that are built on top of the
basic *caption* style, as is sometimes the case in sophisticated styles.
`bbcode` is now supported as an output format, as well as variants
`bbcode_fluxbb` (FluxBB), `bbcode_phpbb` (phpBB), `bbcode_steam` (Hubzilla),
`bbcode_hubzilla` (Hubzilla), and `bbcode_xenforo` (xenForo).
[API change]
Adds a new module Text.Pandoc.Writers.BBCode, exporting a number of functions.
Also exports `writeBBCode`, `writeBBCodeSteam`, `writeBBCodeFluxBB`,
`writeBBCodePhpBB`, `writeBBCodeHubzilla`, `writeBBCodeXenforo` from
Text.Pandoc.Writers.
Previously, a math environment with extra space before the
`\end` would get rendered with a blank line, which LaTeX
treats as a paragraph break.
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Fix `rawTeXParser`. Make macro expansion in raw LaTeX depend on
the setting of the `latex_macros` extension. Previously macros
were always expanded, even in raw TeX in markdown. In addition,
there was previously a bug that caused content to be garbled
in certain cases.
Closes#11253.
Handle `ifstrequal` at a lower level, like the other `if` commands.
See #11253.
This adds the following table features:
- row span and column span
- footer row
- individual horizontal cell alignment
[API change] T.P.Writers.Shared: Add functions `allRowsEmpty` and
`tableBodiesToRows` from the RST writer for reuse in other writers.
Also fix hlint warning about `unzip` from `NonEmpty`:
The exported polymorphic function will become
monomorphic in the future. Restrict the `NonEmpty`
import to use the Prelude `unzip` function.
See jgm/typst-hs#80.
Note that previously, the typst reader never returned document
metadata. Now it does, even if the typst document does not contain
a `#title` function that would result in actually printing the
title block.
Before 3.8, the default behavior when producing a PDF `-t typst`
was to produce smart quotes according to typst's defaults.
(This could be defeated by specifying `-t typst-smart`.)
This behavior broke in 3.8 because of a change to Text.Pandoc.PDF.
This change caused `smart` to be disabled for all formats when
producing PDFs, when before it was only disable for TeX-based
formats (to avoid bad ligatures).
This commit restores the old behavior. Possibly the regression also
other affects other non-TeX formats, e.g. HTML.
Closes#11256.
They are not environments! `ifstrequal`, `iftoggle`, etc.
ifstrequal, iftoggle, etc. -- these are not environments,
and they are handled under inlineCommands.
Previously we just got big Str elements with spaces included.
But many pandoc writers assume that breakable spaces will be
Space elements. So, we got odd results with e.g. jira output.
Closes#11250.
We do this indirectly, by rendering the formatting using the
HTML tags that citeproc recognizes. Fixesjgm/citeproc#68
and jgm/citeproc#163.
Note that formatting is only possible for locators given in
the explicit form, surrounded by curly braces. It won't work
for implicit locators, since these expect number-like expressions.
The reader tries to parse the rest of the opening line of a block, e.g.,
`#+begin_myblock …`, as a parameters list. It first assumes that the parameters
are in lisp-style (`:key value`), then alternatively tries to read python-style
key-value pairs (`key=value`) and falls back to reading the entire remaining
line as a single `parameter` attribute.
This method is also applied to dynamic blocks.
Closes: #11188
This improves on commit e13aa5c015,
which worked only for recent versions of longtable.
For older versions, we need to define a dummy counter `none`.
Closes#11201. Thanks to @priiduonu for the solution.
Previously we added semicolons after inline commands not
followed by spaces, but mainly this was to deal with one issue:
the presence of a semicolon after an inline command, which
would be swallowed as a command separator (#9252).
This commits adopts an approach that should avoid so many
superfluous semicolons: it escapes semicolons that might come
right after a command. See #11196.
When `table_attributes` is enabled (as it is by default for
pandoc's Markdown), attributes can be attached to a table by
including them at the end of the caption. Previously the writer
would emit an identifier in this position, but the reader didn't
handle it. Now arbitrary attributes are allowed, and they work in
both the reader and writer.
Closes#10884.
[API change]: Text.Pandoc.Extensions: Add `Ext_table_attributes`
constructor for `Extension`.
beamer uses pdfstring for the pdfinfo which can't handle soul strikeouts.
Therefore, the title, subtitle and author contents need to be put inside
texorpdfstring to deal with both the pdfinfo as well as the formatting.
Fixes#11168.
See #11171. Previously the native typst highlighting was
always used, regardless of the setting of `--syntax-highlighting`.
With this change, `--syntax-highlighting=none` and
`--syntax-highlighting=<style name>` (with skylighting) will work.
Completes #10525.