+ Removed `--man1`, `--man5` options (breaking change).
+ Removed `Text.Pandoc.ManPages` module (breaking API change).
+ Version bump to 1.15 because of the breaking changes, even
though they involve features that have only been in pandoc
for a day.
+ Makefile target for `man/man1/pandoc.1`. This uses pandoc to
create the man page from README using a custom template and filters.
+ Added `man/` directory with template and filters needed to build
man page.
+ We no longer have two man pages: pandoc.1 and pandoc_markdown.5.
Now there is just pandoc.1, which has all the content from README.
This change was needed because of the extensive cross-references
between parts of the README.
+ Removed old `data/pandoc.1.template` and
`data/pandoc_markdown.5.template`.
This change adds `--man1` and `--man5` options to pandoc, so
pandoc can generate its own man pages.
It removes the old overly complex method of building a separate
executable (but not installing it) just to create the man pages.
The man pages are no longer automatically created in the build
process.
The man/ directory has been removed. The man page templates
have been moved to data/.
New unexported module: Text.Pandoc.ManPages.
Text.Pandoc.Data now exports readmeFile, and `readDataFile`
knows how to find README.
Closes#2190.
Thanks to Xavier Olive.
The addition of the `CJKoptions` variable allows one to set (e.g.)
a bigger font size for Asian fonts than latin ones.
Including dvipsnames allows specifying colors like MidnightBlue
for link colors. This brings in a dependency on the color package,
but it is a standard package and required anyway by graphics.
This avoids an error "Please load package hyperref before bidi package,
and then try to run xelatex on your document again". See
jgm/pandoc-templates #96.
* Use polyglossia with xelatex in beamer (#85).
* Provide `\tightlist` in beamer template (Anders Persson).
* Add toccolor variable to control link color in toc (Kaixhin).
Instead, just use an a element with class `footnoteRef`.
This allows more styling options, and provides better results
in some readers (e.g. iBooks, where anything inside the a
tag breaks popup footnotes).
Closes#1995.
Works pretty much the same as Word writer.
Following styles are used for figures:
Figure -- for figure with empty caption
FigureWithCaption (based on Figure) -- for figure with caption
FigureCaption (based on Caption) -- for figure captions
Also, TableCaption (based on Caption) is used for table captions.
We need FigureWithCaption to set keepWithNext, in order to keep caption
with figure.
Figures with empty captions use style "Figure"
Figures with nonempty captions use style "Figure with Caption", which is
based on "Figure", and additionally has keepNext set.
Following styles are set as custom:
* Author
* Abstract
* Compact
* Image Caption
* Table Caption
* Definition Term
* Definition
* First Paragraph
Following styles are renamed to correspond with Word Normal.dotm
* Block Quote -> Block Text
* Link -> Hyperlink
* Footnote Ref -> Footnote Reference
Following styles added:
* Caption
Following styles' inheritance changed:
* Image Caption <- Caption
* Table Caption <- Caption
Word uses, by default, footnotes with id -1 and 0 for separators. If a
user modifies reference.docx, they will end up with a settings.xml file
that references these footnotes, but no such footnotes in the
document. This will produce a corruption error. Here we add these to the
document and settings.xml file, so future modifications won't break the file.
Since blockquote derives from BodyText, we just want to specify by
default that it won't indent, regardless of what BodyText does. Note
that this will not produce any visible difference in the default
configuration.
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.
Previously we just expected 'title', 'subtitle', 'author', 'date'.
Now we still support those, but also support the format recommended
for epub metadata in the pandoc README:
---
title:
- type: main
text: My Book
- type: subtitle
text: An investigation of metadata
creator:
- role: author
text: John Smith
- role: editor
text: Sarah Jones
identifier:
- scheme: DOI
text: doi:10.234234.234/33
publisher: My Press
rights: (c) 2007 John Smith, CC BY-NC
...
These can be set to get `\listoftables` and `\listoffigures`.
Closes#1407.
At this point we won't add a command line argument, because
this only affects one writer. But the variables can be set
at the command line with
-Vlof -Vlot
or in YAML metadata.
The use of `nodeValue` on `Attr` objects causes a deprecation warning in
Firefox since version 7. This patch causes calls to `value` instead of
`nodeValue` for all `Attr` objects.
This closes#362.
Otherwise Word ignores the style, even when specified in the pPr element.
I believe this should help with issue #901. You should now get
'FootnoteText' as the style of the footnote. You'll have to adjust
the style yourself; it's currently just the same as Normal.
Users of s5 and slideous will have to download the needed
files, as has been documented for some time in the README.
slidy files will be sought on the web, as before.
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.
Now the `title`, `section`, `header`, and `footer` can all be set
individually in metadata. The `description` variable has been
removed.
Quotes have been added so that spaces are allowed in the title.
If you have a title that begins
COMMAND(1) footer here | header here
pandoc will parse it as before into a title, section, header, and
footer. But you can also specify these elements explicitly.
Closes#885.
* Depend on pandoc 1.12.
* Added yaml dependency.
* `Text.Pandoc.XML`: Removed `stripTags`. (API change.)
* `Text.Pandoc.Shared`: Added `metaToJSON`.
This will be used in writers to create a JSON object for use
in the templates from the pandoc metadata.
* Revised readers and writers to use the new Meta type.
* `Text.Pandoc.Options`: Added `Ext_yaml_title_block`.
* Markdown reader: Added support for YAML metadata block.
Note that it must come at the beginning of the document.
* `Text.Pandoc.Parsing.ParserState`: Replace `stateTitle`,
`stateAuthors`, `stateDate` with `stateMeta`.
* RST reader: Improved metadata.
Treat initial field list as metadata when standalone specified.
Previously ALL fields "title", "author", "date" in field lists
were treated as metadata, even if not at the beginning.
Use `subtitle` metadata field for subtitle.
* `Text.Pandoc.Templates`: Export `renderTemplate'` that takes a string
instead of a compiled template..
* OPML template: Use 'for' loop for authors.
* Org template: '#+TITLE:' is inserted before the title.
Previously the writer did this.
pandoc -t data/sample.lua
will load the script sample.lua and use it as a custom writer.
data/sample.lua is provided as an example.
Added `--print-custom-lua-writer` option to print the sample
script.
Support unordered and ordered lists with "fragment" elements.
Modified by JGM to remove the --reveal_js-url command-line option.
Instead use -V reveal_js-url=... as with slidy and the other slide
formats. Also cleaned up the list code in the HTML writer.
The template redefines `\includegraphics` to give special treatment
for too-wide images. But this causes problems for literal uses
of `\includegraphics`. This change allows authors to use
`\Oldincludegraphics`, as in the latex template.
* The TOC is included in `<spine>`, but `linear` is set
to `no` unless the `--toc` option is specified.
* Include `<guide>` element in OPF.
* This should allow the TOC to be useable in Kindles when
converted with kindlegen.
* Results validate with epubcheck 3.0 for both epub and epub3
output.
* Closes#773.
FootnoteReference -> FootnoteRef.
Hyperlink -> Link.
Why? Because the old names got changed by Word when the
reference.docx was edited. I don't understand why, but this
fixes things.
Closes#414.
* RTF writer: Export writeRTFWithEmbeddedImages instead of
rtfEmbedImage.
* Text.Pandoc: Use writeRTFWithEmbeddedImages for RTF.
* Moved code for embedding images in RTF out of pandoc.hs.
The previous default was to use `<q>` tags in HTML5.
But `<q>` tags are also valid HTML4, and they are not very
robust in HTML5. Some user agents don't support them,
and some CSS resets prevent pandoc's quotes CSS from working
properly (e.g. bootstrap). It seems a better default just
to insert quote characters, but the option is provided for
those who have gotten used to using `<q>` tags.
This seems to help LibreOffice convert the file, even though
it was valid docx before.
Note that the references in notes must be in
word/_rels/footnotes.xml.rel. We handle this now by simply
making that file contain all the references in
word/_rels/document.xml.rel. Something better could be done
eventually, but this works.
Closes#637.
* Added data/MathMLinHTML.js, which is included when no URL is provided
for --mathml. This allows MathML to be displayed in better browsers,
as text/html.
* The module was no longer necessary; its functionality (two lines)
was incorporated into pandoc.hs.
* Consolidated the two LaTeXMathML.js files into one.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1909 788f1e2b-df1e-0410-8736-df70ead52e1b
This allows the user to customized the styles used in pandoc-generated
ODTs. The user may also put a default reference.odt in the ~/.pandoc
directory.
We have removed the old data/odt directory and replaced it with a
reference.odt.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1760 788f1e2b-df1e-0410-8736-df70ead52e1b
So if the user has an odt-styles directory in ~/.pandoc, it
will be used instead of the default.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1694 788f1e2b-df1e-0410-8736-df70ead52e1b
Added style for Horizontal_20_Rule to odt-styles/styles.xml.
Add support for horizontal rules in OpenDocument writer.
Resolves Issue #95.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1479 788f1e2b-df1e-0410-8736-df70ead52e1b
Resolves Issue #47.
+ Added a DisplayMath/InlineMath selector to Math inlines.
+ Markdown parser yields DisplayMath for $$...$$.
+ LaTeX parser yields DisplayMath when appropriate. Removed
mathBlock parsers, since the same effect is achieved by the math
inline parsers, now that they handle display math.
+ Writers handle DisplayMath as appropriate for the format.
+ Changed -m option to use LaTeXMathML rather than ASCIIMathML.
LaTeXMathML is closer to LaTeX in its display of math, and
supports many non-math LaTeX environments.
+ Modified HTML writer to print raw TeX when LaTeXMathML is
being used instead of suppressing it.
+ Removed ASCIIMathML files from data/ and added LaTeXMathML.
+ Replaced ASCIIMathML with LaTeXMathML in source files.
+ Modified README and pandoc man page source.
+ Modified web page.
+ Added --latexmathml option (kept --asciimathml as a synonym
for backwards compatibility)
+ Modified tests accordingly; added new tests for display math.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1409 788f1e2b-df1e-0410-8736-df70ead52e1b
+ Text/Pandoc/ASCIIMathML.hs, Text/Pandoc/DefaultHeaders.hs,
and Text/Pandoc/Writers/S5.hs are no longer built in Setup.hs
from templates in the templates/ directory.
+ Instead, they use template haskell to read data at compile
time from the relevant files in data/.
+ Setup.hs is back to the default simple configuration.
+ Removed old templates and Extra-Tmp-Files field from
pandoc.cabal.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1357 788f1e2b-df1e-0410-8736-df70ead52e1b
+ 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