Commit graph

166 commits

Author SHA1 Message Date
fiddlosopher
da117c9d68 LaTeX writer: support figures with captions.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1892 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-16 04:06:33 +00:00
fiddlosopher
3b9be92492 Use template variables for include-before/after.
* These options now imply -s; previously they worked also
  in fragment mode.
* Users can now adjust position of include-before and
  include-after text in the templates.
* Default position of include-before moved back (as it
  originally was) before table of contents.
* Resolves Issue #217.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1883 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-13 04:11:24 +00:00
fiddlosopher
66d2fe3dd2 HTML, LaTeX writer: Don't print header row in headerless table.
Resolves Issue #210.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1856 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-01 02:28:03 +00:00
fiddlosopher
70a7d7b214 LaTeX writer: set numbersections template variable.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1824 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-31 01:07:58 +00:00
fiddlosopher
e1e9bfc004 LaTeX writer: Removed stLink, link template variable.
Reason: we now always include hyperref in the template.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1796 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-05 08:36:02 +00:00
fiddlosopher
e91cb556d2 LaTeX writer: if book, report, or memoir documentclass, use \chapter{}
for first-level headers. Otherwise use \section{}.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1793 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-03 08:47:54 +00:00
fiddlosopher
bdd448ea2c LaTeX writer: Only require listings package if needed.
That is, if literate Haskell code is used.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1759 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 21:18:36 +00:00
fiddlosopher
ca2bbafbb9 Removed redundant imports (found by ghc 6.12).
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1750 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 16:48:36 +00:00
fiddlosopher
ade6d8a3fe Modified latex template to include bare minimum of packages.
Packages will be included only if they are needed, given what
is in the document.  So if you never use strikeout, you don't
need to install the ulem package.

Also moved amsmath to the top of the package list, made
\maketitle conditional on a title being present, and
adjusted spacing.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1738 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:18:14 +00:00
fiddlosopher
2a9ac1e65a Context and latex writers - parse title, author, date before body.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1729 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:16:55 +00:00
fiddlosopher
dd210437f6 Use $for$ for multiple authors in context, latex, markdown.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1723 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:16:00 +00:00
fiddlosopher
1f580fb701 Restored writerIncludeBefore, writerIncludeAfter.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1700 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:12:59 +00:00
fiddlosopher
3ec8772daf Changed Meta author and date types to Inline lists instead of Strings.
Meta [Inline] [[Inline]] [Inline] rather than
Meta [Inline] [String] String.

This is a breaking change for libraries that use pandoc and
manipulate the metadata.

Changed .native files in test suite for new Meta format.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1699 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:12:44 +00:00
fiddlosopher
4806628c8d Added 'standalone' variable, use in templates.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1697 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:12:14 +00:00
fiddlosopher
9f126c15cf Removed unneeded writer options; use template variables instead.
Removed writerIncludeAfter, writerIncludeBefore, writerTitlePrefix,
writerHeader.  Removed corresponding fields of Options structure
in pandoc.hs.  The options now set template variables (writerVariables)
instead.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1684 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:10:17 +00:00
fiddlosopher
e037d6ace3 Made writerVariables active in LaTeX writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1681 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:09:50 +00:00
fiddlosopher
2033da8e47 Revised LaTeX writer to use templates.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1675 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:08:56 +00:00
fiddlosopher
5082b5411b Improved syntax for markdown definition lists.
Definition lists are now more compatible with PHP Markdown Extra.
Resolves Issue #24.

+ You can have multiple definitions for a term (but still not
  multiple terms).
+ Multi-block definitions no longer need a
  column before each block (indeed, this will now cause
  multiple definitions).
+ The marker no longer needs to be flush with the left margin,
  but can be indented at or two spaces.  Also, ~ as well as :
  can be used as the marker (this suggestion due to David
  Wheeler.)
+ There can now be a blank line between the term and
  the definitions.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1656 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-07 08:26:53 +00:00
fiddlosopher
da6291d930 Fixed handling of footnotes in titles (HTML) and headers (LaTeX).
Resolves Issues #137.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1648 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-05 07:28:50 +00:00
fiddlosopher
98ff6b2fd0 Better looking simple tables. Resolves Issue #180.
* Markdown reader: simple tables are now given column widths of 0.

* Column width of 0 is interpreted as meaning: use default column width.

* Writers now include explicit column width information only
  for multiline tables.  (Exception:  RTF writer, which requires
  column widths.  In this case, columns are given equal widths,
  adding up to the text width.)

* Simple tables should now look better in most output formats.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1631 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-11-28 03:22:33 +00:00
fiddlosopher
fce48c392a Specially mark code blocks that were "literate" in the input.
They can then be treated differently in the writers.  This allows
authors to distinguish bits of the literate program they are writing
from source code examples, even if the examples are marked as
Haskell for highlighting.

