pandoc/test/writer.man
John MacFarlane c6cf78a033 Improve on fix to #7506.
Don't boldface code in output formats that can represent
it as monospace.

Define aliases for VI, VB, VBI as well.
2022-01-15 12:57:26 -08:00

768 lines
10 KiB
Groff

.\" Define V font for inline verbatim, using C font in formats
.\" that render this, and otherwise B font.
.ie "\f[CB]x\f[]"x" \{\
. ftr V B
. ftr VI BI
. ftr VB B
. ftr VBI BI
.\}
.el \{\
. ftr V CR
. ftr VI CI
. ftr VB CB
. ftr VBI CBI
.\}
.TH "Pandoc Test Suite" "" "July 17, 2006" "" ""
.hy
.PP
This is a set of tests for pandoc.
Most of them are adapted from John Gruber\[cq]s markdown test suite.
.PP
* * * * *
.SH Headers
.SS Level 2 with an embedded link
.SS Level 3 with \f[I]emphasis\f[R]
.SS Level 4
.SS Level 5
.SH Level 1
.SS Level 2 with \f[I]emphasis\f[R]
.SS Level 3
.PP
with no blank line
.SS Level 2
.PP
with no blank line
.PP
* * * * *
.SH Paragraphs
.PP
Here\[cq]s a regular paragraph.
.PP
In Markdown 1.0.0 and earlier.
Version 8.
This line turns into a list item.
Because a hard-wrapped line in the middle of a paragraph looked like a list
item.
.PP
Here\[cq]s one with a bullet.
* criminey.
.PP
There should be a hard line break
.PD 0
.P
.PD
here.
.PP
* * * * *
.SH Block Quotes
.PP
E-mail style:
.RS
.PP
This is a block quote.
It is pretty short.
.RE
.RS
.PP
Code in a block quote:
.IP
.nf
\f[C]
sub status {
print \[dq]working\[dq];
}
\f[R]
.fi
.PP
A list:
.IP "1." 3
item one
.IP "2." 3
item two
.PP
Nested block quotes:
.RS
.PP
nested
.RE
.RS
.PP
nested
.RE
.RE
.PP
This should not be a block quote: 2 > 1.
.PP
And a following paragraph.
.PP
* * * * *
.SH Code Blocks
.PP
Code:
.IP
.nf
\f[C]
---- (should be four hyphens)
sub status {
print \[dq]working\[dq];
}
this code block is indented by one tab
\f[R]
.fi
.PP
And:
.IP
.nf
\f[C]
this code block is indented by two tabs
These should not be escaped: \[rs]$ \[rs]\[rs] \[rs]> \[rs][ \[rs]{
\f[R]
.fi
.PP
* * * * *
.SH Lists
.SS Unordered
.PP
Asterisks tight:
.IP \[bu] 2
asterisk 1
.IP \[bu] 2
asterisk 2
.IP \[bu] 2
asterisk 3
.PP
Asterisks loose:
.IP \[bu] 2
asterisk 1
.IP \[bu] 2
asterisk 2
.IP \[bu] 2
asterisk 3
.PP
Pluses tight:
.IP \[bu] 2
Plus 1
.IP \[bu] 2
Plus 2
.IP \[bu] 2
Plus 3
.PP
Pluses loose:
.IP \[bu] 2
Plus 1
.IP \[bu] 2
Plus 2
.IP \[bu] 2
Plus 3
.PP
Minuses tight:
.IP \[bu] 2
Minus 1
.IP \[bu] 2
Minus 2
.IP \[bu] 2
Minus 3
.PP
Minuses loose:
.IP \[bu] 2
Minus 1
.IP \[bu] 2
Minus 2
.IP \[bu] 2
Minus 3
.SS Ordered
.PP
Tight:
.IP "1." 3
First
.IP "2." 3
Second
.IP "3." 3
Third
.PP
and:
.IP "1." 3
One
.IP "2." 3
Two
.IP "3." 3
Three
.PP
Loose using tabs:
.IP "1." 3
First
.IP "2." 3
Second
.IP "3." 3
Third
.PP
and using spaces:
.IP "1." 3
One
.IP "2." 3
Two
.IP "3." 3
Three
.PP
Multiple paragraphs:
.IP "1." 3
Item 1, graf one.
.RS 4
.PP
Item 1.
graf two.
The quick brown fox jumped over the lazy dog\[cq]s back.
.RE
.IP "2." 3
Item 2.
.IP "3." 3
Item 3.
.SS Nested
.IP \[bu] 2
Tab
.RS 2
.IP \[bu] 2
Tab
.RS 2
.IP \[bu] 2
Tab
.RE
.RE
.PP
Here\[cq]s another:
.IP "1." 3
First
.IP "2." 3
Second:
.RS 4
.IP \[bu] 2
Fee
.IP \[bu] 2
Fie
.IP \[bu] 2
Foe
.RE
.IP "3." 3
Third
.PP
Same thing but with paragraphs:
.IP "1." 3
First
.IP "2." 3
Second:
.RS 4
.IP \[bu] 2
Fee
.IP \[bu] 2
Fie
.IP \[bu] 2
Foe
.RE
.IP "3." 3
Third
.SS Tabs and spaces
.IP \[bu] 2
this is a list item indented with tabs
.IP \[bu] 2
this is a list item indented with spaces
.RS 2
.IP \[bu] 2
this is an example list item indented with tabs
.IP \[bu] 2
this is an example list item indented with spaces
.RE
.SS Fancy list markers
.IP "(2)" 4
begins with 2
.IP "(3)" 4
and now 3
.RS 4
.PP
with a continuation
.IP "iv." 4
sublist with roman numerals, starting with 4
.IP " v." 4
more items
.RS 4
.IP "(A)" 4
a subsublist
.IP "(B)" 4
a subsublist
.RE
.RE
.PP
Nesting:
.IP "A." 3
Upper Alpha
.RS 4
.IP "I." 3
Upper Roman.
.RS 4
.IP "(6)" 4
Decimal start with 6
.RS 4
.IP "c)" 3
Lower alpha with paren
.RE
.RE
.RE
.PP
Autonumbering:
.IP "1." 3
Autonumber.
.IP "2." 3
More.
.RS 4
.IP "1." 3
Nested.
.RE
.PP
Should not be a list item:
.PP
M.A.\ 2007
.PP
B.
Williams
.PP
* * * * *
.SH Definition Lists
.PP
Tight using spaces:
.TP
apple
red fruit
.TP
orange
orange fruit
.TP
banana
yellow fruit
.PP
Tight using tabs:
.TP
apple
red fruit
.TP
orange
orange fruit
.TP
banana
yellow fruit
.PP
Loose:
.TP
apple
red fruit
.TP
orange
orange fruit
.TP
banana
yellow fruit
.PP
Multiple blocks with italics:
.TP
\f[I]apple\f[R]
red fruit
.RS
.PP
contains seeds, crisp, pleasant to taste
.RE
.TP
\f[I]orange\f[R]
orange fruit
.RS
.IP
.nf
\f[C]
{ orange code block }
\f[R]
.fi
.RS
.PP
orange block quote
.RE
.RE
.PP
Multiple definitions, tight:
.TP
apple
red fruit
computer
.TP
orange
orange fruit
bank
.PP
Multiple definitions, loose:
.TP
apple
red fruit
computer
.TP
orange
orange fruit
bank
.PP
Blank line after term, indented marker, alternate markers:
.TP
apple
red fruit
computer
.TP
orange
orange fruit
.RS
.IP "1." 3
sublist
.IP "2." 3
sublist
.RE
.SH HTML Blocks
.PP
Simple block on one line:
foo
.PP
And nested without indentation:
.PP
foo
bar
.PP
Interpreted markdown in a table:
This is \f[I]emphasized\f[R]
And this is \f[B]strong\f[R]
.PP
Here\[cq]s a simple block:
.PP
foo
.PP
This should be a code block, though:
.IP
.nf
\f[C]
<div>
foo
</div>
\f[R]
.fi
.PP
As should this:
.IP
.nf
\f[C]
<div>foo</div>
\f[R]
.fi
.PP
Now, nested:
foo
.PP
This should just be an HTML comment:
.PP
Multiline:
.PP
Code block:
.IP
.nf
\f[C]
<!-- Comment -->
\f[R]
.fi
.PP
Just plain comment, with trailing spaces on the line:
.PP
Code:
.IP
.nf
\f[C]
<hr />
\f[R]
.fi
.PP
Hr\[cq]s:
.PP
* * * * *
.SH Inline Markup
.PP
This is \f[I]emphasized\f[R], and so \f[I]is this\f[R].
.PP
This is \f[B]strong\f[R], and so \f[B]is this\f[R].
.PP
An \f[I]emphasized link\f[R].
.PP
\f[B]\f[BI]This is strong and em.\f[B]\f[R]
.PP
So is \f[B]\f[BI]this\f[B]\f[R] word.
.PP
\f[B]\f[BI]This is strong and em.\f[B]\f[R]
.PP
So is \f[B]\f[BI]this\f[B]\f[R] word.
.PP
This is code: \f[V]>\f[R], \f[V]$\f[R], \f[V]\[rs]\f[R], \f[V]\[rs]$\f[R],
\f[V]<html>\f[R].
.PP
[STRIKEOUT:This is \f[I]strikeout\f[R].]
.PP
Superscripts: a^bc^d a^\f[I]hello\f[R]^ a^hello\ there^.
.PP
Subscripts: H~2~O, H~23~O, H~many\ of\ them~O.
.PP
These should not be superscripts or subscripts, because of the unescaped spaces:
a\[ha]b c\[ha]d, a\[ti]b c\[ti]d.
.PP
* * * * *
.SH Smart quotes, ellipses, dashes
.PP
\[lq]Hello,\[rq] said the spider.
\[lq]`Shelob' is my name.\[rq]
.PP
`A', `B', and `C' are letters.
.PP
`Oak,' `elm,' and `beech' are names of trees.
So is `pine.'
.PP
`He said, \[lq]I want to go.\[rq]' Were you alive in the 70\[cq]s?
.PP
Here is some quoted `\f[V]code\f[R]' and a \[lq]quoted
link (http://example.com/?foo=1&bar=2)\[rq].
.PP
Some dashes: one\[em]two \[em] three\[em]four \[em] five.
.PP
Dashes between numbers: 5\[en]7, 255\[en]66, 1987\[en]1999.
.PP
Ellipses\&...and\&...and\&....
.PP
* * * * *
.SH LaTeX
.IP \[bu] 2
.IP \[bu] 2
2\[u2005]+\[u2005]2\[u2004]=\[u2004]4
.IP \[bu] 2
\f[I]x\f[R]\[u2004]\[mo]\[u2004]\f[I]y\f[R]
.IP \[bu] 2
\f[I]\[*a]\f[R]\[u2005]\[AN]\[u2005]\f[I]\[*w]\f[R]
.IP \[bu] 2
223
.IP \[bu] 2
\f[I]p\f[R]-Tree
.IP \[bu] 2
Here\[cq]s some display math:
.RS
$$\[rs]frac{d}{dx}f(x)=\[rs]lim_{h\[rs]to 0}\[rs]frac{f(x+h)-f(x)}{h}$$
.RE
.IP \[bu] 2
Here\[cq]s one that has a line break in it:
\f[I]\[*a]\f[R]\[u2005]+\[u2005]\f[I]\[*w]\f[R]\[u2005]\[tmu]\[u2005]\f[I]x\f[R]^2^.
.PP
These shouldn\[cq]t be math:
.IP \[bu] 2
To get the famous equation, write \f[V]$e = mc\[ha]2$\f[R].
.IP \[bu] 2
$22,000 is a \f[I]lot\f[R] of money.
So is $34,000.
(It worked if \[lq]lot\[rq] is emphasized.)
.IP \[bu] 2
Shoes ($20) and socks ($5).
.IP \[bu] 2
Escaped \f[V]$\f[R]: $73 \f[I]this should be emphasized\f[R] 23$.
.PP
Here\[cq]s a LaTeX table:
.PP
* * * * *
.SH Special Characters
.PP
Here is some unicode:
.IP \[bu] 2
I hat: \[^I]
.IP \[bu] 2
o umlaut: \[:o]
.IP \[bu] 2
section: \[sc]
.IP \[bu] 2
set membership: \[mo]
.IP \[bu] 2
copyright: \[co]
.PP
AT&T has an ampersand in their name.
.PP
AT&T is another way to write it.
.PP
This & that.
.PP
4 < 5.
.PP
6 > 5.
.PP
Backslash: \[rs]
.PP
Backtick: \[ga]
.PP
Asterisk: *
.PP
Underscore: _
.PP
Left brace: {
.PP
Right brace: }
.PP
Left bracket: [
.PP
Right bracket: ]
.PP
Left paren: (
.PP
Right paren: )
.PP
Greater-than: >
.PP
Hash: #
.PP
Period: .
.PP
Bang: !
.PP
Plus: +
.PP
Minus: -
.PP
* * * * *
.SH Links
.SS Explicit
.PP
Just a URL.
.PP
URL and title.
.PP
URL and title.
.PP
URL and title.
.PP
URL and title
.PP
URL and title
.PP
with_underscore
.PP
Email link (mailto:nobody@nowhere.net)
.PP
Empty.
.SS Reference
.PP
Foo bar.
.PP
With embedded [brackets].
.PP
b by itself should be a link.
.PP
Indented once.
.PP
Indented twice.
.PP
Indented thrice.
.PP
This should [not][] be a link.
.IP
.nf
\f[C]
[not]: /url
\f[R]
.fi
.PP
Foo bar.
.PP
Foo biz.
.SS With ampersands
.PP
Here\[cq]s a link with an ampersand in the
URL (http://example.com/?foo=1&bar=2).
.PP
Here\[cq]s a link with an amersand in the link text: AT&T (http://att.com/).
.PP
Here\[cq]s an inline link.
.PP
Here\[cq]s an inline link in pointy braces.
.SS Autolinks
.PP
With an ampersand: <http://example.com/?foo=1&bar=2>
.IP \[bu] 2
In a list?
.IP \[bu] 2
<http://example.com/>
.IP \[bu] 2
It should.
.PP
An e-mail address: <nobody@nowhere.net>
.RS
.PP
Blockquoted: <http://example.com/>
.RE
.PP
Auto-links should not occur here: \f[V]<http://example.com/>\f[R]
.IP
.nf
\f[C]
or here: <http://example.com/>
\f[R]
.fi
.PP
* * * * *
.SH Images
.PP
From \[lq]Voyage dans la Lune\[rq] by Georges Melies (1902):
.PP
[IMAGE: lalune]
.PP
Here is a movie [IMAGE: movie] icon.
.PP
* * * * *
.SH Footnotes
.PP
Here is a footnote reference,[1] and another.[2] This should \f[I]not\f[R] be a
footnote reference, because it contains a space.[\[ha]my note] Here is an inline
note.[3]
.RS
.PP
Notes can go in quotes.[4]
.RE
.IP "1." 3
And in list items.[5]
.PP
This paragraph should not be part of the note, as it is not indented.
.SH NOTES
.SS [1]
.PP
Here is the footnote.
It can go anywhere after the footnote reference.
It need not be placed at the end of the document.
.SS [2]
.PP
Here\[cq]s the long note.
This one contains multiple blocks.
.PP
Subsequent blocks are indented to show that they belong to the footnote (as with
list items).
.IP
.nf
\f[C]
{ <code> }
\f[R]
.fi
.PP
If you want, you can indent every line, but you can also be lazy and just indent
the first line of each block.
.SS [3]
.PP
This is \f[I]easier\f[R] to type.
Inline notes may contain links (http://google.com) and \f[V]]\f[R] verbatim
characters, as well as [bracketed text].
.SS [4]
.PP
In quote.
.SS [5]
.PP
In list.
.SH AUTHORS
John MacFarlane; Anonymous.