Commit graph

334 commits

Author SHA1 Message Date
John MacFarlane
61d2c2e8cb LaTeX writer: better handling of display math in simple tables.
We convert display math to inline math in simple tables,
since LaTeX can't deal with display math in simple tables.

Closes #1754.
2014-12-15 21:14:07 -08:00
John MacFarlane
47c360e079 Improved texorpdfstring patch #1148.
* Make LaTeX reader recognize texorpdfstring.
* Don't use texorpdfstring unless it's actually needed.
* Fix tests.
2014-12-15 10:06:03 -08:00
John MacFarlane
544f3e5b45 Merge branch 'use-texorpdfstring' of https://github.com/wilx/pandoc into wilx-use-texorpdfstring
Conflicts:
	src/Text/Pandoc/Writers/LaTeX.hs
	tests/Tests/Writers/LaTeX.hs
2014-12-15 10:01:50 -08:00
Bjorn Buckwalter
7960013cd4 Escape spaces. Fixes jgm/pandoc#1694. 2014-10-15 21:06:41 +02:00
Jesse Rosenthal
1326a41780 LaTeX writer: Protect graphics in headers.
Graphics in `\section`/`\subsection` etc titles need to be `\protect`ed.

This adds a state value and manually turns it on before every invocation
of `sectionHeader` and manually turns it off after. Using a writer value
and applying `local` would probably be cleaner, but this fits with the
current style.
2014-09-09 10:56:37 -04:00
John MacFarlane
cb1a8da01c LaTeX writer: Avoid using reserved characters as \lstinline delimiters.
Closes #1595.
2014-09-01 10:11:09 -07:00
Jose Luis Duran
9557eb6f8e LaTeX writer: Use a declaration for tight lists
Currently, pandoc has hard-coded the following in order to make tight lists in
LaTeX:

```hs
text "\\itemsep1pt\\parskip0pt\\parsep0pt"
```

Which is fine, but does not allow customizations.  For example, the `memoir`
class already has a `\tightlist` declaration for this purpose:

```tex
\newcommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
```

I'm proposing to use a similar solution:

```diff
@@ In Writers/LaTeX.hs:
-then text "\\itemsep1pt\\parskip0pt\\parsep0pt"
+then text "\\tightlist"

@@ In templates/default.latex:
+\newcommand{\tightlist}{%
+  \setlength{\itemsep}{1pt}\setlength{\parskip}{0pt}\setlength{\parsep}{0pt}}
```

This allows us to customize the tightness to our needs.

Backward Compatibility

If a person is using a custom LaTeX template (not based upon the `memoir`
class), the `\tightlist` declaration must be added.
2014-09-01 05:08:24 +00:00
Jesse Rosenthal
d3053807a8 LaTeX writer: Put ~ before header in item text.
Because of the built-in line skip, LaTeX can't handle a section header
as the first element in a list item. (To be precise, it can't handle it
if the list immediately follows a section header, but the instance is
rare enough that we can afford to be a bit more general). This puts a
non-breaking space before the header to solve this problem. We won't see
this space, since the header skips a line before printing anyway.

The output is ugly in LaTeX and this structure seems like it should
probably be avoided. But it is valid HTML and native pandoc, so we
should have some sort of typesettable representation in LaTeX.
2014-08-31 16:05:09 -04:00
John MacFarlane
218633548f Merge pull request #1574 from jlduran/latex-horizontal-rule
LaTeX writer: Make Horizontal Rules more flexible
2014-08-29 21:40:55 -07:00
Jose Luis Duran
4c684561ee LaTeX writer: Add \strut to fix multiline tables
See: http://tex.stackexchange.com/questions/34971
2014-08-29 13:54:08 +00:00
Jose Luis Duran
1fc665c07d LaTeX writer: Make Horizontal Rules more flexible
Currently, pandoc has hard-coded the following in order to make horizontal
rules in LaTeX:

```hs
"\\begin{center}\\rule{3in}{0.4pt}\\end{center}"
```

Which is fine, but does not allow customizations.  It also does not take into
consideration the current line width.

I'm proposing this change:

```diff
@@ In Writers/LaTeX.hs:
-"\\begin{center}\\rule{3in}{0.4pt}\\end{center}"
+"\\begin{center}\\rule{0.5\\linewidth}{\\linethickness}\\end{center}"
```
2014-08-28 03:12:37 +00:00
Jose Luis Duran
f1d330b7b5 LaTeX writer: Fix tables
- [x] Fix a bug introduced in 66378062b6, which
  causes the table caption to repeat across all pages