Resolves Issue #174.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1618 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-11-03 06:50:17 +00:00
fiddlosopher
42aca57dee Moved all haskell source to src subdirectory.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1528 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-01-24 20:00:26 +00:00
fiddlosopher
9a67a486c2 Moved everything from src into the top-level directory.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1104 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-29 02:02:34 +00:00
fiddlosopher
09b57fcf9c Adjusted formatting of LaTeX and ConTeXt footnotes:
- in ConTeXt, % is not needed at end of line before note, since
  space is gobbled.
- beginning of footnote indented four spaces.
- this required an additional parameter in wrappedTeX and
  wrapTeXIfNeeded, in Text.Pandoc.Shared.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1080 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-17 18:42:11 +00:00
fiddlosopher
851c04dfcd Improved footnote handling in LaTeX writer:
+ use wrapTeXIfNeeded instead of wrapIfNeeded
+ make sure footnotes occur on lines by themselves, with a % at the
  end of the preceding line to prevent unwanted spaces
+ added writer options to state, so it can be accessed by wrapTeXIfNeeded 


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1071 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:11:33 +00:00
fiddlosopher
fe684764e6 Reverted back to state as of r1062. The template haskell changes
are more trouble than they're worth.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1064 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-03 23:27:58 +00:00
fiddlosopher
4a841bfc54 Use template haskell to avoid the need for templates:
+ Added library Text.Pandoc.Include, with a template haskell
  function $(includeStrFrom fname) to include a file as a string
  constant at compile time.
+ This removes the need for the 'templates' directory or Makefile
  target.  These have been removed.
+ The base source directory has been changed from src to .
+ A new 'data' directory has been added, containing the ASCIIMathML.js
  script, writer headers, and S5 files.
+ The src/wrappers directory has been moved to 'wrappers'.
+ The Text.Pandoc.ASCIIMathML library is no longer needed, since
  Text.Pandoc.Writers.HTML can use includeStrFrom to include the
  ASCIIMathML.js code directly.  It has been removed.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1063 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-03 22:14:03 +00:00
fiddlosopher
40fa01765b Cleaned up LaTeX footnotes:
+ Footnotes start on a separate line.  A comment % is used
  at the end of the previous line to prevent unwanted spaces.
  This makes footnotes easier to see, delete, and move around.
+ The final } now only appears on a separate line if it needs to
  (i.e. if the note ends with a Verbatim environment).


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1061 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-01 17:32:59 +00:00
fiddlosopher
1827ab40c3 Rewrote LaTeX writer to use the prettyprinting library,
so we get word wrapping, etc.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@964 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-30 22:48:34 +00:00
fiddlosopher
902d6c7115 Fixed bug in LaTeX writer: autolinks would not cause
'\usepackage{url}' to be put in the document header.
Also, changes to state in enumerated list items would be
overwritten.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@947 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-29 00:03:45 +00:00
fiddlosopher
f609755cb6 Fixed bug in LaTeX writer. When a footnote ends with a Verbatim
environment, the close } of the footnote needs to occur on the same
line or an error occurs.  Fixed by adding a newline before the close }
in every footnote.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@897 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-25 18:17:01 +00:00
fiddlosopher
a8e2199034 Major code cleanup in all modules. (Removed unneeded imports,
reformatted, etc.)  More major changes are documented below:

+ Removed Text.Pandoc.ParserCombinators and moved all its definitions
  to Text.Pandoc.Shared.
+ In Text.Pandoc.Shared:
  - Removed unneeded 'try' in blanklines.
  - Removed endsWith function and rewrote functions to use isSuffixOf instead.
  - Added >>~ combinator.
  - Rewrote stripTrailingNewlines, removeLeadingSpaces.
+ Moved Text.Pandoc.Entities -> Text.Pandoc.CharacterReferences.
  - Removed unneeded functions charToEntity, charToNumericalEntity.
  - Renamed functions using proper terminology (character references,
    not entities).  decodeEntities -> decodeCharacterReferences,
    characterEntity -> characterReference.
  - Moved escapeStringToXML to Docbook writer, which is the only thing
    that uses it.
  - Removed old entity parser in HTML and Markdown readers; replaced with
    new charRef parser in Text.Pandoc.Shared.
+ Fixed accent bug in Text.Pandoc.Readers.LaTeX:  \^{} now correctly
  parses as a '^' character.
+ Text.Pandoc.ASCIIMathML is no longer an exported module.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@835 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-15 06:00:58 +00:00
fiddlosopher
e814a3f6d2 Major change in the way ordered lists are handled:
+ The changes are documented in README, under Lists.
+ The OrderedList block element now stores information
  about list number style, list number delimiter, and
  starting number.
+ The readers parse this information, when possible.
+ The writers use this information to style ordered
  lists.
+ Test suites have been changed accordingly.

Motivation:  It's often useful to start lists with
numbers other than 1, and to have control over the
style of the list.

Added to Text.Pandoc.Shared:
+ camelCaseToHyphenated
+ toRomanNumeral
+ anyOrderedListMarker
+ orderedListMarker
+ orderedListMarkers

