aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers/LaTeX.hs
AgeCommit message (Collapse)AuthorFilesLines
2018-09-30Implement `--ascii` (`writerPreferAscii`) in writers, not App.John MacFarlane1-39/+105
Now the `write*` functions for Docbook, HTML, ICML, JATS, Man, Ms, OPML are sensitive to `writerPreferAscii`. Previously the to-ascii translation was done in Text.Pandoc.App, and thus not available to those using the writer functions directly. In addition, the LaTeX writer is now sensitive to `writerPreferAscii` and to `--ascii`. 100% ASCII output can't be guaranteed, but the writer will use commands like `\"{a}` and `\l` whenever possible, to avoid emiting a non-ASCII character. A new unexported module, Text.Pandoc.Groff, has been added to store functions used in the different groff-based writers.
2018-09-29LaTeX writer: Fix description lists contining highlighted code.John MacFarlane1-2/+4
Closes #4662.
2018-09-22LaTeX writer: fix a use of `last` that might take empty list.John MacFarlane1-3/+3
If you ran with `--biblatex` and have an empty document (metadata but no blocks), pandoc would previously raise an error because of the use of `last` on an empty list.
2018-08-16LaTeX writer/template: be sensitive to `filecolor` variable.John MacFarlane1-1/+2
`linkcolor` only affects internal links, and `urlcolor` only affects linked URLs. For external links, the option to use is `filecolor`. Closes #4822.
2018-06-12Beamer: Allow "noframenumbering" option (#4696)Raymond Ehlers1-1/+2
As noted [here](https://tex.stackexchange.com/a/49805) ([beamer commit here](https://github.com/josephwright/beamer/commit/ff70090f36b631667b472cfe675fc3514fe46f7e)), `noframenumbering` is an undocumented, but long existing option to disable frame numbering for a particular slide. This is useful to avoid numbering backup slides.
2018-06-07LaTeX writer: properly handle footnotes in table captions.John MacFarlane1-17/+22
Refactored code from figure captions to use in both places. Closes #4683.
2018-06-07beamer output: fix single digit column percentage (#4691)Mauro Bieg1-1/+1
fixes #4690
2018-04-26LaTeX writer: Update \lstinline delimiters. (#4369)Tim Parenti1-1/+1
Don't delimit \lstinline with characters that are normally escaped. Follow-up to #4111, #4271.
2018-04-16Beamer writer: don't use format specifier for default ordered lists.John MacFarlane1-0/+1
This gives better results for styles that put ordered list markers in boxes or circles. Closes #4556.
2018-03-18Use NoImplicitPrelude and explicitly import Prelude.John MacFarlane1-0/+2
This seems to be necessary if we are to use our custom Prelude with ghci. Closes #4464.
2018-03-13Beamer: put hyperlink after `\begin{frame}`.John MacFarlane1-8/+8
and not in the title. If it's in the title, then we get a titlebar on slides with the `plain` attribute, when the id is non-null. This fixes a regression from 1.9.x. Closes #4307.
2018-02-22Presentations: Use divs to set incremental/non-incrementalJesse Rosenthal1-46/+67
Currently, html and beamer presentations use a list-inside-blockquote convention for setting incremental and all-at-once presentation of lists (or reversing the command-line default). This allows the user to set this on a per-case basis with divs, named `incremental` and `nonincremental` respectively, as in: ::: incremental - snap - crackle - pop ::: Note that the former list-inside-blockquote convention still works so as not to break any existing presentations. Closes: #4381
2018-02-21LaTeX writer: Put hypertarget inside figure environment.John MacFarlane1-4/+4
Previously it surrounded the figure. This works around a problem with the endfloat package and makes pandoc's output compatible with it. Closes #4388.
2018-02-21LaTeX writer: Fix image height with percentage.John MacFarlane1-1/+5
This previously caused the image to be resized to a percentage of textwidth, rather than textheight. Closes #4389.
2018-01-19hlint code improvements.John MacFarlane1-4/+4
2018-01-16LaTeX writer: escape & in lstinlineRobert Schütz1-1/+1
2018-01-10LaTeX reader: fix inconsistent column widths.John MacFarlane1-2/+2
This fixes a bug whereby column widths for the body were different from widths for the header in some tables. Closes #4238.
2018-01-05Update copyright notices to include 2018Albert Krewinkel1-2/+2
2017-12-28LaTeX writer: Use \endhead after \toprule in headerless tables.John MacFarlane1-4/+3
Closes #4207.
2017-12-26LaTeX writer: Allow fragile=singleslide attribute in beamer slides.John MacFarlane1-2/+2
Closes #4169.
2017-12-15LaTeX writer: use \renewcommand for \textlatin with babel.John MacFarlane1-4/+7
This avoids a clash with a deprecated \textlatin command defined in Babel. Closes #4161.
2017-12-02LaTeX writer: escape `_` in code with --listings.John MacFarlane1-1/+1
2017-12-01LaTeX writer: allow specifying just width or height for image size.John MacFarlane1-1/+6
Previously both needed to be specified (unless the image was being resized to be smaller than its original size). If height but not width is specified, we now set width to textwidth (and similarly if width but not height is specified). Since we have keepaspectratio, this yields the desired result.
2017-12-01LaTeX writer: escape ~ in code with --listings.John MacFarlane1-1/+1
Closes #4111.
2017-12-01Revert "LaTeX writer: Add keepaspectratio to includegraphics..."John MacFarlane1-6/+1
This reverts commit 171187a4527497701b3c77bd56cea2d770d4e3b0.
2017-11-30LaTeX writer: Add keepaspectratio to includegraphics...John MacFarlane1-1/+6
...if only one of height/width is given.
2017-11-29Let papersizes a0, a1, a2, ... be case-insensitive in LaTeX and ConTeXt.John MacFarlane1-2/+4
2017-11-01hlintAlexander Krotov1-1/+1
2017-10-31LaTeX/Beamer writer: support "blocks" inside columns and other Divs.John MacFarlane1-0/+4
Example: ``` <div class="columns"> <div class="column" width="40%"> - Item </div> <div class="column" width="60%"> - Item </div> </div> ``` Closes #4016.
2017-10-29Source code reformatting.John MacFarlane1-2/+2
2017-10-29hlint suggestions.John MacFarlane1-49/+53
2017-10-27Automatic reformating by stylish-haskell.John MacFarlane1-2/+2
2017-09-08Write euro symbol directly in LaTeXAndrew Dunning1-6/+0
The textcomp package allows pdfLaTeX to parse `€` directly, making the \euro command unneeded. Closes #3801.
2017-09-07LaTeX writer: use proper code for list enumerators.John MacFarlane1-2/+13
This should fix problems with lists that don't use arabic numerals. Closes #3891.
2017-08-14Implement multicolumn support for slide formats.John MacFarlane1-2/+21
The structure expected is: <div class="columns"> <div class="column" width="40%"> contents... </div> <div class="column" width="60%"> contents... </div> </div> Support has been added for beamer and all HTML slide formats. Closes #1710. Note: later we could add a more elegant way to create this structure in Markdown than to use raw HTML div elements. This would come for free with a "native div syntax" (#168). Or we could devise something specific to slides
2017-08-11Added support for translations (localization) (see #3559).John MacFarlane1-2/+2
* readDataFile, readDefaultDataFile, getReferenceDocx, getReferenceODT have been removed from Shared and moved into Class. They are now defined in terms of PandocMonad primitives, rather than being primitve methods of the class. * toLang has been moved from BCP47 to Class. * NoTranslation and CouldNotLoudTranslations have been added to LogMessage. * New module, Text.Pandoc.Translations, exporting Term, Translations, readTranslations. * New functions in Class: translateTerm, setTranslations. Note that nothing is loaded from data files until translateTerm is used; setTranslation just sets the language to be used. * Added two translation data files in data/translations. * LaTeX reader: Support `\setmainlanguage` or `\setdefaultlanguage` (polyglossia) and `\figurename`.
2017-08-06LaTeX writer: Don't use figure inside table cell.John MacFarlane1-2/+4
Closes #3836.
2017-06-28Make `papersize: a4` work regardless of the case of `a4`.John MacFarlane1-0/+4
It is converted to `a4` in LaTeX and `A4` in ConTeXt.
2017-06-28LaTeX writer: fixed detection of otherlangs.John MacFarlane1-3/+3
We weren't recursing into inline contexts. Closes #3770.
2017-06-26LaTeX writer: use BCP47 parser.John MacFarlane1-89/+105
2017-06-20Writers: adjusted for renderTemplate' changes.John MacFarlane1-3/+3
Now we raise a proper error on template failure.
2017-06-20Fixed footnotes in table captions.John MacFarlane1-16/+18
Note that if the table has a first page header and a continuation page header, the notes will appear only on the first occurrence of the header. Closes #2378.
2017-06-17Use Control.Monad.State.Strict throughout.John MacFarlane1-1/+1
This gives 20-30% speedup and reduction of memory usage in most of the writers.
2017-06-11Switched Writer types to use Text.John MacFarlane1-7/+10
* XML.toEntities: changed type to Text -> Text. * Shared.tabFilter -- fixed so it strips out CRs as before. * Modified writers to take Text. * Updated tests, benchmarks, trypandoc. [API change] Closes #3731.
2017-05-23Shared: Provide custom isURI that rejects unknown schemes [isURI]Albert Krewinkel1-1/+1
We also export the set of known `schemes`. The new function replaces the function of the same name from `Network.URI`, as the latter did not check whether a scheme is well-known. E.g. MediaWiki wikis frequently feature pages with names like `User:John`. These links were interpreted as URIs, thus turning internal links into global links. This is prevented by also checking whether the scheme of a URI is frequently used (i.e. is IANA registered or an otherwise well-known scheme). Fixes: #2713 Update set of well-known URIs from IANA list All official IANA schemes (as of 2017-05-22) are included in the set of known schemes. The four non-official schemes doi, isbn, javascript, and pmid are kept.
2017-05-18Don't render LaTeX images with data: URIs.John MacFarlane1-0/+3
LaTeX can't handle these. Note that --extract-media can be used when the input contains data: URIs. Closes #3636.
2017-05-13Update dates in copyright noticesAlbert Krewinkel1-2/+2
This follows the suggestions given by the FSF for GPL licensed software. <https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html>
2017-04-29LaTeX writer: Fix problem with escaping in lstinline.John MacFarlane1-1/+6
Previously the LaTeX writer created invalid LaTeX when `--listings` was specified and a code span occured inside emphasis or another construction. This is because the characters `%{}\` must be escaped in lstinline when the listinline occurs in another command, otherwise they must not be escaped. To deal with this, adoping Michael Kofler's suggestion, we always wrap lstinline in a dummy command `\passthrough`, now defined in the default template if `--listings` is specified. This way we can consistently escape the special characters. Closes #1629.
2017-04-28LaTeX writer: don't use lstinline it \item[..].John MacFarlane1-1/+7
If you do, the contents of item disappear or are misplaced. Use `\texttt` instead. Closes #645.
2017-04-25LaTeX writer: fix error with line breaks after empty content.John MacFarlane1-19/+28
LaTeX requires something before a line break, so we insert a `~` if no printable content has yet been emitted. Closes #2874.