aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/PDF.hs
AgeCommit message (Collapse)AuthorFilesLines
2017-01-25Convert all writers to use PandocMonad.Jesse Rosenthal1-4/+5
Since PandocMonad is an instance of MonadError, this will allow us, in a future commit, to change all invocations of `error` to `throwError`, which will be preferable for the pure versions. At the moment, we're disabling the lua custom writers (this is temporary). This requires changing the type of the Writer in Text.Pandoc. Right now, we run `runIOorExplode` in pandoc.hs, to make the conversion easier. We can switch it to the safer `runIO` in the future. Note that this required a change to Text.Pandoc.PDF as well. Since running an external program is necessarily IO, we can be clearer about using PandocIO.
2016-09-02Remove Compat.MonoidJesse Rosenthal1-1/+1
This was only necessary for GHC versions with base below 4.5 (i.e., ghc < 7.4).
2016-09-02PDF: Don't crash with nonexistent image.John MacFarlane1-1/+2
Instead, emit the alt text, emphasized. This accords with what the ODT writer currently does. The user will still get a warning about a nonexistent image, but will no longer get a LaTeX crash. Closes #3100.
2016-03-22Updated copyright dates to include 2016.John MacFarlane1-2/+2
2016-01-04Fixed v1.16 reversion with --latex-engine.John MacFarlane1-2/+2
In 1.16 --latex-engine raises an error if a full path is given. This commit fixes this reversion. Closes #2618.
2015-12-21Improved treatment of margins in wkhtmltopdf.John MacFarlane1-9/+13
2015-12-21Allow setting margins from metadata variables for wkhtmltopdf.John MacFarlane1-2/+6
Variables margin-top, margin-bottom, margin-left, margin-right. Setting them with css inside @page doesn't seem to work, at least with the released wkhtmltopdf.
2015-12-21pdf via wkhtmltopdf: take `title` and `page-size` from metadata.John MacFarlane1-13/+22
Adjusted default `page-size` to `letter`, to match current LaTeX template.
2015-12-21Added preliminary support for PDF creation via wkhtmltopdf.John MacFarlane1-3/+58
To use this: pandoc -t html5 -o result.pdf (and add `--mathjax` if you have math.)
2015-11-22hlint fixesJohn MacFarlane1-12/+13
2015-11-19Merge branch 'new-image-attributes' of https://github.com/mb21/pandoc into ↵John MacFarlane1-6/+6
mb21-new-image-attributes * Bumped version to 1.16. * Added Attr field to Link and Image. * Added `common_link_attributes` extension. * Updated readers for link attributes. * Updated writers for link attributes. * Updated tests * Updated stack.yaml to build against unreleased versions of pandoc-types and texmath. * Fixed various compiler warnings. Closes #261. TODO: * Relative (percentage) image widths in docx writer. * ODT/OpenDocument writer (untested, same issue about percentage widths). * Update pandoc-citeproc.
2015-11-09Restored Text.Pandoc.Compat.Monoid.John MacFarlane1-0/+1
Don't use custom prelude for latest ghc. This is a better approach to making 'stack ghci' and 'cabal repl' work. Instead of using NoImplicitPrelude, we only use the custom prelude for older ghc versions. The custom prelude presents a uniform API that matches the current base version's prelude. So, when developing (presumably with latest ghc), we don't use a custom prelude at all and hence have no trouble with ghci. The custom prelude no longer exports (<>): we now want to match the base 4.8 prelude behavior.
2015-11-09Revert "Use -XNoImplicitPrelude and 'import Prelude' explicitly."John MacFarlane1-1/+0
This reverts commit c423dbb5a34c2d1195020e0f0ca3aae883d0749b.
2015-11-08Use -XNoImplicitPrelude and 'import Prelude' explicitly.John MacFarlane1-0/+1
This is needed for ghci to work with pandoc, given that we now use a custom prelude. Closes #2503.
2015-10-20Allow use of ConTeXt to generate PDFs.John MacFarlane1-2/+64
pandoc my.md -t context -o my.pdf will now create a PDF using ConTeXt rather than LaTeX. Closes #2463.
2015-10-14Use custom Prelude to avoid compiler warnings.John MacFarlane1-4/+0
- The (non-exported) prelude is in prelude/Prelude.hs. - It exports Monoid and Applicative, like base 4.8 prelude, but works with older base versions. - It exports (<>) for mappend. - It hides 'catch' on older base versions. This allows us to remove many imports of Data.Monoid and Control.Applicative, and remove Text.Pandoc.Compat.Monoid. It should allow us to use -Wall again for ghc 7.10.
2015-08-05PDF: Modified for new image size attributes parameter.John MacFarlane1-6/+6
(mb21)
2015-07-08PDF: Make sure `--latex-engine-opt` goes before the filename...John MacFarlane1-1/+1
on the command line. LaTeX needs the argument to come after the options. Closes #1779 - again! Thanks to squisher for pointing out the problem.
2015-05-20PDF writer: Print temp dir on `--verbose`.John MacFarlane1-0/+2
This might help diagnose #777.
2015-04-26Updated copyright notices to -2015. Closes #2111.John MacFarlane1-2/+2
2015-04-12Fixed warning.John MacFarlane1-1/+1
2015-04-12Text.Pandoc.PDF: more comprehensible errors on image conversion.John MacFarlane1-3/+3
Closes #2067. EPS can't be supported without shelling out to something like ImageMagick, but at least we can avoid mysterious error messages. We now get: pandoc: Unable to convert `circle.eps' for use with pdflatex. ! Package pdftex.def Error: File `circle-eps-converted-to.pdf' not found. which seems more straightforward.
2015-03-04Fix issue #969, #1779 by providing --latex-engine-optSumit Sahrawat1-7/+9
2015-01-11don't log Try xelatex if xelatex already in use, closes #1832mb211-2/+3
2014-12-26Added `--verbose` flag for debugging output in PDF production.John MacFarlane1-9/+26
Closes #1840. Closes #1653.
2014-08-30PDF: Catch errors in conversion of images and display message.John MacFarlane1-8/+14
See #1582.
2014-08-13PDF Writer: Attempts to convert images to pdf renderable formatsMatthew Pickering1-3/+29
Now depends on the JuicyPixels library. Will attempt to convert an image (gif, tiff, bmp) to png when converting to pdf.
2014-07-30PDF, Docx, EPUB, and ODT writers now automatically use MediaBag.John MacFarlane1-7/+7
The MediaBag is thread through from the reader, with no need to extract to files.
2014-07-30Moved withTempDir from PDF to Shared, export from Shared.John MacFarlane1-10/+1
API change.
2014-05-28PDF writer: Fixed treatment of data uris for images.John MacFarlane1-2/+2
Closes #1062.
2014-05-09Update copyright notices for 2014, add missing noticesAlbert Krewinkel1-2/+2
2014-04-05Text.Pandoc.PDF: Ensure that temp directories deleted on Windows.John MacFarlane1-1/+4
The PDF is now read as a strict bytestring, ensuring that process ownership will be terminated, so the temp directory can be deleted. Closes #1192.
2014-03-19PDF: Changes to error reporting, to handle non-UTF8 error output.John MacFarlane1-3/+2
2014-03-10PDF: Use / as path separators in latex input onlyTim Lin1-12/+15
Fixes compile error on Windows for 5040f3e Reverted back to canonical file separators </> in all places except for arguments to the LaTeX builder and in TEXINPUTS See #1151. Note: Temporary directories still fail to be removed in Windows due to call of ByteString.Lazy.readFile creating process ownership of the compiled pdf file.
2014-03-10PDF: Use / as path separators in tempdir on Windows.John MacFarlane1-3/+11
This is needed for texlive. Note that the / is used only in the body of withTempDir, so when the directory is deleted, the original separators will be used. See #1151.
2014-03-09PDF: Use / as path separators even on Windows.John MacFarlane1-2/+3
This seems to be necessary for texlive. Closes #1151 (again!).
2014-02-23PDF: Use ; for TEXINPUTS separator on Windows.John MacFarlane1-1/+6
Closes #1151, I hope. Testing needed.
2013-12-19HLint: use fromMaybeHenry de Valence1-1/+2
Replace uses of `maybe x id` with `fromMaybe x`.
2013-10-17PDF: Minor code cleanup.John MacFarlane1-2/+2
2013-08-11PDF: Add suggestion to use --latex-engine=xelatex on encoding error.John MacFarlane1-2/+8
2013-08-11Options: Changed `writerSourceDir` to `writerSourceURL` (now a Maybe).John MacFarlane1-3/+3
Previously we used to store the directory of the first input file, even if it was local, and used this as a base directory for finding images in ODT, EPUB, Docx, and PDF. This has been confusing to many users. It seems better to look for images relative to the current working directory, even if the first file argument is in another directory. writerSourceURL is set to 'Just url' when the first command-line argument is an absolute URL. (So, relative links will be resolved in relation to the first page.) Otherwise, 'Nothing'. The ODT, EPUB, Docx, and PDF writers have been modified accordingly. Note that this change may break some existing workflows. If you have been assuming that relative links will be interpreted relative to the directory of the first file argument, you'll need to make that the current directory before running pandoc. Closes #942.
2013-08-10Use walk, walkM in place of bottomUp, bottomUpM when possible.John MacFarlane1-2/+2
They are significantly faster.
2013-08-08Use pipeProcess in Text.Pandoc.PDF.John MacFarlane1-36/+3
2013-07-20PDF generation improvements.John MacFarlane1-5/+45
* `Text.Pandoc.PDF` exports `makePDF` instead of `tex2pdf`. (API change.) * `makePDF` walks the pandoc AST and checks for the existence of images in the local directory. If they are not found, it attempts to find them, either in the directory containing the first source file, or at an absolute URL, or at a URL relative to the base URL of the first command line argument. * Closes #917.
2013-07-18Text.Pandoc.PDF: put temporary output directory in TEXINPUTS.John MacFarlane1-4/+12
This will help later when we try to download external resources. We can put them in the temp directory. See #917.
2013-04-26PDF: On Windows, create temdir in working directory.John MacFarlane1-2/+10
Reason: the path to the system temp directory may contain tildes, which causes problems in LaTeX when the username is more than eight characters. Closes #777.
2012-03-19PDF: Run latex at least two times.John MacFarlane1-2/+2
This ensures that the PDFs will have hyperlinked bookmarks (PDF table of contents that can be displayed in the sidebar).
2012-02-19PDF: run latex 3 times if --toc specified.John MacFarlane1-1/+1
Closes #424.
2012-02-07PDF: Only run latex twice if \tableofcontents is present.John MacFarlane1-1/+4
Note: This will pick up on \tableofcontents even if it's in a verbatim environment. But the worst that can happen is that the document takes a bit longer to build.
2012-02-06Text.Pandoc.PDF: Simplified tex2pdf.John MacFarlane1-26/+16
We no longer try to parse the log file to determine whether latex needs to be rerun. Instead, we run latex twice -- which should be enough for table of contents and hyperrefs. Closes #402.