aboutsummaryrefslogtreecommitdiff
path: root/src/Text
AgeCommit message (Collapse)AuthorFilesLines
2021-05-20LaTeX reader: support `\pm` in `SI{..}`.John MacFarlane1-1/+3
Closes #6620.
2021-05-20ZimWiki writer: allow links and emphasis in headersAlbert Krewinkel1-1/+1
The latest version of ZimWiki supports this. Closes: #6605
2021-05-19LaTeX reader: better support for `\xspace`.John MacFarlane2-14/+19
Previously we only supported it in inline contexts; now we support it in all contexts, including math. Partially addresses #7299.
2021-05-19Remove unused pragma.John MacFarlane1-1/+0
2021-05-18Use fetchItem instead of downloadOrRead in fetchMediaResource.John MacFarlane1-1/+1
2021-05-18Text.Pandoc.MediaBag: change type to use a Text key...John MacFarlane2-7/+14
instead of `[FilePath]`. We normalize the path and use `/` separators for consistency.
2021-05-18LaTeX writer: separate successive quote chars with thin spaceAlbert Krewinkel1-2/+3
Successive quote characters are separated with a thin space to improve readability and to prevent unwanted ligatures. Detection of these quotes sometimes had failed if the second quote was nested in a span element. Closes: #6958
2021-05-17Citeproc: ensure that CSL-related attributes are passed on...John MacFarlane1-1/+1
...to a Div with id 'refs'. Previously we just left the attributes of such a Div alone, which meant that style options like entry-spacing had no effect there.
2021-05-17HTML writer: keep attributes from code nested below pre tag.Albert Krewinkel1-1/+12
If a code block is defined with `<pre><code class="language-x">…</code></pre>`, where the `<pre>` element has no attributes, then the attributes from the `<code>` element are used instead. Any leading `language-` prefix is dropped in the code's *class* attribute are dropped to improve syntax highlighting. Closes: #7221
2021-05-17HTML writer: ensure headings only have valid attribs in HTML4Albert Krewinkel1-2/+14
Fixes: #5944
2021-05-17ConTeXt writer: use span identifiers as reference anchors.Albert Krewinkel1-2/+6
Closes: #7246
2021-05-16LaTeX template: define commands for zero width non-joiner characterAlbert Krewinkel3-6/+7
Closes: #6639 The zero-width non-joiner character is used to avoid ligatures (e.g. in German).
2021-05-16Markdown writer: fewer unneeded escapes for `#`.John MacFarlane1-2/+11
See #6259.
2021-05-16Markdown writer: improve escaping of `@`.John MacFarlane1-1/+1
We need to escape literal `@` before `{` because of the new citation syntax.
2021-05-15Docx writer: copy over more settings from referenc.odcx.John MacFarlane1-1/+16
From settings.xml in the reference-doc, we now include: `zoom`, `embedSystemFonts`, `doNotTrackMoves`, `defaultTabStop`, `drawingGridHorizontalSpacing`, `drawingGridVerticalSpacing`, `displayHorizontalDrawingGridEvery`, `displayVerticalDrawingGridEvery`, `characterSpacingControl`, `savePreviewPicture`, `mathPr`, `themeFontLang`, `decimalSymbol`, `listSeparator`, `autoHyphenation`, `compat`. Closes #7240.
2021-05-15HTML writer: parse `<header>` as a DivAlbert Krewinkel1-0/+2
HTML5 `<header>` elements are treated like `<div>` elements.
2021-05-14HTML reader: keep h1 tags as normal headers (#7274)Albert Krewinkel1-5/+1
The tags `<title>` and `<h1 class="title">` often contain the same information, so the latter was dropped from the document. However, as this can lead to loss of information, the heading is now always retained. Use `--shift-heading-level-by=-1` to turn the `<h1>` into the document title, or a filter to restore the previous behavior. Closes: #2293
2021-05-14Beamer writer: support exampleblock and alertblock.John MacFarlane1-3/+8
A block will be rendered as an exampleblock if the heading has class `example` and alertblock if it has class `alert`. Closes #7278.
2021-05-14Docx writer: fix alignment for cells.Albert Krewinkel1-14/+20
This fixes a regression introduced with the in the colspan/rowspan changes that caused column alignments to be ignored. The column alignment is used only if a default alignment is specified at the cell level; otherwise the cell-level alignment takes precedence.
2021-05-14Docx writer: allow multirow table headersAlbert Krewinkel1-17/+25
2021-05-14HTML reader: don't fail on unmatched closing "script" tag.Albert Krewinkel1-7/+9
Prevent the reader from crashing if the HTML input contains an unmatched closing `</script>` tag. Fixes: #7282
2021-05-13Implement curly-brace syntax for Markdown citation keys.John MacFarlane4-14/+27
The change provides a way to use citation keys that contain special characters not usable with the standard citation key syntax. Example: `@{foo_bar{x}'}` for the key `foo_bar{x}`. Closes #6026. The change requires adding a new parameter to the `citeKey` parser from Text.Pandoc.Parsing [API change]. Markdown reader: recognize @{..} syntax for citatinos. Markdown writer: use @{..} syntax for citations when needed. Update manual with curly-brace syntax for citations. Closes #6026.
2021-05-12Plain writer: handle superscript unicode minus.John MacFarlane1-0/+1
Closes #7276. Note: currently we still get unwanted white space around the minus; this needs to be addressed with a change in texmath.
2021-05-12Hande 'annote' field in bibtex/biblatex writer.John MacFarlane1-0/+2
Closes #7266.
2021-05-12Fix source position reporting for YAML bibliographies.John MacFarlane2-4/+6
Closes #7273.
2021-05-11Improve integration of settings from reference.docx.John MacFarlane1-13/+14
The settings we can carry over from a reference.docx are autoHyphenation, consecutiveHyphenLimit, hyphenationZone, doNotHyphenateCap, evenAndOddHeaders, and proofState. Previously this was implemented in a buggy way, so that the reference doc's values AND the new values were included. This change allows users to create a reference.docx that sets w:proofState for spelling or grammar to "dirty," so that spell/grammar checking will be triggered on the generated docx. Closes #1209.
2021-05-11T.P.XML.Light - add Eq, Ord instances...John MacFarlane1-4/+4
for Content, Element, Attr, CDataKind. [API change]
2021-05-11LaTeX writer: better handling of line breaks in simple tables.John MacFarlane1-3/+1
Now we also handle the case where they're embedded in other elements, e.g. spans. Closes #7272.
2021-05-10epub Writer: Fix belongs-to-collection XML id choice (#7267)nuew1-3/+3
The epub writer previously used the same XML id for both the book identifier and the epub collection. This causes an error on epubcheck.
2021-05-09RST reader: seek include files in the directory...John MacFarlane1-1/+3
...of the file containing the include directive, as RST requires. Closes #6632.
2021-05-09Org reader: Resolve org includes relative to ...John MacFarlane2-2/+5
...the directory containing the file containing the INCLUDE directive. Closes #5501.
2021-05-09RST reader: use `insertIncludedFile` from T.P.Parsing...John MacFarlane1-58/+36
instead of reproducing much of its code.
2021-05-09T.P.Parsing: improve include file functions.John MacFarlane3-33/+34
Remove old `insertIncludedFileF`. [API change] Give `insertIncludedFile` a more general type, allowing it to be used where `insertIncludedFileF` was.
2021-05-09Change reader types, allowing better tracking of source positions.John MacFarlane43-615/+1021
Previously, when multiple file arguments were provided, pandoc simply concatenated them and passed the contents to the readers, which took a Text argument. As a result, the readers had no way of knowing which file was the source of any particular bit of text. This meant that we couldn't report accurate source positions on errors or include accurate source positions as attributes in the AST. More seriously, it meant that we couldn't resolve resource paths relative to the files containing them (see e.g. #5501, #6632, #6384, #3752). Add Text.Pandoc.Sources (exported module), with a `Sources` type and a `ToSources` class. A `Sources` wraps a list of `(SourcePos, Text)` pairs. [API change] A parsec `Stream` instance is provided for `Sources`. The module also exports versions of parsec's `satisfy` and other Char parsers that track source positions accurately from a `Sources` stream (or any instance of the new `UpdateSourcePos` class). Text.Pandoc.Parsing now exports these modified Char parsers instead of the ones parsec provides. Modified parsers to use a `Sources` as stream [API change]. The readers that previously took a `Text` argument have been modified to take any instance of `ToSources`. So, they may still be used with a `Text`, but they can also be used with a `Sources` object. In Text.Pandoc.Error, modified the constructor PandocParsecError to take a `Sources` rather than a `Text` as first argument, so parse error locations can be accurately reported. T.P.Error: showPos, do not print "-" as source name.
2021-05-07ConTeXt writer: support blank lines in line blocks.Albert Krewinkel1-2/+6
Fixes: #6564 Thanks to @denismaier.
2021-05-05App: allow tabs expansion even if file-scope is usedAlbert Krewinkel1-7/+11
Tabs in plain-text inputs are now handled correctly, even if the `--file-scope` flag is used. Closes: #6709
2021-05-01Docx writer: support colspans and rowspans in tablesAlbert Krewinkel3-70/+140
See: #6315
2021-05-01Add new internal module Text.Pandoc.Writers.GridTableAlbert Krewinkel1-0/+157
2021-04-30Org writer: inline latex envs need newlines (#7259)tecosaur1-0/+2
Closes #7252 As specified in https://orgmode.org/manual/LaTeX-fragments.html, an inline \begin{}...\end{} LaTeX block must start on a new line.
2021-04-29Docx reader: add handling of vml image objects (jgm#4735) (#7257)mbrackeantidot1-2/+9
They represent images, the same way as other images in vml format.
2021-04-29Further improvements in smart quotes.John MacFarlane1-2/+2
Improves heuristic for detection of an "open double quote." Closes #2103.
2021-04-28Smarter smart quotes.John MacFarlane4-63/+41
Treat a leading " with no closing " as a left curly quote. This supports the practice, in fiction, of continuing paragraphs quoting the same speaker without an end quote. It also helps with quotes that break over lines in line blocks. Closes #7216.
2021-04-28JATS writer: use either styled-content or named-content for spans.Albert Krewinkel1-10/+26
If the element has a content-type attribute, or at least one class, then that value is used as `content-type` and the span is put inside a `<named-content>` element. Otherwise a `<styled-content>` element is used instead. Closes: #7211
2021-04-27Docx writer: autoset table width if no column has an explicit width.Albert Krewinkel1-7/+11
2021-04-25Minor code reformatting.John MacFarlane1-1/+2
Also taking this opportunity to note, for the record, that the commit for #7241 should be marked [API change]. It changes the type of `languagesByExtension` in Highlighting, adding a parameter for a `SyntaxMap`.
2021-04-25Writers: Recognize custom syntax definitions (#7241)Jan Tojnar5-23/+28
Languages defined using `--syntax-definition` were not recognized by `languagesByExtension`. This patch corrects that, allowing the writers to see all custom definitions. The LaTeX still uses the default syntax map, but that's okay in that context, since `--syntax-definition` won't create new listings styles.
2021-04-25Markdown writer: Cleaner (code)blocks with single class (#7242)Jan Tojnar1-2/+8
When a block only has a single class and no other attributes, it is not necessary to wrap the class attribute in curly braces – the class name can be placed after the opening mark as is. This will result in bit cleaner output when pandoc is used as a markdown pretty-printer.
2021-04-25Add quotes properly in markdown YAML metadata fields.John MacFarlane1-6/+5
This fixes a bug, which caused the writer to look at the LAST rather than the FIRST character in determining whether quotes were needed. So we got spurious quotes in some cases and didn't get necessary quotes in others. Closes #7245. Updated a number of test cases accordingly.
2021-04-20Docx writer: add missing fileAlbert Krewinkel1-0/+181
2021-04-20Docx writer: extract Table handling into separate moduleAlbert Krewinkel2-221/+119