Commit graph

736 commits

Author SHA1 Message Date
Albert Krewinkel
d82fe52a02
JATS templates: tag author.name as string-name
The partitioning the components of a name into surname, given names,
etc. is not always possible or not available. Using `author.name` allows
to give the full name as a fallback to be used when `author.surname` is
not available.
2021-01-29 09:51:20 +01:00
John MacFarlane
c451207b08 Docx writer: handle table header using styles.
Instead of hard-coding the border and header cell vertical alignment,
we now let this be determined by the Table style, making use of
Word's "conditional formatting" for the table's first row.
For headerless tables, we use the tblLook element to tell Word
not to apply conditional first-row formatting.

Closes #7008.
2021-01-12 09:49:10 -08:00
Albert Krewinkel
68fa437999
JATS writer: fix citations (#7018)
* JATS writer: keep code lines at 80 chars or below

* JATS writer: fix citations
2021-01-10 15:35:48 -08:00
John MacFarlane
a41cb09afe Update default CSL to use latest chicago-author-date.csl. 2021-01-10 12:52:50 -08:00
John MacFarlane
533b2edd51 Remove \setupthinrules from default context template.
The width parameter this used is not actually supported,
and the command didn't do anything.
2021-01-06 14:39:44 -08:00
John MacFarlane
99e1b67b74 Use meta-description instead of description in templates.
Since this is an attribute value, we need to prepare it
in the writer.
2020-12-27 23:19:14 -08:00
Jerry Sky
528b67df59
templates: added the description metatag to both html4 and html5 templates (#6982)
The `description` meta tag will make the generated HTML documents more complete and SEO-friendly.
2020-12-27 23:02:28 -08:00
Albert Krewinkel
8f402beab9
LaTeX writer: support colspans and rowspans in tables. (#6950)
Note that the multirow package is needed for rowspans.
It is included in the latex template under a variable,
so that it won't be used unless needed for a table.
2020-12-20 18:04:54 -08:00
John MacFarlane
29c6089681 Remove data/templates/README.markdown. 2020-12-18 12:19:44 -08:00
John MacFarlane
906251e623 Remove data/make-reference-files.hs.
I don't think this has been used for a long time.
2020-12-18 12:17:05 -08:00
John MacFarlane
f4839cc581 Remove some extraneous files in data directory. 2020-12-18 12:08:43 -08:00
John MacFarlane
8031ac137f LaTeX template: include csquotes package if csquotes variable set. 2020-12-07 18:57:24 -08:00
Kolen Cheung
aab54c4325
Add translations zh-Hans.yaml and zh-Hant.yaml
Closes #6904, closes #6909.

Co-authored-by: taotieren <admin@taotieren.com>
2020-12-02 21:00:57 -08:00
Shin Sang-jae
97b70d20bb
EPUB: use preserveAspectRatio="xMidYMid" for cover image (#6895)
This change affects both the epub2 and the epub3 templates.
It avoids distortion of the cover image by requiring that the aspect ratio be preserved.
2020-11-27 09:11:40 -08:00
John MacFarlane
ea8097e412 latex template: put back amssymb
We need it for checkboxes in todo lists, and maybe for
other things.  In this location it seems compatible
with the cases that propmted #6469 and PR #6762.
2020-11-25 16:08:10 -08:00
John MacFarlane
7c4d7db9c7 LaTeX writer: improve longtable output.
- Don't create minipages for regular paragraphs.
- Put width and alignment information in the longtable column
  descriptors.
- Closes #6883.
2020-11-25 15:42:44 -08:00
John MacFarlane
e26d31d56b latex template: disable language-specific shorthands in babel.
Babel defines "shorthands" for some languages, and these can
produce unexpected results. For example, in Spanish, `1.22`
gets rendered as `122`, and `et~al.` as `etal`.

One would think that babel's `shorthands=off` option (which
we were using) would disable these, but it doesn't.  So we
remove `shorthands=off` and add some code that redefines
the shorthands macro.  Eventually this will be fixed in babel,
I hope, and we can revert to something simpler.

Closes #6817, closes #6887.
2020-11-25 08:25:30 -08:00
Albert Krewinkel
f7d80b4170
JATS template: allow array of persistent institute ids in pid 2020-11-23 10:27:57 +01:00
Albert Krewinkel
797db8d306
JATS writer: support author affiliations (#6867)
Closes: #6687
2020-11-20 09:57:06 -08:00
John MacFarlane
a7b2bfb42d reveal.js template fixes.
Put quotes around `controlsLayout`, `controlsBackArrows`,
and `display`, since these require strings.

Add `showSlideNumber`, `hashOneBasedIndex`, `pause`.
2020-11-19 11:56:05 -08:00
John MacFarlane
6b057d6d18 latex template: add a \break after parbox in CSLRightInline.
This should fix spacing problems between entries
with numeric styles.
2020-11-18 23:22:34 -08:00
John MacFarlane
356795dba0 latex template: fix number of params on CSLReferences. 2020-11-18 22:49:35 -08:00
TEC
0306eec5fa Replace org #+KEYWORDS with #+keywords
As of ~2 years ago, lower case keywords became the standard (though they
are handled case insensitive, as always):
13424336a6

Upper case keywords are exclusive to the manual:
- https://orgmode.org/list/871s50zn6p.fsf@nicolasgoaziou.fr/
- https://orgmode.org/list/87tuuw3n15.fsf@nicolasgoaziou.fr/
2020-11-18 14:48:56 +01:00
John MacFarlane
1b18278288 man template: change tbl comment to '\" t.
This is what is specified in groff_man(7).
Closes #6803.
2020-11-03 12:54:02 -08:00
John MacFarlane
b1a58a04fd LaTeX template: fix \CSLRightInline...
so that it does not run over the right margin.
2020-11-03 10:27:05 -08:00
John MacFarlane
5760cd850f Default CSS tweaks.
These changes restore the 20px font size while increasing readibility by
reducing line width. (The number of words per line is now similar to
that of pandoc's default LaTeX/PDF output.)  With the narrower lines, we
also need less interline and interparagraph space, so the content
becomes more compact and skimmable:

- Change default font size back to 20px.
- Set font-size for print media to 12pt.
- Reduce interline space.
- Reduce interparagraph space.
- Reduce line width.
- Remove the special `line-height: 1` for table cells,
  which I had suggested but which now seems a mistake.
- Remove the special line-height for pre.
- Ensure that there is a bit more space before a heading
  than after.
- Slightly reduced space after title header.
2020-11-02 10:51:18 -08:00
John MacFarlane
ea45837372 Default CSS: avoid padding and color if monobackgroundcolor not given.
This makes the default more austere, while putting the padded,
colored code elements within easy reach.
2020-11-01 14:29:03 -08:00
Mauro Bieg
95d8713633
Updates to default CSS (#6786)
- Fix margin before codeblock
- Add `monobackgroundcolor` variable, making the background color
  and padding of code optional.
- Ensure that backgrounds from highlighting styles take precedence over
  monobackgroundcolor
- Remove list markers from TOC
- Add margin-bottom where needed
- Remove italics from blockquote styling
- Change borders and spacing in tables to be more consistent with other
   output formats
- Style h5, h6
- Decrease root font-size to 18px
- Update tests for styles.html changes
- Add CSS example to MANUAL
2020-11-01 14:22:58 -08:00
Albert Krewinkel
7af608b214
JATS templates: ensure jats_publishing output is valid 2020-10-31 15:20:30 +01:00
John MacFarlane
bd7c9eb32b LaTeX writer: Improved calculation of table column widths.
We now have LaTeX do the calculation, using `\tabcolsep`.
So we should now have accurate relative column widths no
matter what the text width.

The default template has been modified to load the calc
package if tables are used.
2020-10-29 12:10:05 -07:00
Denis Maier
4bce33e899
ConTeXt template: adds \setupinterlinespace to fonts larger than normal (#6763) 2020-10-22 17:24:27 -07:00
Angelo Peronio
83b54bb0b3
Do not load amssymb if not needed (#6762)
Fixes #6469. From https://tex.stackexchange.com/a/549938
2020-10-19 16:15:32 -07:00
John MacFarlane
82280cc62c default.latex: fix CSLReference macro definition.
It improperly handled entry spacing and expected 3 parameters
instead of 2.
2020-10-13 10:09:19 -07:00
William Lupton
36e010cb4a
Fix apparent typos in sample.lua (#6729) 2020-10-08 09:42:36 -07:00
niszet
1f707da40f
Support toc-depth option for ODT writer (#6697)
To support `--toc-depth` option for ODT, writer and template are
updated.  Closes #6696.
2020-09-24 09:28:38 -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
Albert Krewinkel
acbea6b8c6
Lua filters: add SimpleTable for backwards compatibility (#6575)
A new type `SimpleTable` is made available to Lua filters. It is
similar to the `Table` type in pandoc versions before 2.10;
conversion functions from and to the new Table type are provided.

Old filters using tables now require minimal changes and can use,
e.g.,

    if PANDOC_VERSION > {2,10,1} then
      pandoc.Table = pandoc.SimpleTable
    end

and

    function Table (tbl)
      tbl = pandoc.utils.to_simple_table(tbl)
      …
      return pandoc.utils.from_simple_table(tbl)
    end

to work with the current pandoc version.
2020-09-20 15:48:31 -07:00
Mauro Bieg
caa225ad82
Add CSS to default HTML template (#6601) 2020-09-19 16:13:50 -07:00
a-vrma
6cae8208e7
epub.css: Fix cover page selectors and add note explaining their use. (#6649) 2020-08-30 15:12:12 -07:00
Albert Krewinkel
44c4660a31
Lua filters: make attr argument optional in Table constructor
This changes the Lua API. It is highly unlikely for this change to
affect existing filters, since the documentation for the new Table
constructor (and type) was incomplete and partly wrong before.

The Lua API is now more consistent, as all constructors for elements
with attributes now take attributes as the last parameter.
2020-07-25 20:37:57 +02:00
John MacFarlane
1e84178431 Docx writer: support --number-sections.
Closes #1413.
2020-07-22 11:53:31 -07:00
John MacFarlane
06d834caaa Use selnolig to selectively suppress ligatures with lualatex.
Closes #6534
2020-07-15 13:28:44 -07:00
Frederik Elwert
7716caaf2a
Make polyglossia package options list-aware in the LaTeX template. (#6444) 2020-06-14 10:38:02 -07:00
Salim B
1b3ce80347
update template for reveal.js 4.0.0 (#6390)
cf.
- https://github.com/hakimel/reveal.js/releases/tag/4.0.0
- https://revealjs.com/upgrading/

see also https://github.com/jgm/pandoc-templates/pull/13
2020-05-21 14:30:12 -07:00
John MacFarlane
e2bc913c27 epub.css: wrap overlong lines in highlighted code blocks.
This fixes a problem in iBooks v2.4 with our earlier
horizontally scrolling code blocks.  The problem seems to
be a bug in iBooks, not pandoc, but since iBooks is a major
target we're changing pandoc's default behavior so that
pandoc-produced epubs work on that platform.

Closes #6242.
2020-05-18 22:58:33 -07:00
Lila
f4185fcef0
Use CSS in favor of <br> for display math (#6372)
Some CSS to ensure that display math is
displayed centered and on a new line is now included
in the default HTML-based templates; this may be
overridden if the user wants a different behavior.
2020-05-18 22:45:44 -07:00
John MacFarlane
f11b8ff080 Add abstract and subtitle to opendocument template.
With prior changes, this closes #6369.
2020-05-16 14:40:15 -07:00
John MacFarlane
cc7dcf2a92 ODT: clean up styles.
Add Abstract.

Change Author, Date to centered paragraphs with no character
styling.
2020-05-16 14:38:26 -07:00
Jake Zimmerman
e7ac57d04c
Update revealjs template with newly available options (#6347)
I wanted to use an option and realized that the default pandoc template
didn't pass it through, so I went through and found all the options that
Reveal.js advertises but that Pandoc's template doesn't support.

<https://github.com/hakimel/reveal.js#configuration>

I also noticed that rollingLinks isn't a setting anymore, but it's fine
to keep it in the template because people might be using an old version
of Reveal.js (via `revealjs-url`) that still has this option.
2020-05-07 10:03:41 -07:00
Vaibhav Sagar
9c2b659eeb
Support new Underline element in readers and writers (#6277)
Deprecate `underlineSpan` in Shared in favor of `Text.Pandoc.Builder.underline`.
2020-04-28 07:53:06 -07:00
Albert Krewinkel
f1bd06eb4a Lua: support new tables 2020-04-15 23:03:22 -04:00
Albert Krewinkel
f5ea5f0aad
Introduce new format variants for JATS (#6067)
New formats:

- `jats_archiving` for the "Archiving and Interchange Tag Set",
- `jats_publishing` for the "Journal Publishing Tag Set", and
- `jats_articleauthoring` for the "Article Authoring Tag Set."

The "jats" output format is now an alias for "jats_archiving".

Closes: #6014
2020-02-12 20:36:02 -08:00
John MacFarlane
e9cb08e74c sample.lua - fix error message.
image_format not img_format.

Closes #6135.
2020-02-12 20:34:20 -08:00
Caleb Maclennan
4bd8a35e8f
sample.lua: Fix typo in descriptive comments (#6136) 2020-02-11 09:30:48 -08:00
John MacFarlane
cef30e7384 LaTeX template: add space option to xeCJK with PassOptionsToPackage.
Otherwise we can get a clash with documentclasses that
already load the package.  Closes #6002.
2020-01-29 21:47:24 -08:00
Albert Krewinkel
4ede11a75f
Lua: add methods insert, remove, and sort to pandoc.List
The functions `table.insert`, `table.remove`, and `table.sort` are added
to pandoc.List elements.  They can be used as methods, e.g.

    local numbers = pandoc.List {2, 3, 1}
    numbers:sort()     -- numbers is now {1, 2, 3}
2020-01-11 21:31:20 +01:00
Albert Krewinkel
802a566f93
data/pandoc.List.lua: improve internal documentation 2020-01-11 21:25:53 +01:00
Albert Krewinkel
e98921ae57
pandoc.List.lua: make pandoc.List a callable constructor
It is now possible to construct a new List via `pandoc.List()` instead of
`pandoc.List:new()`.
2020-01-11 19:38:27 +01:00
Arfon Smith
5847624124 Update JATS dtd (#6020)
The current DTD for the JATS writer template is for Journal Publishing (JATS-journalpublishing1.dtd), which does not permit ext-link as a valid child (https://jats.nlm.nih.gov/publishing/tag-library/1.1/element/publisher-name.html).

This update modifies the default output template to be the less restrictive JATS archiving and interchange DTD which systems like PubMed use internally to represent their articles.
2019-12-30 22:18:55 -08:00
Heiko Schlittermann
ea2c5152ec Allow framebreaks for beamer's TOC (#6012) 2019-12-27 10:58:36 -08:00
Denis Maier
4e7ac069b9 ConTeXt template: Adjustments to title formatting (#5949)
Added `\setupinterlinespace` to `title`, `subtitle`, `date` and `author` elements.
Otherwise longer titles that run over multiple lines will look squashed as
`\tfd` etc. won't adapt the line spacing to the font size.
2019-12-11 08:28:11 -08:00
Frederik Elwert
90804b5506 Add title-slide-attributes variable to reveal.js template. (#5981) 2019-12-11 08:26:54 -08:00
Yihui Xie
ee44d44f20 Keep the \author{} command even if author is not specified (#5961)
Otherwise there will be a LaTeX warning "No \author given" when the .tex file is compiled.
This does not affect spacing in the title block.
2019-12-05 10:22:31 -08:00
John MacFarlane
64f78b3d5f HTML-based templates: Add CSS to suppress bullet on unordered task lists. 2019-12-05 09:36:34 -08:00
John MacFarlane
6c435a17cd Move data/emoji.json to emoji.json, add to extra-source-files.
This doesn't really belong in data-files as it's not loaded
dynamically.
2019-12-03 16:38:19 -08:00
Denis Maier
83fff033fb Update default.context (#5946)
Fix `\startcslreferences`:
- The old version had a too large skip at the beginning of the reference list => fixed that.
- Change syntax to ConTeXt conventions
2019-11-29 10:52:24 -08:00
John MacFarlane
0d0ec98dd5 Generate Emoji module with TH.
- Add Text.Pandoc.Emoji.TH.
- Replace long literal list in Text.Pandoc.Emoji with one-liner
  generating it from data/emoji.json using TH.
- Add Makefile target to download data/emoji.json.
- Remove tools/emoji.hs.
2019-11-27 21:31:53 -08:00
John MacFarlane
da5b6d5c0b Update man template to avoid bad wraps.
The contents of the .TH line cannot wrap.
Closes #5929.
2019-11-24 09:55:04 -08:00
Alexandre Franke
a09edd1703 Add support for $toc-title$ to HTML (4 and 5) (#5930) 2019-11-23 17:13:23 -08:00
John MacFarlane
16618f38fb Ms template: Use Palatino for default font.
This is less ugly than Times.
2019-11-16 19:32:59 -08:00
John MacFarlane
68aab8a841 Ms template: slightly wider default interparagraph space. 2019-11-16 19:19:36 -08:00
John MacFarlane
56543ec397 ms template: default to page numbers on bottom, no paragaraph indent.
To be more like the default LaTeX output.
2019-11-16 18:51:22 -08:00
John MacFarlane
1b42e05bd9 ConTeXt template: add a saner default for page numbers.
Previously they appeared centered at the top of the page;
now we put them centered at the bottom, unless the `pagenumbering`
variable is set (this gives users full control over page
number format and position,
https://wiki.contextgarden.net/Command/setuppagenumbering)
2019-11-16 18:38:05 -08:00
Denis Maier
c4e198c84d Update default.context (#5875)
Define an start-stop-pair `cslreferences` to allow for hanging indents in the bibliography. Analogous to the cslreferences-environment in the default latex template. See here: https://github.com/jgm/pandoc-citeproc/issues/410
For this to work the context writer must be adapted.
2019-11-16 17:06:26 -08:00
John MacFarlane
41d1ae0fdd Change styles in reference.docx.
All headings now have a uniform color.

Level-1 headings no longer set `w:themeShade="B5"`.

Level-2 headings are now 14 point rather than 16 point.

Level-3 headings are now 12 point rather than 14 point.

Level-4 headings are italic rather than bold.

Closes #5820.
2019-11-16 09:48:05 -08:00
jeongminkim-islab
72666f3331 Patch for fixing spacing problem on CJK language. (#5855)
This changes the default on the xeCJK package so that spaces between words
are preserved instead of being collapsed. This is necessary for Korean.

Issue and solution is from below.
https://tex.stackexchange.com/questions/17292/how-to-write-spaces-between-korean-words-with-xecjk
2019-11-16 09:41:21 -08:00
John MacFarlane
e8de53ce4a Change reference.docx to use more normal block quotes.
Indented left and right, same font and size.
Previously it was unindented, smaller font and different
typeface.

See #5820.
2019-11-14 22:20:58 -08:00
John MacFarlane
1fe9742263 Changes to build with new doctemplates/doclayout.
The new version of doctemplates adds many features to pandoc's
templating system, while remaining backwards-compatible.
New features include partials and filters.  Using template filters,
one can lay out data in enumerated lists and tables.

Templates are now layout-sensitive: so, for example, if a
text with soft line breaks is interpolated near the end of
a line, the text will break and wrap naturally.  This makes
the templating system much more suitable for programatically
generating markdown or other plain-text files from metadata.
2019-10-29 22:21:35 -07:00
John MacFarlane
4d5fd9e2fe Remove include of grffile from default latex template.
This package is needed for proper handling of image filenames
containing periods (in addition to the period before the
extension).

Unfortunately, grffile breaks in the latest texlive update.
Until a fix is released (see ho-tex/oberdiek#73) it seems best
to remove this from the default template.

This may cause problems if you have filenames with periods.
The workaround is to put `\usepackage{grffile}` in header-includes,
and be sure you're using an older version of texlive packages.

See #5848. We will leave that issue open to remind us to
check upstream, and restore grffile when it's possible to
do so.
2019-10-29 21:44:08 -07:00
John MacFarlane
a0aeb135b3 Minor template & test changes for latest dev doctemplates. 2019-10-14 23:42:29 -07:00
Albert Krewinkel
d0261d7387 Lua filters: allow passing of HTML-like tables instead of Attr (#5750)
Attr values can now be given as normal Lua tables; this can be used as a
convenient alternative to define Attr values, instead of constructing
values with `pandoc.Attr`. Identifiers are taken from the *id* field,
classes must be given as space separated words in the *class* field. All
remaining fields are included as misc attributes.

With this change, the following lines now create equal elements:

    pandoc.Span('test', {id = 'test', class = 'a b', check = 1})
    pandoc.Span('test', pandoc.Attr('test', {'a','b'}, {check = 1}))

This also works when using the *attr* setter:

    local span = pandoc.Span 'text'
    span.attr = {id = 'test', class = 'a b', check = 1}

Furthermore, the *attributes* field of AST elements can now be a plain
key-value table even when using the `attributes` accessor:

    local span = pandoc.Span 'test'
    span.attributes = {check = 1}   -- works as expected now

Closes: #5744
2019-09-15 12:11:58 -07:00
John MacFarlane
5d790db5cf Add CSS for hanging-indent div to epub.css.
This is for hanging indents with pandoc-citeproc, to be
supported in a later release.
2019-09-05 12:44:29 -07:00
John MacFarlane
381654a704 Add div.hanging-indent CSS to HTML templates. 2019-09-05 12:42:23 -07:00
John MacFarlane
bb362fd76c Add partial styles.html in HTML5 template.
Avoid duplication in HTML templates by using styles.html partial.
Change indentation of styles in template.
2019-09-05 12:39:50 -07:00
John MacFarlane
e4638170d0 Further mod to hanging indent code in latex template.
Make sure the length is always defined.
2019-09-03 12:33:25 -07:00
John MacFarlane
dc01071053 Slight improvements to hanging indent code in latex template.
See jgm/pandoc-citeproc#410.
2019-09-03 12:30:40 -07:00
John MacFarlane
0fe635d3ec LaTeX writer: use cslreferences environment for csl bibliographies.
this allows bibliographies to receive special formatting.

The template now contains definition of this environment (enabled
only when CSL is used).

It also defines a `\cslhangindent` length.  This is set to
2em by default when the bibliography style specifies
a hanging indent.  To override the length, you can
use e.g.

\setlength{\cslhangindent}{7em}

in header-includes.

Closes jgm/pandoc-citeproc#410.
2019-09-02 22:14:00 -07:00
John MacFarlane
1ee6e0e087 Use new doctemplates, doclayout.
+ Remove Text.Pandoc.Pretty; use doclayout instead. [API change]
+ Text.Pandoc.Writers.Shared: remove metaToJSON, metaToJSON'
  [API change].
+ Text.Pandoc.Writers.Shared: modify `addVariablesToContext`,
  `defField`, `setField`, `getField`, `resetField` to work with
  Context rather than JSON values. [API change]
+ Text.Pandoc.Writers.Shared: export new function `endsWithPlain` [API
  change].
+ Use new templates and doclayout in writers.
+ Use Doc-based templates in all writers.
+ Adjust three tests for minor template rendering differences.
+ Added indentation to body in docbook4, docbook5 templates.

The main impact of this change is better reflowing of content
interpolated into templates.  Previously, interpolated variables
were rendered independently and intepolated as strings, which could lead
to overly long lines.  Now the templates interpolated as Doc values
which may include breaking spaces, and reflowing occurs
after template interpolation rather than before.
2019-08-25 14:24:31 -07:00
John MacFarlane
1afea63308 Update muse template to handle multiple authors better. 2019-07-28 19:25:44 -07:00
Mauro Bieg
54b50cb29a revealjs template: add navigationMode (#5657) 2019-07-23 12:21:55 -07:00
Tristan Stenner
09f30d65e4 Add option to include source files in ConTeXt PDFs (#5578)
Add a metadata option (`includesource`) to attach the source documents to the resulting PDF.
2019-07-16 09:31:59 -07:00
Karl Pettersson
5303791bc4 Customizable type of PDF/A for the ConTeXt writer (issue #5608) (#5610)
* Let the user choose type of PDF/A generated with ConTeXt (closes #5608)
* Updated ConTeXt test documents for changes in tagging
* Updated color profile settings in accordance with ConTeXt wiki
* Made ICC profile and output intent for PDF/A customizable
* Read pdfa variable from meta (and updated manual)
2019-07-15 11:55:04 -07:00
John MacFarlane
51933c319b
Merge pull request #5604 from jgm/jats-abstract
JATS template: add abstract
2019-07-13 16:43:06 -07:00
John MacFarlane
5f495eaace EPUB writer: Use svg tag wrapper for cover image.
In addition, the code generating the image has been moved
to the template, to make it more customizable.

Those who use custom EPUB templates will need to adjust their
templates, adding the code to generate the cover image.
(Previously this was just inserted into 'body'.)

Closes #5643.
2019-07-13 15:20:14 -07:00
Arfon Smith
020e2a06d5 Updating JATS template to v1.1dtd (#5632)
* Updating JATS template to v1.1dtd

* Update writer.jats
2019-07-06 23:31:02 +02:00
Arfon Smith
1e80288606 Update data/jats.csl to avoid commas between editor name-part elements. (#5629) 2019-07-05 13:07:51 +02:00
John MacFarlane
c20f1635c9 Remove misleading comment in man, ms templates. 2019-07-04 19:26:24 +02:00
Mauro Bieg
77ccfa6217
JATS template: add abstract 2019-06-20 15:44:48 +02:00
Albert Krewinkel
11bb862767 Lua: add a clone() method to all AST elements (#5572)
Closes: #5568
2019-06-12 09:58:38 -07:00
John MacFarlane
9725522a7f Revert "JATS template: don't include journal-meta unless 'journal'..."
This reverts commit 193b5cceba.

journal-meta is required.  Better to include it even if it
doesn't validate through lack of required fields.
2019-06-11 17:31:52 -07:00
John MacFarlane
193b5cceba JATS template: don't include journal-meta unless 'journal'...
...is set in metadata.

Otherwise we get validation errors.
2019-06-11 17:08:40 -07:00
John MacFarlane
5bbaedac57 JATS writer: ensure validity of pub-date.
We try to parse the date and convert to year, month, day,
as expected in pub-date.  We also add an iso-8601-date attribute
if possible.
2019-06-11 17:01:36 -07:00
John MacFarlane
bb68c183b3 JATS writer: don't embed string-name in string.
That's illegal with this DTD.
2019-06-11 16:16:05 -07:00
Albert Krewinkel
7f9b32e36a
data/pandoc.lua: fix deletion of nonexistent attributes
Fixes: #5569
2019-06-11 19:48:00 +02:00
Albert Krewinkel
1c36857465 Add jira writer (#5548)
This adds support for Atlassian's jira markup.

Closes #2497
2019-06-05 17:52:23 -04:00
Daniel Maslowski
d286363f97 Fix using Beamer with geometry (#5505)
Beamer already loads geometry, so we need to use the `\geometry`
command to set geometry options.
2019-05-15 00:18:52 -04:00
John MacFarlane
9dd2eefded JATS writer: fix citations with PMID so they validate.
Closes #5481. This includes an update to data/jats.csl.
2019-05-04 08:45:43 -07:00
John MacFarlane
8478997980 EPUB2/3 templates: Move inline styles to default epub.css.
Those who use a custom CSS stylesheet with EPUB should
add these lines:

```css
code{ white-space: pre-wrap; }
span.smallcaps{ font-variant: small-caps; }
span.underline{ text-decoration: underline; }
q { quotes: "“" "”" "‘" "’"; }
div.column{ display: inline-block; vertical-align: top; width: 50%; }
```

See #5466.
2019-05-03 22:25:46 -07:00
Eric Schrijver
63254ae958 Epub3 stylesheet link compatible with kindlegen (#5466)
daamien@411119b removes `type="text/css"` from both `<style>` and `<rel="stylesheet">` elements in all templates. However, Amazon’s kindlegen software relies on this attribute on `<link>` elements when detecting stylesheets to include.
2019-05-04 01:11:10 -04:00
Albert Krewinkel
786594b23b Lua: add pandoc.system module (#5468)
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)
2019-05-04 01:06:30 -04:00
Winnie Hellmann
4a7f5b6d13 Remove reference to head.min.js (#5448)
This file has been removed in 3.8.0: 29b0e86089

Add a note in the changelog that users will need to update reveal.js to at least 3.8.0
for their presentations generated with this version of pandoc to work correctly.
2019-05-01 19:08:12 -04:00
John MacFarlane
6d19c08e9f LaTeX template: Add pdflang to hypersetup if lang is set.
Closes #5443.
2019-04-11 16:58:36 -07:00
ebiiim
bb5e079536 update: default.revealjs follow revealjs 3.8.0 (#5435) 2019-04-07 11:02:50 -06:00
Jesse Rosenthal
ab5c701343 PowerPoint writer: expand builtin reference doc to model all layouts
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.
2019-04-05 08:50:39 -04:00
Andrew Dunning
3d1409347a LaTeX template: Ensure correct heading/table order (#5421)
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.
2019-04-02 18:18:36 -06:00
Derek Chen-Becker
45944b51a0 Add XWiki Support (#4167)
Add XWiki Support

Closes #1800
2019-04-02 17:27:02 -06:00
John MacFarlane
5fa4ea8eb1 Update data/jats.csl to avoid commas between name-part elements.
Closes #5397.
2019-03-28 21:21:05 -07:00
Andrew Dunning
c21db81efd LaTeX template: Add pandoc to PDF metadata (#5388)
Credits pandoc in content creator metadata (the default is 'LaTeX with hyperref').
2019-03-25 22:36:14 -06:00
Andrew Dunning
e91af0a8a3 LaTeX template: Group graphics-related code (#5389)
* 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
2019-03-22 22:35:55 -06:00
Andrew Dunning
b3473df417 LaTeX template: Move \setstretch after front matter (#5378)
Ensures that `\maketitle`, `\tableofcontents`, and so forth are not affected by changes to line spacing. Closes #5179 by partially working around <https://github.com/reutenauer/polyglossia/issues/218>.
2019-03-21 23:32:52 -06:00
Andrew Dunning
bbe2da390e LaTeX template: Improve readability (#5363)
+ 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.
2019-03-13 18:22:28 -06:00
Cormac Relf
d638873433 Add tectonic as an option for --pdf-engine. (#5346)
Closes #5345

Runs tectonic on STDIN instead of a temporary .tex file, so that it
looks in the working directory for `\include` and `\input` like the rest
of the engines.

Allows overriding the output directory without messing up the args
with `--pdf-engine-opt=--outdir --pdf-engine-opt="$DIR"`.
2019-03-07 10:16:40 -07:00
Andrew Dunning
d7f56f8189 LaTeX template: Robust section numbering removal (#5351)
Ensures that section numbering does not reappear with custom section levels. See <https://tex.stackexchange.com/questions/473653/>.

Update tests
2019-03-04 16:58:20 -07:00
John MacFarlane
ebdcf75276 LaTeX writer/template: better handling of front/main/backmatter.
In pandoc 2.7 we assumed that every class with chapters would
accept `\frontmatter`, `\mainmatter`, and `\backmatter`.
This is not so (e.g. report does not).  So pandoc 2.7
breaks on report class by including an unsupported command.

So we replace the book-class variable in the template with
two variables, has-chapters and has-frontmatter, and set
these intelligently in the writer.

Closes #5348.
2019-03-04 11:29:41 -08:00
John MacFarlane
7895e2386d Update bash completion template.
Added `--ipynb-output` and `latexmk` pdf-engine.
2019-03-03 09:15:46 -08:00
John MacFarlane
c26d7f1e36 LaTeX template: Add \frontmatter, \mainmatter, \backmatter for book classes.
Closes #5306.
2019-03-01 16:23:05 -08:00
Mauro Bieg
b72b395127 Translations: reorder alphabetically (#5335)
remove `Author`, closes #5334
2019-02-27 11:11:50 -07:00
John MacFarlane
5afde8dc76 Add titlepage class to section in epub3 template.
Closes #5269.
2019-02-09 14:12:30 -08:00
Albert Krewinkel
75c791b4fe Lua filters: load module pandoc before calling init.lua (#5287)
The file `init.lua` in pandoc's data directory is run as part of
pandoc's Lua initialization process. Previously, the `pandoc` module was
loaded in `init.lua`, and the structure for marshaling was set-up after.
This allowed simple patching of element marshaling, but made using
`init.lua` more difficult:

  - it encouraged mixing essential initialization with user-defined
    customization;

  - upstream changes to init.lua had to be merged manually;

  - accidentally breaking marshaling by removing required modules was
    possible;

Instead, all required modules are now loaded before calling `init.lua`.
The file can be used entirely for user customization. Patching
marshaling functions, while discouraged, is still possible via the
`debug` module.
2019-02-09 13:56:49 -08:00
Pascal Wagler
66ed198fff Added support for the subject metadata variable to PDF. (#5289) 2019-02-09 13:54:19 -08:00
Albert Krewinkel
9a9c138d9c
data/pandoc.lua: re-export all bundled modules
All Lua modules bundled with pandoc, i.e., `pandoc.List`,
`pandoc.mediabag`, `pandoc.utils`, and `text` are re-exported from the
`pandoc` module. They are assigned to the fields `List`, `mediabag`,
`utils`, and `text`, respectively.
2019-02-09 20:12:33 +01:00
TG
8c2e2435f9 Asciidoctor writer sets the stem attribute if it contains latexmath 2019-02-09 08:21:53 -08:00
TG
568b25d33a Adds Asciidoctor sprcific writer and tests 2019-02-09 08:21:53 -08:00
Albert Krewinkel
713ed7c0c5
data/pandoc.lua: re-export List and utils module 2019-02-07 10:10:55 +01:00
Albert Krewinkel
37a82b0b11 Add missing copyright notices and remove license boilerplate (#5112)
Quite a few modules were missing copyright notices.

This commit adds copyright notices everywhere via haddock module
headers.  The old license boilerplate comment is redundant with this and has
been removed.

Update copyright years to 2019.

Closes #4592.
2019-02-04 13:52:31 -08:00
John MacFarlane
d50cb029fd HTML5 template: Add role with ARIA doc-toc for table of contents.
See #4213.
2019-02-02 16:20:19 -08:00
John MacFarlane
7ccaa77797 LaTeX template: Set default listings language for lua, assembler.
Otherwise we get an error when trying to compile code
with lua or assembler code.

To change the default dialect (currenty 5.3 for lua
and x86masm for assembler), you can use `--include-in-header`
to inject something like

    \lstset{defaultdialect=[5.2]Lua}

Closes #5227.
2019-01-25 16:22:56 -08:00
Andrew Dunning
673d545016 LaTeX template: Restrict institute to Beamer (#5219)
The `\institute` command is only standard in the Beamer class.
Use a conditional to restrict this to Beamer output rather than
output an empty command. To add this information to a LaTeX
class providing an `\institute` command, use `header-includes`.
2019-01-23 10:31:26 -08:00
Andrew Dunning
3707bed4c1 LaTeX template: Use footnotehyper if available (#5234)
Use the [`footnotehyper`](https://ctan.org/pkg/footnotehyper/) package if available.
This is a rewrite of `footnote` that is compatible with `hyperref` and `babel-frenchb`.

This patch also addresses the incompatibility with `xcolor` noted in #4861, but the
new package has only been available since 2016, so this template still loads `xcolor`
earlier for compatibility with older distributions. Note that the `footnote` package 
is part of `collection-latexrecommended` in TeX Live, so there shouldn't be any
problem loading it unconditionally as we now do if `footnotehyper` is not available.
2019-01-22 21:13:09 -08:00
Andrew Dunning
3ad2255717 LaTeX template: Respect numbersections for books (#5235)
Ensure that `\part` and `\chapter` are only numbered if `numbersections` is set. To return to the previous behaviour, use `-V numbersections -V secnumdepth=0`.

Notes on secnumdepth:

1 = Number `\section`
0 = Number `\chapter`
-1 = Number `\part`
-2 = No numbering
2019-01-22 21:11:13 -08:00
Andrew Dunning
3560b02f8b LaTeX template: Fix subtitle spacing (#5244)
The `\large` command does not reset the spacing without adding `\par` to the end, which caused `\subtitle` to use the same line spacing as `\title`.
2019-01-22 15:00:27 -08:00
MichaWiedenmann
02a21117fb sample.lua: Add a missing '>' 2019-01-16 12:34:17 +01:00
Albert Krewinkel
42a7b80c04
data/pandoc.lua: auto-fix nested constructor arguments
Incorrect types to pandoc element constructors are automatically
converted to the correct types when possible. This was already done for
most constructors, but conversions are now also done for nested
types (like lists of lists).
2019-01-13 17:14:10 +01:00
Andrew Dunning
96892ea8d7 LaTeX template: Simplify fontspec usage (#5218)
Simplify the approach of #5212, ensuring that `mainfont` is used as the base font for scaling and that LuaLaTeX does not display the mono font with TeX ligatures (as it does not use the `Mapping=tex-ansi` option).

With a modified version of `\defaultfontfeatures`, fontspec will continue to report scaling against the old default font in the log, but it nonetheless displays main font at the specified size. Using this rather than setting `Scale=MatchLowercase` for each family individually means that users will not lose scaling when upgrading to the new template if they were using other font options. Scaling can be disabled for an individual family by adding the option `Scale=1` to `sansfontoptions`, `monofontoptions`, etc.

Remove the `\setromanfont` command added in #4665, as this is not documented in the fontspec manual and appears to be a deprecated alias for `\setmainfont`.

For the release notes, I should also add that one can imitate the previous appearance with `-V mainfontoptions="Scale=MatchLowercase"`.
2019-01-12 17:39:47 -08:00
Andrew Dunning
fd222b811b LaTeX template: Render \subtitle (#5213)
Addresses closed issues #4675, #3896, #1327.

This renders `\subtitle` using the `etoolbox` package if `\subtitle` is not already
defined by the documentclass (as it is in beamer, KOMA, memoir classes).

 Based on an example from Enrico Gregorio, <https://tex.stackexchange.com/a/50186>.

Update list of LaTeX packages.

Note that `etoolbox` must be loaded outside the command definition.
Putting it inside causes an error if `\title` is placed after `\begin{document}`.
It's already loaded on LuaLaTeX/XeLaTeX in any case.
2019-01-11 11:17:53 -08:00
Andrew Dunning
666bf8ac5c LaTeX template: Prevent scaling of main font (#5212)
When `Scale=MatchLowercase` is set as a default font option, this scales `mainfont` against the old default, meaning that it resizes whatever is set as the main font to match the metrics of Latin Modern. This can result, for example, in a document set to 12pt appearing in 11pt or 13pt. Setting this option for individual families allows everything to scale against the main font, and permits the user to override the setting if desired. Note that it is not necessary to specify `Ligatures=TeX`, as this is already set by default for the appropriate families. See the `fontspec` manual: <https://ctan.org/pkg/fontspec>.

Those who specify font-options in metadata may need to add `Scale=MatchLowercase`, which will now only be provided if `(roman|sans|math|mono)fontoptions` aren't given explicitly.
2019-01-10 11:24:27 -08:00
John MacFarlane
b42afe6333 Add zoomKey config to default.revealjs.
Closes #4249. Thanks to @reagle.
2019-01-08 11:43:07 -08:00
John MacFarlane
9746938d06
LaTeX Template: Improve package selections (#5193)
* Use Babel for LuaTeX.  There are a number of bugs in Polyglossia under LuaLaTeX with common languages, e.g. <https://github.com/reutenauer/polyglossia/issues/182>.

* Load xcolor. The `xcolor` package must be loaded before the `footnote` package, which we load to fix foonotes in tables. Closes #4861.

* Load xurl if available. This breaks URLs in more locations. Only available with TeX Live 2018 and later.

* Remove obsolete fixltx2e package

* Reindent. Use two spaces to be consistent internally and with other templates.

* Use `bookmark` if available. The `bookmark` package can sometimes correct the levels of headings where `hyperref` cannot: see <https://komascript.de/release3.26>.

* Update LaTeX tests
2019-01-03 10:47:48 -08:00
Andrew Dunning
f3709ccba3 LaTeX template: Require xcolor 2019-01-02 22:34:17 -05:00
John MacFarlane
9097ec41a9 EPUB writer: small fixes to nav.xhtml.
* Add 'landmarks' id attribute to the landmarks nav.
* Replace old default CSS removing numbers from ol.toc li
  with new rules that match `nav#toc ol, nav#landmarks ol`.
* We keep the `toc` class on `ol` for backwards compatibility.
2019-01-02 11:24:53 -08:00