Added to Text.Pandoc.ParserCombinators:
+ charsInBalanced'
+ withHorizDisplacement
+ romanNumeral

RST writer:
+ Force blank line before lists, so that sublists will be handled
  correctly.

LaTeX reader:
+ Fixed bug in parsing of footnotes containing multiple paragraphs,
  introduced by use of charsInBalanced.  Fix: use charsInBalanced'
  instead.

LaTeX header:
+ use mathletters option in ucs package, so that basic unicode Greek
  letters will work properly.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@834 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-08 02:43:15 +00:00
fiddlosopher
271c3f987e Use \url{} for autolinks in LaTeX writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@832 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-03 22:14:32 +00:00
fiddlosopher
1be1f77569 LaTeX writer:
+ No longer using examplep (too many quirks, too hard to install)
+ Instead, using deVerb function for environments that don't support
  \verb
+ And fancyvrb for footnotes and verbatim environments in footnotes.
+ Add fancyvrb to header if Code inline occurs in a footnote.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@825 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 18:14:40 +00:00
fiddlosopher
94ed30cf15 LaTeX writer: include fancyvrb and \VerbatimFootnotes
line in header only if absolutely needed -- that is, only
if there is actually a code block in a footnote.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@815 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 03:58:09 +00:00
fiddlosopher
9939b0f07e Make URLs and emails in autolinks appear as Code.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@810 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 02:12:40 +00:00
fiddlosopher
d488dd0f66 Reinstated dependence on fancyvrb. It is compatible with examplep.
fancyvrb is needed for verbatim environments in footnotes.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@808 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 01:40:48 +00:00
fiddlosopher
b29f221cba Changed LaTeX writer to use the examplep package instead
of fancyvrb. examplep allows verbatim text in places where
fancyvrb does not, e.g. definition list terms, and provides
for line-breaking of verbatim text.
+ examplep code put in LaTeX header instead of being dynamically
  included, since it is frequently used, and people may want to
  customize the options.
+ documented dependency on examplep
+ added texlive-latex-extra as a "Suggested" package in debian/control
+ use examplep's \Q{} is now used instead of \verb:  note that 
  \Q requires backslash- escaping symbols in its scope.
+ modified README so that the verbatim sections will look good at
  shorter line lengths.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@807 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 01:10:04 +00:00
fiddlosopher
4283ce3662 Use ` as default character for \verb in LaTeX output.
If ` is in the content to be escaped, another symbol
will be used as before.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@806 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-27 22:52:11 +00:00
fiddlosopher
1f9d2f8fe7 Include empty \author{} in LaTeX preamble if no
author specified; otherwise LaTeX gives an error.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@803 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-26 03:49:21 +00:00
fiddlosopher
453dc53457 Fixes in LaTeX writer:
+ put \VerbatimFootnotes right before \title block, to avoid
  bad interactions.
+ added deVerb in description list.
+ removed \texttt{} from deVerb, because it cannot go in description
  lists.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@802 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-26 03:15:35 +00:00
fiddlosopher
e7a49d7c12 LaTeX writer: Make sure \VerbatimFootnotes goes after the
preamble; otherwise it has bad interaction effects
with the other stuff in the header.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@791 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-23 23:14:26 +00:00
fiddlosopher
b8e1e53053 Cleaned up character escaping in LaTeX writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@763 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-22 18:24:34 +00:00
fiddlosopher
6bb6dd2bfd + Added support for superscript, subscript, and
strikeout to all writers. (Thanks to Bradley Kuhn
  for the patches for strikeout, here slightly modified.)
+ Refactored character escaping using the new functions
  escapeStringUsing and backslashEscapes.
+ Added state to LaTeX writer, which now keeps track of what
  packages need to be included in the preamble, based on the
  content of the document. (Thus, e.g., ulem is only required
  if you use strikeout.)


git-svn-id: https://pandoc.googlecode.com/svn/trunk@755 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-22 16:05:38 +00:00
fiddlosopher
78aeebc143 Removed an unused function in LaTeX writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@714 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-15 02:48:21 +00:00
fiddlosopher
8ce4b2fb62 Simplified special character escaping code in LaTeX writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@705 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-14 17:59:06 +00:00
fiddlosopher
ab74f97422 Small comment fix in LaTeX writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@704 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-14 17:28:26 +00:00
fiddlosopher
e58a55eb41 LaTeX writer:
+ Leave extra blank line after \maketitle
+ Insert \tableofcontents if --toc option was selected

Test suite:
+ extra blank line after \maketitle in writer.latex


git-svn-id: https://pandoc.googlecode.com/svn/trunk@649 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-08 03:48:07 +00:00
fiddlosopher
a414ec9d63 Adjusted copyright notices to 2006-7; use
real email address instead of lamely attempting
to obfuscate.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@640 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-07 22:51:55 +00:00