Commit graph

57 commits

Author SHA1 Message Date
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
6d19c08e9f LaTeX template: Add pdflang to hypersetup if lang is set.
Closes #5443.
2019-04-11 16:58:36 -07: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
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
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
c26d7f1e36 LaTeX template: Add \frontmatter, \mainmatter, \backmatter for book classes.
Closes #5306.
2019-03-01 16:23:05 -08:00
Pascal Wagler
66ed198fff Added support for the subject metadata variable to PDF. (#5289) 2019-02-09 13:54: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
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
Andrew Dunning
f3709ccba3 LaTeX template: Require xcolor 2019-01-02 22:34:17 -05:00
Andrew Dunning
fc9ac7993a LaTeX template: Supply missing for
Partially addresses #5179
2019-01-01 19:23:52 -05:00
Andrew Dunning
8feda269b0 LaTeX template: Use bookmark if available
The `bookmark` package can sometimes correct the levels of headings where `hyperref` cannot: see <https://komascript.de/release3.26>.
2019-01-01 17:31:39 -05:00
Andrew Dunning
6a71997fcb LaTeX template: Reindent
Use two spaces to be consistent internally and with other templates.
2019-01-01 14:59:19 -05:00
Andrew Dunning
3160836983 LaTeX template: Remove obsolete fixltx2e package 2019-01-01 14:57:19 -05:00
Andrew Dunning
b6d13467f6 LaTeX template: Load xurl if available
This breaks URLs in more locations. Only available with TeX Live 2018 and later.
2019-01-01 14:47:20 -05:00
Andrew Dunning
275cedc59c LaTeX template: Load xcolor if available
The `xcolor` package must be loaded before the `footnote` package, which we load to fix foonotes in tables. Closes #4861.
2019-01-01 14:45:20 -05:00
Andrew Dunning
d410554f46
LaTeX Template: 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>.
2019-01-01 14:37:42 -05:00
Enno
dc8caf10df template:latex: make @ letter before using it (#5145)
This fixes the previous commit for parskip and KOMA classes.
2018-12-11 16:21:45 -05:00
Enno
84147eeff1 Let KOMA document class handle parskip when applicable (#5143)
This is just a change to the default latex template.
2018-12-11 13:22:31 -05:00
OvidiusCicero
6beb1fc28d LaTeX template: add variable romanfont (#4665)
This opens up the possibility of setting the romanfont in xelatex/lualatex.
Note that mainfont actually oversets sansfont in headings
2018-11-03 12:41:47 -07:00
Mathias Walter
537d917988 LaTeX template: add variable hyperrefoptions(#4925)
Introduce a new variable `hyperrefoptions` to pass to the hyperref package.
This allows us (for example) to specify `hyperrefoptions: linktoc=all` in a YAML block.
2018-10-04 12:22:22 -07:00
Wandmalfarbe
dac85d683f Add support for $toc-title$ to LaTeX (and PDF). (#4853) 2018-08-25 09:55:17 -07:00
John MacFarlane
fe312b0a7a LaTeX writer/template: be sensitive to filecolor variable.
`linkcolor` only affects internal links, and `urlcolor` only
affects linked URLs.  For external links, the option to use is
`filecolor`.

Closes #4822.
2018-08-16 20:48:51 -07:00
Cyril Roelandt
2ae8272754 Support "toc-title" in the beamer template. (#4835)
It is a bit awkward to have a title for every frame, but not for the one
that holds the table of contents. Allow users to specify a title if they
wish.
2018-08-15 09:58:17 -07:00
John MacFarlane
748aa920f6 Moved some beamer code in default.latex template.
This change allows beamer themes to change the
template and font (as Metropolis does).

Closes #4450.
2018-07-21 22:05:21 -07:00
John Muccigrosso
00e3c5c8c1 Add background-image variable to default.latex (#4601)
New variable with same name as comparable variable in (proposed) reveal.js template, so that background images can indicated for both presentation formats with one variable.
2018-04-26 11:33:20 -07:00
Étienne BERSAC
7f97b04862 Add -V beameroption variable (#4359)
* LaTeX template: Use `pgfpages` package; this is needed for notes on second screen in beamer
* LaTeX template: Add `beameroption` variable in template
2018-03-30 09:20:06 -07:00
Václav Haisman
2ddf2257dc Provide bidi package's option using \PassOptionsToPackage (#4357).
* Provide `bidi` package's option using `\PassOptionsToPackage`.  This avoid clash when   `polyglossia` loads it first and then it is loaded again for XeLaTeX when `latex-dir-rtl` defined.

* Adjust test suite for LaTeX template change.
2018-03-17 20:20:57 -07:00
John MacFarlane
17b667ec26 Update latex template to work with recent versions of beamer.
The old template produced numbered sections with some recent
versions of beamer.

Thanks to Thomas Hodgson.
2017-12-13 21:17:13 -08:00
Thomas Hodgson
166561cc8d Added support for LaTeX pagestyle variable (#4135)
* Add pagestyle support

* Add pagestyle option to MANUAL.txt

* Moved mention of pagestyle to the section on variables
2017-12-11 22:26:16 -07:00
John MacFarlane
c9407f85a0 LaTeX template: include natbib/biblatex after polyglossia.
Otherwise we seem to get an error; biblatex wants polyglossia
language to be defined.

Closes #4073.
2017-11-14 20:50:13 -08:00
John MacFarlane
2e2795412d Move 'tables in footnotes' fix out of beamer part of default.latex.
This caused an error in beamer.

Footnotes already work in tables in beamer, without this code.
2017-09-12 08:31:59 -07:00
Andrew Dunning
621e43e0ec Write euro symbol directly in LaTeX
The textcomp package allows pdfLaTeX to parse `€` directly, making the \euro command unneeded. Closes #3801.
2017-09-08 22:26:32 +01:00
Andrew Dunning
331a0a0c25 Use starred versions of xcolor names
Prevents changes to documents defined using the dvipsnames list (e.g. `Blue` gives a different result with svgnames enabled).
2017-09-08 10:32:36 +01:00
Andrew Dunning
51bb7453e4 Merge branch 'master' into patch-1 2017-09-08 07:06:50 +01:00
John MacFarlane
732005456e LaTeX template: load polyglossia after header-includes.
It needs to be loaded as late as possible.

Closes #3898.
2017-09-07 22:16:23 -07:00
Andrew Dunning
3654c4373a Use xcolor for colorlinks option
Beamer loads `xcolor` rather than `color`, and thus the `dvipsnames` option doesn't take effect. This also provides a wider range of colour selections with the `svgnames` option. Closes #3877.
2017-09-07 22:06:51 +01:00
Andrew Dunning
a89aa1a681 Combine LaTeX/Beamer templates
All conditionals use the `beamer` variable set by the writer.

Closes #3878.
2017-08-26 09:37:22 +01:00
Václav Haisman
c9be2de5c1 Allow setting Japanese fonts when using LuaLaTeX (#3873)
...by using the `luatexja-fontspec` and `luatexja-preset` packages. Use
existing `CJKmainfont` and `CJKoptions` template variables. Add
`luatexjafontspecoptions` for `luatexja-fontspec` and `luatexjapresetoptions`
for `luatexja-preset`.
2017-08-25 11:20:56 -07:00
Andrew Dunning
ceda566a5e Fix hyperref options clash (#3847)
Avoids an options clash when loading a package (e.g. `tufte-latex`) that uses `hyperref` settings different from those in the template (introduced in <feffd7c64a>).
2017-08-14 12:33:46 -07:00