Movatterモバイル変換


[0]ホーム

URL:


Hackage :: [Package]

pandoc:Conversion between markup formats

[gpl,library,text ] [Propose Tags ] [Report a vulnerability ]

Pandoc is a Haskell library for converting from one markupformat to another, and a command-line tool that usesthis library. It can read markdown and (subsets of)reStructuredText, HTML, and LaTeX, and it can writemarkdown, reStructuredText, HTML, LaTeX, ConTeXt, Docbook,RTF, groff man pages, and S5 HTML slide shows.

Pandoc extends standard markdown syntax with footnotes,embedded LaTeX, definition lists, tables, and otherfeatures. A compatibility mode is provided for thosewho need a drop-in replacement for Markdown.pl.

In contrast to existing tools for converting markdownto HTML, which use regex substitutions, pandoc hasa modular design: it consists of a set of readers,which parse text in a given format and produce a nativerepresentation of the document, and a set of writers,which convert this native representation into a targetformat. Thus, adding an input or output format requiresonly adding a reader or writer.


[Skip to Readme]

Modules

[Index]

Flags

Automatic Flags
NameDescriptionDefault
splitbase

Choose the new, smaller, split-up base package.

Enabled

Use-f <flag> to enable a flag, or-f -<flag> to disable that flag.More info

Downloads

Note: This package hasmetadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions[RSS]0.4,0.41,0.42,0.43,0.44,0.45,0.46,1.0,1.0.0.1,1.1,1.2,1.2.1,1.3,1.4,1.5,1.5.0.1,1.5.1,1.5.1.1,1.6,1.6.0.1,1.8,1.8.0.1,1.8.0.2,1.8.0.3,1.8.1,1.8.1.1,1.8.1.2,1.8.2,1.8.2.1,1.9,1.9.0.2,1.9.0.3,1.9.0.4,1.9.0.5,1.9.1,1.9.1.1,1.9.1.2,1.9.2,1.9.3,1.9.4,1.9.4.1,1.9.4.2,1.9.4.3,1.9.4.4,1.9.4.5,1.10,1.10.0.1,1.10.0.2,1.10.0.3,1.10.0.4,1.10.0.5,1.10.1,1.11,1.11.1,1.12,1.12.0.1,1.12.0.2,1.12.1,1.12.2,1.12.2.1,1.12.3,1.12.3.1,1.12.3.2,1.12.3.3,1.12.4,1.12.4.2,1.13,1.13.0.1,1.13.1,1.13.2,1.13.2.1,1.14,1.14.0.1,1.14.0.2,1.14.0.3,1.14.0.4,1.14.1,1.15,1.15.0.1,1.15.0.2,1.15.0.3,1.15.0.4,1.15.0.5,1.15.0.6,1.15.1,1.15.1.1,1.15.2,1.15.2.1,1.16,1.16.0.1,1.16.0.2,1.17,1.17.0.1,1.17.0.2,1.17.0.3,1.17.1,1.17.2,1.18,1.19,1.19.1,1.19.2,1.19.2.1,1.19.2.2,1.19.2.3,1.19.2.4,2.0,2.0.0.1,2.0.1,2.0.1.1,2.0.2,2.0.3,2.0.4,2.0.5,2.0.6,2.1,2.1.1,2.1.2,2.1.3,2.2,2.2.1,2.2.2,2.2.2.1,2.2.3,2.2.3.1,2.2.3.2,2.3,2.3.1,2.4,2.5,2.6,2.7,2.7.1,2.7.2,2.7.3,2.8,2.8.0.1,2.8.1,2.9,2.9.1,2.9.1.1,2.9.2,2.9.2.1,2.10,2.10.1,2.11,2.11.0.1,2.11.0.2,2.11.0.3,2.11.0.4,2.11.1,2.11.1.1,2.11.2,2.11.3,2.11.3.1,2.11.3.2,2.11.4,2.12,2.13,2.14,2.14.0.1,2.14.0.2,2.14.0.3,2.14.1,2.14.2,2.15,2.16,2.16.1,2.16.2,2.17,2.17.0.1,2.17.1,2.17.1.1,2.18,2.19,2.19.1,2.19.2,3.0,3.0.1,3.1,3.1.1,3.1.2,3.1.3,3.1.4,3.1.5,3.1.6,3.1.6.1,3.1.6.2,3.1.7,3.1.8,3.1.9,3.1.10,3.1.11,3.1.11.1,3.1.12,3.1.12.1,3.1.12.2,3.1.12.3,3.1.13,3.2,3.2.1,3.3,3.4,3.5,3.6,3.6.1,3.6.2,3.6.3,3.6.4 (info)
Change logchangelog
Dependenciesbase (<4.8),containers,mtl,network (<2.6),parsec,pretty,regex-compat,xhtml [details]
Tested with ghc >=0
LicenseLicenseRef-GPL
Copyright(c) 2006-2008 John MacFarlane
AuthorJohn MacFarlane <jgm@berkeley.edu>
MaintainerJohn MacFarlane <jgm@berkeley.edu>
RevisedRevision 2 made byAdamBergmark at2015-11-10T18:03:12Z
CategoryText
Home pagehttp://johnmacfarlane.net/pandoc
UploadedbyJohnMacFarlane at2008-01-08T18:06:54Z
DistributionsArch:3.1.12.1, Debian:2.9.2.1, Fedora:3.1.3, FreeBSD:1.15.0.6, LTSHaskell:3.6, NixOS:3.1.11.1, Stackage:3.6.4, openSUSE:3.6.4
Reverse Dependencies92 direct, 77 indirect [details]
Executablespandoc
Downloads361685 total (969 in the last 30 days)
Rating3.0 (votes: 24)[estimated byBayesian average]
Your Rating
  • λ
  • λ
  • λ