- [x] Address the issues discussed
  [here](https://groups.google.com/forum/#!msg/pandoc-discuss/qMu6_5lYy0o/ZAU7lzAIKw0J)
  regarding the extra vertical space.
  - [ ] NOTE: This will cause multiline table cells to appear unpadded. See
    http://tex.stackexchange.com/questions/34971
  - [x] Use [`\tabularnewline`](http://tex.stackexchange.com/questions/78796)
    instead of `\\`.
2014-08-28 02:02:20 +00:00
John MacFarlane
e883ef4eb9 Merge pull request #1527 from mpickering/juicypixels
Attempts to convert gif, tiff and bmp to png in pdf writer
2014-08-12 16:57:22 -07:00
Matthew Pickering
2b31df32de LaTeX Writer: Added missing closing braces to hyperdef commands 2014-08-13 00:37:18 +01:00
John MacFarlane
ab75e1d3bd Beamer: Use \footnote<.->{..} for notes.
This ensures that the footnotes will not appear before the
overlays in which their corresponding note markers appear.

Closes #1525.
2014-08-12 10:56:57 -07:00
John MacFarlane
211fe266e0 LaTeX writer: Don't produce \label{} for Div or Span.
Just `\hyperdef`.
A slight amendment to #1519.
2014-08-11 12:20:44 -07:00
Matthew Pickering
1952dd0592 TeX Writer: Write hyperdef and label for identifiers on Div blocks 2014-08-11 16:23:05 +01:00
Artyom Kazak
141fdf944a Add PatternGuards pragmas. 2014-08-04 19:58:25 +04:00
Artyom Kazak
82118b3328 Use stripPrefix where appropriate. 2014-08-04 19:57:42 +04:00
John MacFarlane
8c2ed54e2e LaTeX writer: use \(..\) instead of $..$ for inline math.
Closes #1464.
2014-07-29 20:45:49 -07:00
John MacFarlane
c24ab14918 LaTeX writer: Use \nolinkurl in email autolinks.
This allows them to be styled using `\urlstyle{tt}`.

Thanks to Ulrike Fischer for the solution.
2014-07-15 16:42:39 -07:00
John MacFarlane
66378062b6 LaTeX writer: Put table captions above tables.
The standard seems to be captions above tables.  (See
http://tex.stackexchange.com/questions/3243/why-should-a-table-caption-be-placed-above-the-table)
2014-07-10 13:06:41 -07:00
John MacFarlane
87ab01637e LaTeX writer: Use \textquotesingle for ' in inline code.
Otherwise we get curly quotes in the PDF output.
Closes #1364.
2014-06-23 12:51:10 -07:00
John MacFarlane
d81b4358ea LaTeX writer: Correctly handle figures in notes.
Notes can't contain figures in LaTeX, so we fake it to avoid
an error.  Closes #1053.
2014-06-20 11:26:38 -07:00
John MacFarlane
12efffa85a LaTeX writer: Fixed strikeout + highlighted code. Closes #1294.
Previously strikeout highlighted code caused an error.
2014-06-20 10:24:30 -07:00
Albert Krewinkel
8fdbef841d Update copyright notices for 2014, add missing notices 2014-05-09 00:46:08 +02:00
John MacFarlane
51aa304834 LaTeX writer: Fixed inconsistencies with reference escaping.
- toLabel is now monadic, and it does the needed string escaping.
- Closes #1130.
2014-05-04 14:43:05 -07:00
Albert Krewinkel
b09412d852 LaTeX writer: Mark span contents with label if span has an ID
Prepend `\label{span-id}` to span contents iff `span-id` is defined.
2014-04-25 16:17:24 +02:00
John MacFarlane
e352ec5a0e LaTeX writer: Workaround for level 4-5 headers in quotes.
These previously produced invalid LaTeX: `\paragraph` or
`\subparagraph` in a `quote` environment.  This adds an
`mbox{}` in these contexts to work around the problem.
See http://tex.stackexchange.com/a/169833/22451.

Closes #1221.
2014-04-06 16:32:53 -07:00
John MacFarlane
98658b55fc LaTeX writer: handle line breaks in simple table cells.
Closes #1217.
2014-04-04 17:39:56 -07:00
John MacFarlane
99f4f636df Make --toc-depth work well with books in latex/pdf output.
Closes #1210.
2014-03-31 11:08:10 -07:00
Vaclav Zeman
64bcb9fe03
src/Text/Pandoc/Writers/LaTeX.hs: Use \texorpdfstring for section
captions.
2014-02-10 09:11:50 +01:00
Vaclav Zeman
1ba8066f67 Merge remote-tracking branch 'origin/master' into en-dash-ligature-avoidance. 2014-02-09 13:16:39 +01:00
Vaclav Zeman
3f0fe345f9
Use \/ to avoid en-dash ligature instead of -{}-.
This is to fix LuaLaTeX output. The -{}- sequence does not avoid the
ligature with LuaLaTeX but \/ does.
2014-02-08 13:40:04 +01:00
Henry de Valence
3d70059a48 HLint: use fromMaybe
Replace uses of `maybe x id` with `fromMaybe x`.
2013-12-19 21:07:09 -05:00
Henry de Valence
c8fc0a0374 HLint: use /= 2013-12-19 20:46:11 -05:00
Henry de Valence
1ed2c467c9 HLint: Use all
Replace `and . map` with `all`.
2013-12-19 17:06:27 -05:00
John MacFarlane
8053ba2123 LaTeX writer: Better treatment of footnotes in tables.
Notes now appear in the regular sequence, rather than in the
table cell.  (This was a regression in 1.10.)
2013-12-17 20:53:59 -08:00
John MacFarlane
a3f6f2827c LaTeX writer: Factored out function for table cell creation. 2013-12-17 20:10:09 -08:00
Jose Luis Duran
fdaeec0c48 Add booktabs package for LaTeX tables
[ci skip]
2013-12-04 04:26:22 +00:00
John MacFarlane
b82ef0e29a LaTeX writer: Handle csl flipflopping spans (csl-no-emph, etc.) 2013-11-23 14:41:22 -08:00
John MacFarlane
892ba2dd16 LaTeX writer: Properly escape pdftitle, pdfauthor.
Closes #1059.
2013-11-16 14:09:09 -08:00
John MacFarlane
e63aafd620 Fix definition lists with internal links in terms (closes #1032).
This fix puts braces around a term that contains an internal
link, to avoid problems with square brackets.
2013-10-21 17:33:42 -07:00
John MacFarlane
1f29f4678e LaTeX writer: Specially escape non-ascii characters in labels.
Otherwise we can get compile errors and other bugs when
compiled with pdflatex.  Closes #1007.

Thanks to begemotv2718 for the fix.
2013-10-17 22:06:39 -07:00
John MacFarlane
6e1c24da8e LaTeX writer: Add link anchors for code blocks with identifiers.
Closes #1025.
2013-10-17 13:23:38 -07:00
John MacFarlane
386e933432 Use isURI instead of isAbsoluteURI.
It allows fragments identifiers.
2013-10-16 09:48:11 -07:00
John MacFarlane
0df7cce37d Treat div with class "notes" as speaker notes in slide formats.
Currently beamer goes to `\note{}`, revealjs to `<aside class="notes">`,
and the notes are simply suppressed in other formats.

Closes #925.
2013-10-13 15:37:25 -07:00
John MacFarlane
e135955b1e LaTeX writer: Don't print biblio if --natbib or --biblatex option used. 2013-09-19 10:08:49 -07:00
John MacFarlane
e7a4bcc6fe Merge pull request #961 from nougad/add_latex_listings_label
Write id for code block to label attr in latex when listing is used
2013-08-25 20:48:38 -07:00
John MacFarlane
deb59b6235 Removed dependency on citeproc-hs.
Going forward we'll use pandoc-citeproc, as an external filter.

The `--bibliography`, `--csl`, and `--citation-abbreviation` fields
have been removed.  Instead one must include `bibliography`, `csl`,
or `csl-abbrevs` fields in the document's YAML metadata.  The filter
can then be used as follows:

    pandoc --filter pandoc-citeproc

The `Text.Pandoc.Biblio` module has been removed.  Henceforth,
`Text.CSL.Pandoc` from pandoc-citations can be used by library users.

The Markdown and LaTeX readers now longer format bibliographies and
citations.  That must be done using `processCites` or `processCites'`
from Text.CSL.Pandoc.

All bibliography-related fields have been removed from `ReaderOptions`
and `WriterOptions`: `writerBiblioFiles`, `readerReferences`,
`readerCitationStyle`.

API change.
2013-08-24 22:33:01 -07:00