aboutsummaryrefslogtreecommitdiff
path: root/data/templates/default.latex
AgeCommit message (Collapse)AuthorFilesLines
2021-02-26Wrap url colours in braces in the default LaTeX template (#7121)Loïc Grobol1-4/+4
2021-02-18Revert "LaTeX template: disable `` ?` `` and `` !` `` ligatures."John MacFarlane1-1/+0
This reverts commit 24d7cd539ba70aa94480976a7957420c020cb19a.
2021-02-18LaTeX template: disable `` ?` `` and `` !` `` ligatures.John MacFarlane1-0/+1
These are often triggered by accident in languagegs that use ` `` ` for end quote (e.g. German). See jgm/citeproc#54.
2021-02-03LaTeX template: Update to iftex package (#7073)Andrew Dunning1-11/+11
Load the iftex package directly rather than via the ifxetex and ifluatex compatibility wrappers, which have been merged into a single package that is part of the LaTeX core. The capitalization of the commands has been changed for compatibility with older versions of TeX Live that have the version of iftex by the Persian TeX Group. This had been removed in <https://github.com/jgm/pandoc/commit/2845794c0c31b2ef1f3e6a73bb5b109da4c74f37> for compatibility with BasicTeX, but that is no longer an issue.
2020-12-20LaTeX writer: support colspans and rowspans in tables. (#6950)Albert Krewinkel1-0/+3
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-07LaTeX template: include csquotes package if csquotes variable set.John MacFarlane1-0/+3
2020-11-25latex template: put back amssymbJohn MacFarlane1-3/+1
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-25LaTeX writer: improve longtable output.John MacFarlane1-1/+1
- Don't create minipages for regular paragraphs. - Put width and alignment information in the longtable column descriptors. - Closes #6883.
2020-11-25latex template: disable language-specific shorthands in babel.John MacFarlane1-1/+4
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-18latex template: add a `\break` after parbox in CSLRightInline.John MacFarlane1-1/+1
This should fix spacing problems between entries with numeric styles.
2020-11-18latex template: fix number of params on CSLReferences.John MacFarlane1-1/+1
2020-11-03LaTeX template: fix `\CSLRightInline`...John MacFarlane1-3/+3
so that it does not run over the right margin.
2020-10-29LaTeX writer: Improved calculation of table column widths.John MacFarlane1-0/+1
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-19Do not load amssymb if not needed (#6762)Angelo Peronio1-1/+3
Fixes #6469. From https://tex.stackexchange.com/a/549938
2020-10-13default.latex: fix CSLReference macro definition.John MacFarlane1-3/+2
It improperly handled entry spacing and expected 3 parameters instead of 2.
2020-09-21Add built-in citation support using new citeproc library.John MacFarlane1-4/+19
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-07-15Use selnolig to selectively suppress ligatures with lualatex.John MacFarlane1-0/+3
Closes #6534
2020-06-14Make polyglossia package options list-aware in the LaTeX template. (#6444)Frederik Elwert1-2/+2
2020-01-29LaTeX template: add space option to xeCJK with PassOptionsToPackage.John MacFarlane1-1/+4
Otherwise we can get a clash with documentclasses that already load the package. Closes #6002.
2019-12-27Allow framebreaks for beamer's TOC (#6012)Heiko Schlittermann1-1/+1
2019-12-05Keep the \author{} command even if author is not specified (#5961)Yihui Xie1-2/+0
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-11-16Patch for fixing spacing problem on CJK language. (#5855)jeongminkim-islab1-1/+1
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-10-29Remove include of grffile from default latex template.John MacFarlane1-1/+1
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-09-03Further mod to hanging indent code in latex template.John MacFarlane1-2/+0
Make sure the length is always defined.
2019-09-03Slight improvements to hanging indent code in latex template.John MacFarlane1-4/+7
See jgm/pandoc-citeproc#410.
2019-09-02LaTeX writer: use `cslreferences` environment for csl bibliographies.John MacFarlane1-0/+7
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-05-15Fix using Beamer with geometry (#5505)Daniel Maslowski1-0/+4
Beamer already loads geometry, so we need to use the `\geometry` command to set geometry options.
2019-04-11LaTeX template: Add pdflang to hypersetup if lang is set.John MacFarlane1-0/+3
Closes #5443.
2019-04-02LaTeX template: Ensure correct heading/table order (#5421)Andrew Dunning1-6/+9
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-03-25LaTeX template: Add pandoc to PDF metadata (#5388)Andrew Dunning1-1/+1
Credits pandoc in content creator metadata (the default is 'LaTeX with hyperref').
2019-03-22LaTeX template: Group graphics-related code (#5389)Andrew Dunning1-7/+6
* LaTeX template: Group graphics-related code The default figure placement was added in <https://github.com/jgm/pandoc/commit/f3ab4bc2b99e9f7f3917708a9110d6500aa051a0>; there does not appear to have been a reason for placing it at the end of the preamble. * Update tests
2019-03-21LaTeX template: Move \setstretch after front matter (#5378)Andrew Dunning1-1/+3
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-13 LaTeX template: Improve readability (#5363)Andrew Dunning1-18/+19
+ 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-04 LaTeX template: Robust section numbering removal (#5351)Andrew Dunning1-1/+1
Ensures that section numbering does not reappear with custom section levels. See <https://tex.stackexchange.com/questions/473653/>. Update tests
2019-03-04LaTeX writer/template: better handling of front/main/backmatter.John MacFarlane1-5/+5
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-01LaTeX template: Add \frontmatter, \mainmatter, \backmatter for book classes.John MacFarlane1-0/+9
Closes #5306.
2019-02-09Added support for the `subject` metadata variable to PDF. (#5289)Pascal Wagler1-0/+3
2019-01-25LaTeX template: Set default listings language for lua, assembler.John MacFarlane1-0/+2
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-23LaTeX template: Restrict `institute` to Beamer (#5219)Andrew Dunning1-3/+2
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-22LaTeX template: Use `footnotehyper` if available (#5234)Andrew Dunning1-2/+3
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-22LaTeX template: Respect `numbersections` for books (#5235)Andrew Dunning1-1/+1
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-22LaTeX template: Fix subtitle spacing (#5244)Andrew Dunning1-1/+1
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-12LaTeX template: Simplify fontspec usage (#5218)Andrew Dunning1-9/+8
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-11 LaTeX template: Render \subtitle (#5213)Andrew Dunning1-1/+9
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-10LaTeX template: Prevent scaling of main font (#5212)Andrew Dunning1-10/+9
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-02LaTeX template: Require xcolorAndrew Dunning1-1/+1
2019-01-01LaTeX template: Supply missing forAndrew Dunning1-1/+1
Partially addresses #5179
2019-01-01LaTeX template: Use `bookmark` if availableAndrew Dunning1-1/+1
The `bookmark` package can sometimes correct the levels of headings where `hyperref` cannot: see <https://komascript.de/release3.26>.
2019-01-01LaTeX template: ReindentAndrew Dunning1-46/+71
Use two spaces to be consistent internally and with other templates.
2019-01-01LaTeX template: Remove obsolete fixltx2e packageAndrew Dunning1-1/+0