StatusDocs uploaded by user
Build status unknown[no reports yet]

Readme for pandoc-0.46

[back to package description]
% Pandoc User's Guide% John MacFarlane% January 8, 2008Pandoc is a [Haskell] library for converting from one markup format toanother, and a command-line tool that uses this library. It can read[markdown] and (subsets of) [reStructuredText], [HTML], and [LaTeX], andit can write [markdown], [reStructuredText], [HTML], [LaTeX], [ConTeXt],[RTF], [DocBook XML], [groff man] pages, and [S5] HTML slide shows.Pandoc's version of markdown contains some enhancements, like footnotesand embedded LaTeX.In contrast to existing tools for converting markdown to HTML, whichuse regex substitutions, Pandoc has a modular design: it consists of aset of readers, which parse text in a given format and produce a nativerepresentation of the document, and a set of writers, which convertthis native representation into a target format. Thus, adding an inputor output format requires only adding a reader or writer.[markdown]: http://daringfireball.net/projects/markdown/[reStructuredText]: http://docutils.sourceforge.net/docs/ref/rst/introduction.html[S5]: http://meyerweb.com/eric/tools/s5/[HTML]:  http://www.w3.org/TR/html40/[LaTeX]: http://www.latex-project.org/[ConTeXt]: http://www.pragma-ade.nl/ [RTF]:  http://en.wikipedia.org/wiki/Rich_Text_Format[DocBook XML]:  http://www.docbook.org/[groff man]: http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man7/groff_man.7.html[Haskell]:  http://www.haskell.org/© 2006-7 John MacFarlane (jgm at berkeley dot edu). Released under the[GPL], version 2 or greater.  This software carries no warranty ofany kind.  (See COPYRIGHT for full copyright and warranty notices.)Recai Oktaş (roktas at debian dot org) deserves credit for the buildsystem, the debian package, and the robust wrapper scripts.[GPL]: http://www.gnu.org/copyleft/gpl.html "GNU General Public License"Requirements============The `pandoc` program itself does not depend on any external librariesor programs.The wrapper script `html2markdown` requires  - `pandoc` (which must be in the PATH)  - a POSIX-compliant shell (installed by default on all linux and unix    systems, including Mac OS X, and in [Cygwin] for Windows),  - `HTML Tidy`  - `iconv` (for character encoding conversion).  (If `iconv` is absent,    `html2markdown` will still work, but it will treat everything as UTF-8.)The wrapper script `markdown2pdf` requires  - `pandoc` (which must be in the PATH)  - a POSIX-compliant shell  - `pdflatex`, which should be part of any [LaTeX] distribution  - the following LaTeX packages (available from [CTAN], if they    are not already included in your LaTeX distribution):    + `unicode`    + `fancyhdr` (if you have verbatim text in footnotes)    + `graphicx` (if you use images)    + `array` (if you use tables)    + `ulem` (if you use strikeout text)The wrapper script `hsmarkdown` requires only a POSIX-compliant shell.[Cygwin]:  http://www.cygwin.com/ [HTML Tidy]:  http://tidy.sourceforge.net/[`iconv`]: http://www.gnu.org/software/libiconv/[CTAN]: http://www.ctan.org "Comprehensive TeX Archive Network"Using Pandoc============If you run `pandoc` without arguments, it will accept input fromSTDIN.  If you run it with file names as arguments, it will take inputfrom those files.  By default, `pandoc` writes its output to STDOUT.If you want to write to a file, use the `-o` option:    pandoc -o hello.html hello.txtNote that you can specify multiple input files on the command line.`pandoc` will concatenate them all (with blank lines between them)before parsing:pandoc -s ch1.txt ch2.txt refs.txt > book.html(The `-s` option here tells `pandoc` to produce a standalone HTML file,with a proper header, rather than a fragment.  For more details on thisand many other command-line options, see below.)The format of the input and output can be specified explicitly usingcommand-line options.  The input format can be specified using the`-r/--read` or `-f/--from` options, the output format using the`-w/--write` or `-t/--to` options.  Thus, to convert `hello.txt` frommarkdown to LaTeX, you could type:pandoc -f markdown -t latex hello.txtTo convert `hello.html` from html to markdown:pandoc -f html -t markdown hello.htmlSupported output formats include `markdown`, `latex`, `context`(ConTeXt), `html`, `rtf` (rich text format), `rst` (reStructuredText),`docbook` (DocBook XML), `man` (groff man), and `s5` (which produces anHTML file that acts like powerpoint). Supported input formats include`markdown`, `html`, `latex`, and `rst`. Note that the `rst` reader onlyparses a subset of reStructuredText syntax. For example, it doesn'thandle tables, option lists, or footnotes. But for simple documents itshould be adequate. The `latex` and `html` readers are also limited inwhat they can do. Because the `html` reader is picky about the HTML itparses, it is recommended that you pipe HTML through [HTML Tidy] beforesending it to `pandoc`, or use the `html2markdown` script describedbelow.If you don't specify a reader or writer explicitly, `pandoc` willtry to determine the input and output format from the extensions ofthe input and output filenames.  Thus, for example, pandoc -o hello.tex hello.txtwill convert `hello.txt` from markdown to LaTeX.  If no output fileis specified (so that output goes to STDOUT), or if the output file'sextension is unknown, the output format will default to HTML.If no input file is specified (so that input comes from STDIN), orif the input files' extensions are unknown, the input format willbe assumed to be markdown unless explicitly specified.Character encodings-------------------All input is assumed to be in the UTF-8 encoding, and all outputis in UTF-8. If your local character encoding is not UTF-8 and you useaccented or foreign characters, you should pipe the input and outputthrough [`iconv`]. For example,iconv -t utf-8 source.txt | pandoc | iconv -f utf-8 > output.htmlwill convert `source.txt` from the local encoding to UTF-8, thenconvert it to HTML, then convert back to the local encoding,putting the output in `output.html`.The shell scripts (described below) automatically convert the input from the local encoding to UTF-8 before running them through `pandoc`,then convert the output back to the local encoding.Shell scripts=============Three shell scripts, `markdown2pdf`, `html2markdown`, and `hsmarkdown`,are included in the standard Pandoc installation.  (They are not includedin the Windows binary package, as they require a POSIX shell, but theymay be used in Windows under Cygwin.)1.  `markdown2pdf` produces a PDF file from markdown-formatted    text, using `pandoc` and `pdflatex`.  The default    behavior of `markdown2pdf` is to create a file with the same    base name as the first argument and the extension `pdf`; thus,    for example,    markdown2pdf sample.txt endnotes.txt    will produce `sample.pdf`.  (If `sample.pdf` exists already,    it will be backed up before being overwritten.)  An output file    name can be specified explicitly using the `-o` option:    markdown2pdf -o book.pdf chap1 chap2    If no input file is specified, input will be taken from STDIN.    All of `pandoc`'s options will work with `markdown2pdf` as well.2.  `html2markdown` grabs a web page from a file or URL and converts    it to markdown-formatted text, using `tidy` and `pandoc`.    All of `pandoc`'s options will work with `html2markdown` as well.    In addition, the following special options may be used.    The special options must be separated from the `html2markdown`    command and any regular Pandoc options by the delimiter `--`:        html2markdown -o out.txt -- -e latin1 -g curl google.com     The `-e` or `--encoding` option specifies the character encoding    of the HTML input.  If this option is not specified, and input    is not from STDIN, `html2markdown` will attempt to determine the    page's character encoding from the "Content-type" meta tag.    If this is not present, UTF-8 is assumed.    The `-g` or `--grabber` option specifies the command to be used to    fetch the contents of a URL:        html2markdown -g 'curl --user foo:bar' www.mysite.com    If this option is not specified, `html2markdown` searches for an    available program (`wget`, `curl`, or a text-mode browser) to fetch    the contents of a URL.3.  `hsmarkdown` is designed to be used as a drop-in replacement for    `Markdown.pl`.  It forces `pandoc` to convert from markdown to    HTML, and to use the `--strict` flag for maximal compliance with    official markdown syntax.  (All of Pandoc's syntax extensions and    variants, described below, are disabled.)  No other command-line    options are allowed.  (In fact, options will be interpreted as    filenames.)    As an alternative to using the `hsmarkdown` shell script, the    user may create a symbolic link to `pandoc` called `hsmarkdown`.    When invoked under the name `hsmarkdown`, `pandoc` will behave    as if the `--strict` flag had been selected, and no command-line    options will be recognized.  However, this approach does not work    under Cygwin, due to problems with its simulation of symbolic    links.Command-line options====================Various command-line options can be used to customize the output.For further documentation, see the `pandoc(1)` man page.`-f`, `--from`, `-r`, or `--read` *format*:   specifies the input format (the format Pandoc will be converting    *from*). *format* can be `native`, `markdown`, `rst`, `html`, or    `latex`.`-t`, `--to`, `-w`, or `--write` *format*:   specifies the output format -- the format Pandoc will    be converting *to*. *format* can be `native`, `html`, `s5`,    `docbook`, `latex`, `context`, `markdown`, `man`, `rst`, and `rtf`.`-s` or `--standalone`:   indicates that a standalone document is to be produced (with    appropriate headers and footers), rather than a fragment.`-o` or `--output` *filename*:   sends output to *filename*. If this option is not specified,    or if its argument is `-`, output will be sent to STDOUT.`-p` or `--preserve-tabs`:   causes tabs in the source text to be preserved, rather than converted    to spaces (the default).`--tabstop` *tabstop*:   sets the number of spaces per tab to *tabstop* (defaults to 4).`--strict`:   specifies that strict markdown syntax is to be used, without    pandoc's usual extensions and variants (described below).  When the    input format is HTML, this means that constructs that have no    equivalents in standard markdown (e.g. definition lists or strikeout    text) will be parsed as raw HTML.`--reference-links`:   causes reference-style links to be used in markdown     and reStructuredText output.  By default inline links are used.`-R` or `--parse-raw`:   causes the HTML and LaTeX readers to parse HTML codes and LaTeX    environments that it can't translate as raw HTML or LaTeX. Raw HTML can    be printed in markdown, reStructuredText, HTML, and S5 output; raw LaTeX    can be printed in markdown, reStructuredText, LaTeX, and ConTeXt output.    The default is for the readers to omit untranslatable HTML codes and    LaTeX environments. (The LaTeX reader does pass through untranslatable    LaTeX *commands*, even if `-R` is not specified.)`-C` or `--custom-header` *filename*:   can be used to specify a custom document header. To see the headers    used by default, use the `-D` option: for example, `pandoc -D html`    prints the default HTML header.`--toc` or `--table-of-contents`:   includes an automatically generated table of contents (or, in the    case of `latex`, `context`, and `rst`, an instruction to create    one) in the output document. This option has no effect with `man`,    `docbook`, or `s5` output formats.`-c` or `--css` *filename*:   allows the user to specify a custom stylesheet that will be linked to    in HTML and S5 output.`-H` or `--include-in-header` *filename*:   includes the contents of *filename* (verbatim) at the end of the    document header. This can be used, for example, to include special    CSS or javascript in HTML documents.`-B` or `--include-before-body` *filename*:   includes the contents of *filename* (verbatim) at the beginning of    the document body (e.g. after the `<body>` tag in HTML, or the    `\begin{document}` command in LaTeX). This can be used to include    navigation bars or banners in HTML documents.`-A` or `--include-after-body` *filename*:   includes the contents of *filename* (verbatim) at the end of    the document body (before the `</body>` tag in HTML, or the    `\end{document}` command in LaTeX).`-T` or `--title-prefix` *string*:   includes *string* as a prefix at the beginning of the title that    appears in the HTML header (but not in the title as it appears at    the beginning of the HTML body). (See below on    [Title Blocks](#title-blocks).)`-S` or `--smart`:   causes `pandoc` to produce typographically correct output, along the    lines of John Gruber's [Smartypants]. Straight quotes are converted    to curly quotes, `---` to dashes, and `...` to ellipses. (Note: This    option is only significant when the input format is `markdown`.    It is selected automatically when the output format is `latex` or    `context`.)`-m`*[url]* or `--asciimathml`*[=url]*:   causes `pandoc` to use Peter Jipsen's [ASCIIMathML] script to display    TeX math in HTML or S5. If a local copy of `ASCIIMathML.js` is    available on the webserver where the page will be viewed, provide a    *url* and a link will be inserted in the generated HTML or S5. If    no *url* is provided, the contents of the script will be inserted    directly; this provides portability at the price of efficiency. If    you plan to use math on several pages, it is much better to link to    a copy of `ASCIIMathML.js`, which can be cached.  (See `--gladtex`    and `--mimetex` for alternative ways of dealing with math in HTML.)`--gladtex`*[=url]*:   causes TeX formulas to be enclosed in `<eq>` tags in HTML or S5 output.    This output can then be processed by [gladTeX] to produce links to    images with the typeset formulas.  (See `--asciimathml` and    `--mimetex` for alternative ways of dealing with math in HTML.)`--mimetex`*[=url]*:   causes TeX formulas to be replaced by `<img>` tags linking to the    [mimeTeX] CGI script, which will produce images with the typeset    formulas.  (See `--asciimathml` and `--mimetex` for alternative    ways of dealing with math in HTML.)`-i` or `--incremental`:   causes all lists in S5 output to be displayed incrementally by    default (one item at a time). The normal default is for lists to be    displayed all at once.`-N` or `--number-sections`:   causes sections to be numbered in LaTeX or ConTeXt output. By default,    sections are not numbered.`--no-wrap`:   disables text-wrapping in output.  By default, text is wrapped    appropriately for the output format.`--sanitize-html`:   sanitizes HTML (in markdown or HTML input) using a whitelist.    Unsafe tags are replaced by HTML comments; unsafe attributes    are omitted.`--dump-args`:   is intended to make it easier to create wrapper scripts that use    Pandoc. It causes Pandoc to dump information about the arguments    with which it was called to STDOUT, then exit. The first line    printed is the name of the output file specified using the `-o`    or `--output` option, or `-` if output would go to STDOUT. The    remaining lines, if any, list command-line arguments. These will    include the names of input files and any special options passed    after ` -- ` on the command line. So, for example,:       pandoc --dump-args -o foo.html -s foo.txt \          appendix.txt -- -e latin1:   will cause the following to be printed to STDOUT::       foo.html foo.txt appendix.txt -e latin1`--ignore-args`:   causes Pandoc to ignore all command-line arguments.    Regular Pandoc options are not ignored.  Thus, for example,:       pandoc --ignore-args -o foo.html -s foo.txt -- -e latin1:   is equivalent to:       pandoc -o foo.html -s   `-v` or `--version`:   prints the version number to STDERR.`-h` or `--help`:   prints a usage message to STDERR.[Smartypants]: http://daringfireball.net/projects/smartypants/[ASCIIMathML]: http://www1.chapman.edu/~jipsen/mathml/asciimath.html[gladTeX]:  http://www.math.uio.no/~martingu/gladtex/index.html[mimeTeX]: http://www.forkosh.com/mimetex.html Pandoc's markdown vs. standard markdown=======================================In parsing markdown, Pandoc departs from and extends [standard markdown]in a few respects.  (To run Pandoc on the official markdown test suite,type `make test-markdown`.)  Except where noted, these differences canbe suppressed by specifying the `--strict` command-line option or byusing the `hsmarkdown` wrapper.[standard markdown]:  http://daringfireball.net/projects/markdown/syntax  "Markdown syntax description"Backslash escapes-----------------Except inside a code block or inline code, any punctuation or spacecharacter preceded by a backslash will be treated literally, even if itwould normally indicate formatting.  Thus, for example, if one writes    *\*hello\**one will get    <em>*hello*</em>instead of    <strong>hello</strong>This rule is easier to remember than standard markdown's rule,which allows only the following characters to be backslash-escaped:    \`*_{}[]()>#+-.!Subscripts and superscripts---------------------------Superscripts may be written by surrounding the superscripted text by `^`characters; subscripts may be written by surrounding the subscriptedtext by `~` characters.  Thus, for example,    H~2~O is a liquid.  2^10^ is 1024.If the superscripted or subscripted text contains spaces, these spacesmust be escaped with backslashes.  (This is to prevent accidentalsuperscripting and subscripting through the ordinary use of `~` and `^`.)Thus, if you want the letter P with 'a cat' in subscripts, use`P~a\ cat~`, not `P~a cat~`.Strikeout---------To strikeout a section of text with a horizontal line, begin and end itwith `~~`. Thus, for example,    This ~~is deleted text.~~Lists-----Pandoc behaves differently from standard markdown on some "edgecases" involving lists.  Consider this source: 1.  First2.  Second:-   Fee-   Fie-   Foe3.  ThirdPandoc transforms this into a "compact list" (with no `<p>` tags around"First", "Second", or "Third"), while markdown puts `<p>` tags around"Second" and "Third" (but not "First"), because of the blank spacearound "Third". Pandoc follows a simple rule: if the text is followed bya blank line, it is treated as a paragraph. Since "Second" is followedby a list, and not a blank line, it isn't treated as a paragraph. Thefact that the list is followed by a blank line is irrelevant. (Note:Pandoc works this way even when the `--strict` option is specified. Thisbehavior is consistent with the official markdown syntax description,even though it is different from that of `Markdown.pl`.)Unlike standard markdown, Pandoc allows ordered list items to be markedwith uppercase and lowercase letters and roman numerals, in addition toarabic numerals. (This behavior can be turned off using the `--strict`option.) List markers may be enclosed in parentheses or followed by asingle right-parentheses or period. They must be separated from thetext that follows by at least one space, and, if the list marker is acapital letter with a period, by at least two spaces.[^2][^2]:  The point of this rule is to ensure that normal paragraphs    starting with people's initials, like        B. Russell was an English philosopher.    do not get treated as list items.    This rule will not prevent        (C) 2007 Joe Smith    from being interpreted as a list item.  In this case, a backslash    escape can be used:        (C\) 2007 Joe Smith    Pandoc also pays attention to the type of list marker used, and to thestarting number, and both of these are preserved where possible in theoutput format. Thus, the following yields a list with numbers followedby a single parenthesis, starting with 9, and a sublist with lowercaseroman numerals:     9)  Ninth    10)  Tenth    11)  Eleventh           i. subone          ii. subtwo         iii. subthreeNote that Pandoc pays attention only to the *starting* number in a list.So, the following yields a list numbered sequentially starting from 2:    (2) Two    (5) Three    (2) FourIf default list markers are desired, use '`#.`':    #.  one    #.  two    #.  threeIf you change list style in mid-list, Pandoc will notice and assume youare starting a sublist. So,    1.  One    2.  Two    A.  Sub    B.  Sub    3.  Threegets treated as if it were    1.  One    2.  Two        A.  Sub        B.  Sub    3.  ThreeDefinition lists----------------Pandoc supports definition lists, using a syntax inspired by[PHP Markdown Extra] and [reStructuredText]:  [PHP Markdown Extra]: http://www.michelf.com/projects/php-markdown/extra/    Term 1    :   Definition 1    Term 2    :   Definition 2    :   Second paragraph of definition 2.Each term must fit on one line. The definition must begin on the lineafter the term. The definition consists of one or more block elements(paragraph, code block, list, etc.), each beginning with a colon and(aside from the colon) indented one tab stop.    Term *with inline markup*    :   Here is the definition.  It may contain multiple blocks.        Here is some code:    :       {* my code *}     :   Here is the third paragraph of this definition.If you leave space after the definition (as in the first example above),the definitions will be considered paragraphs. In some output formats,this will mean greater spacing between term/definition pairs. For acompact definition list, do not leave space between the definition andthe next term:    Term 1    :   Definition 1    Term 2    :   Definition 2Reference links---------------Pandoc allows implicit reference links with just a single set ofbrackets.  So, the following links are equivalent:1. Here's my [link]2. Here's my [link][][link]: linky.com(Note:  Pandoc works this way even if `--strict` is specified, because`Markdown.pl` 1.0.2b7 allows single-bracket links.)Footnotes---------Pandoc's markdown allows footnotes, using the following syntax:Here is a footnote reference,[^1] and another.[^longnote][^1]: Here is the footnote.[^longnote]: Here's one with multiple blocks.        Subsequent paragraphs are indented to show that they     belong to the previous footnote.            { some.code }    The whole paragraph can be indented, or just the first        line.  In this way, multi-paragraph footnotes work like    multi-paragraph list items.    This paragraph won't be part of the note, because it isn't indented.The identifiers in footnote references may not contain spaces, tabs,or newlines.  These identifiers are used only to correlate thefootnote reference with the note itself; in the output, footnoteswill be numbered sequentially.The footnotes themselves need not be placed at the end of thedocument.  They may appear anywhere except inside other block elements(lists, block quotes, tables, etc.).Inline footnotes are also allowed (though, unlike regular notes,they cannot contain multiple paragraphs).  The syntax is as follows:    Here is an inline note.^[Inlines notes are easier to write, since    you don't have to pick an identifier and move down to type the    note.]Inline and regular footnotes may be mixed freely.Tables------Two kinds of tables may be used.  Both kinds presuppose the use ofa fixed-width font, such as Courier.Simple tables look like this:      Right     Left     Center     Default       -------     ------ ----------   -------            12     12        12            12            123     123       123          123              1     1          1             1        Table:  Demonstration of simple table syntax.The headers and table rows must each fit on one line.  Columnalignments are determined by the position of the header text relativeto the dashed line below it:[^1]  - If the dashed line is flush with the header text on the right side    but extends beyond it on the left, the column is right-aligned.  - If the dashed line is flush with the header text on the left side     but extends beyond it on the right, the column is left-aligned.  - If the dashed line extends beyond the header text on both sides,    the column is centered.  - If the dashed line is flush with the header text on both sides,    the default alignment is used (in most cases, this will be left).[^1]:  This scheme is due to Michel Fortin, who proposed it on the    Markdown discussion list:     <http://six.pairlist.net/pipermail/markdown-discuss/2005-March/001097.html>.The table must end with a blank line.  Optionally, a caption may beprovided (as illustrated in the example above).  A caption is a paragraphbeginning with the string `Table:`, which will be stripped off.The table parser pays attention to the widths of the columns, andthe writers try to reproduce these relative widths in the output.So, if you find that one of the columns is too narrow in the output,try widening it in the markdown source.Multiline tables allow headers and table rows to span multiple linesof text.  Here is an example:    -------------------------------------------------------------     Centered   Default           Right Left      Header    Aligned         Aligned Aligned    ----------- ------- --------------- -------------------------       First    row                12.0 Example of a row that                                        spans multiple lines.          Second    row                 5.0 Here's another one. Note                                        the blank line between                                        rows.    -------------------------------------------------------------        Table: Here's the caption. It, too, may span    multiple lines.These work like simple tables, but with the following differences:  - They must begin with a row of dashes, before the header text.  - They must end with a row of dashes, then a blank line.  - The rows must be separated by blank lines. Title blocks------------If the file begins with a title block% title% author(s) (separated by commas)% dateit will be parsed as bibliographic information, not regular text.  (Itwill be used, for example, in the title of standalone LaTeX or HTMLoutput.)  The block may contain just a title, a title and an author,or all three lines.  Each must begin with a % and fit on one line.The title may contain standard inline formatting.  If you want toinclude an author but no title, or a title and a date but no author,you need a blank line:% My title% % June 15, 2006Titles will be written only when the `--standalone` (`-s`) option ischosen.  In HTML output, titles will appear twice: once in thedocument head -- this is the title that will appear at the top of thewindow in a browser -- and once at the beginning of the document body.The title in the document head can have an optional prefix attached(`--title-prefix` or `-T` option).  The title in the body appears asan H1 element with class "title", so it can be suppressed orreformatted with CSS. If a title prefix is specified with `-T` and notitle block appears in the document, the title prefix will be used byitself as the HTML title.The man page writer extracts a title, man page section number, andother header and footer information from the title line. The titleis assumed to be the first word on the title line, which may optionallyend with a (single-digit) section number in parentheses. (There shouldbe no space between the title and the parentheses.)  Anything afterthis is assumed to be additional footer and header text. A single pipecharacter (`|`) should be used to separate the footer text from the headertext.  Thus,    % PANDOC(1)will yield a man page with the title `PANDOC` and section 1.    % PANDOC(1) Pandoc User Manualswill also have "Pandoc User Manuals" in the footer.    % PANDOC(1) Pandoc User Manuals | Version 4.0will also have "Version 4.0" in the header.Markdown in HTML blocks-----------------------While standard markdown leaves HTML blocks exactly as they are, Pandoctreats text between HTML tags as markdown. Thus, for example, Pandocwill turn<table><tr><td>*one*</td><td>[a link](http://google.com)</td></tr></table>into<table><tr><td><em>one</em></td><td><a href="http://google.com">a link</a></td></tr></table>whereas `Markdown.pl` will preserve it as is.There is one exception to this rule:  text between `<script>` and`</script>` tags is not interpreted as markdown.This departure from standard markdown should make it easier to mixmarkdown with HTML block elements.  For example, one can surrounda block of markdown text with `<div>` tags without preventing itfrom being interpreted as markdown.Header identifiers in HTML--------------------------Each header element in pandoc's HTML output is given a uniqueidentifier. This identifier is based on the text of the header. Toderive the identifier from the header text,  - Remove all formatting, links, etc.  - Remove all punctuation, except dashes and hyphens.  - Replace all spaces, dashes, newlines, and hyphens with hyphens.  - Convert all alphabetic characters to lowercase.  - Remove everything up to the first letter (identifiers may    not begin with a number or punctuation mark).  - If nothing is left after this, use the identifier `section`.Thus, for example,  Header                                  Identifier  -------------------------------------   ---------------------------  Header identifiers in HTML              `header-identifiers-in-html`  *Dogs*?--in *my* house?                 `dogs--in-my-house`  [HTML], [S5], or [RTF]?                 `html-s5-or-rtf`  3. Applications                         `applications`  33                                      `section`These rules should, in most cases, allow one to determine the identifierfrom the header text. The exception is when several headers have thesame text; in this case, the first will get an identifier as describedabove; the second will get the same identifier with `-1` appended; thethird with `-2`; and so on.These identifiers are used to provide link targets in the table ofcontents generated by the `--toc|--table-of-contents` option. Theyalso make it easy to provide links from one section of a document toanother. A link to this section, for example, might look like this:    See the section on [header identifiers](#header-identifiers-in-html). Note, however, that this method of providing links to sections worksonly in HTML.Blank lines before headers and blockquotes------------------------------------------Standard markdown syntax does not require a blank line before a headeror blockquote.  Pandoc does require this (except, of course, at thebeginning of the document). The reason for the requirement is thatit is all too easy for a `>` or `#` to end up at the beginning of aline by accident (perhaps through line wrapping).  Consider, forexample:    I like several of their flavors of ice cream:  #22, for example, and    #5.Math----Anything between two $ characters will be treated as TeX math.  Theopening $ must have a character immediately to its right, while theclosing $ must have a character immediately to its left.  Thus,`$20,000 and $30,000` won't parse as math.  If for some reasonyou need to enclose text in literal $ characters, backslash-escapethem and they won't be treated as math delimiters.TeX math will be printed in all output formats. In Markdown,reStructuredText, LaTeX, and ConTeXt output, it will appear verbatimbetween $ characters.In reStructuredText output, it will be rendered using an interpretedtext role `:math:`, as described[here](http://www.american.edu/econ/itex2mml/mathhack.rst).In groff man output, it will be rendered verbatim without $'s.In RTF and Docbook output, it will be rendered, as far as possible,using unicode characters, and will otherwise appear verbatim. Unknowncommands and symbols, and commands that cannot be dealt with this way(like `\frac`), will be rendered verbatim. So the results may be a mixof raw TeX code and properly rendered unicode math.In HTML and S5 output, the way math is rendered will depend on thecommand-line options selected:1.  The default is to render TeX math as far as possible using unicode    characters, as with RTF and Docbook output.  Formulas are put inside    a `span` with `class="math"`, so that they may be styled differently    from the surrounding text if needed.2.  If the `--asciimathml` option is used, TeX math will be displayed    between $ characters, as in LaTeX, and the [ASCIIMathML] script will    be used to render it as formulas. (This trick does not work in all    browsers, but it works in Firefox. In browsers that do not support    ASCIIMathML, TeX math will appear verbatim between $ characters.)3.  If the `--mimetex` option is used, the [mimeTeX] CGI script will    be called to generate images for each TeX formula. This should    work in all browsers. The `--mimetex` option takes an optional URL    as argument. If no URL is specified, it will be assumed that the    mimeTeX CGI script is at `/cgi-bin/mimetex.cgi`.4.  If the `--gladtex` option is used, TeX formulas will be enclosed    in `<eq>` tags in the HTML output.  The resulting `htex` file may then    be processed by [gladTeX], which will produce image files for each    formula and an `html` file with links to these images.  So, the    procedure is:        pandoc -s --gladtex myfile.txt -o myfile.htex        gladtex -d myfile-images myfile.htex  # produces myfile.html                                              # and images in myfile-imagesInline TeX----------Inline TeX commands will be preserved and passed unchanged to theLaTeX and ConTeXt writers. Thus, for example, you can use LaTeX toinclude BibTeX citations:This result was proved in \cite{jones.1967}.Note that in LaTeX environments, like\begin{tabular}{|l|l|}\hlineAge & Frequency \\ \hline18--25  & 15 \\26--35  & 33 \\ 36--45  & 22 \\ \hline\end{tabular}the material between the begin and end tags will be interpreted as rawLaTeX, not as markdown.Inline LaTeX is ignored in output formats other than Markdown, LaTeX,and ConTeXt.Custom headers==============When run with the "standalone" option (`-s`), `pandoc` creates astandalone file, complete with an appropriate header.  To see thedefault headers used for html and latex, use the following commands:pandoc -D htmlpandoc -D latex If you want to use a different header, just create a file containingit and specify it on the command line as follows:pandoc --header=MyHeaderFileProducing S5 with Pandoc========================Producing an [S5] web-based slide show with Pandoc is easy.  A titlepage is constructed automatically from the document's title block (seeabove).  Each section (with a level-one header) produces a single slide.(Note that if the section is too big, the slide will not fit on the page;S5 is not smart enough to produce multiple pages.)Here's the markdown source for a simple slide show, `eating.txt`:% Eating Habits% John Doe% March 22, 2005# In the morning- Eat eggs- Drink coffee# In the evening- Eat spaghetti- Drink wineTo produce the slide show, simply typepandoc -w s5 -s eating.txt > eating.htmland open up `eating.html` in a browser.  The HTML file embedsall the required javascript and CSS, so no other files are necessary.Note that by default, the S5 writer produces lists that display"all at once."  If you want your lists to display incrementally(one item at a time), use the `-i` option.  If you want aparticular list to depart from the default (that is, to displayincrementally without the `-i` option and all at once with the`-i` option), put it in a block quote:> - Eat spaghetti> - Drink wineIn this way incremental and nonincremental lists can be mixed ina single document.

Produced byhackage andCabal 3.12.1.0.


[8]ページ先頭

©2009-2025 Movatter.jp