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
This commit is contained in:
fiddlosopher 2009-12-07 08:26:53 +00:00
parent 6ddf8da444
commit 5082b5411b
34 changed files with 994 additions and 302 deletions

View file

@ -79,9 +79,10 @@ data Block
-- and a list of items, each a list of blocks) -- and a list of items, each a list of blocks)
| BulletList [[Block]] -- ^ Bullet list (list of items, each | BulletList [[Block]] -- ^ Bullet list (list of items, each
-- a list of blocks) -- a list of blocks)
| DefinitionList [([Inline],[Block])] -- ^ Definition list | DefinitionList [([Inline],[[Block]])] -- ^ Definition list
-- (list of items, each a pair of an inline list, -- Each list item is a pair consisting of a
-- the term, and a block list) -- term (a list of inlines) and one or more
-- definitions (each a list of blocks)
| Header Int [Inline] -- ^ Header - level (integer) and text (inlines) | Header Int [Inline] -- ^ Header - level (integer) and text (inlines)
| HorizontalRule -- ^ Horizontal rule | HorizontalRule -- ^ Horizontal rule
| Table [Inline] [Alignment] [Double] [[Block]] [[[Block]]] -- ^ Table, | Table [Inline] [Alignment] [Double] [[Block]] [[[Block]]] -- ^ Table,

View file

@ -545,12 +545,12 @@ definitionList = try $ do
htmlEndTag "dl" htmlEndTag "dl"
return $ DefinitionList items return $ DefinitionList items
definitionListItem :: GenParser Char ParserState ([Inline], [Block]) definitionListItem :: GenParser Char ParserState ([Inline], [[Block]])
definitionListItem = try $ do definitionListItem = try $ do
terms <- sepEndBy1 (inlinesIn "dt") spaces terms <- sepEndBy1 (inlinesIn "dt") spaces
defs <- sepEndBy1 (blocksIn "dd") spaces defs <- sepEndBy1 (blocksIn "dd") spaces
let term = intercalate [LineBreak] terms let term = intercalate [LineBreak] terms
return (term, concat defs) return (term, defs)
-- --
-- paragraph block -- paragraph block

View file

@ -282,7 +282,7 @@ definitionList = try $ do
items <- many listItem items <- many listItem
end "description" end "description"
spaces spaces
return (DefinitionList items) return $ DefinitionList $ map (\(t,d) -> (t,[d])) items
-- --
-- paragraph block -- paragraph block

View file

@ -555,38 +555,61 @@ bulletList = try $ do
-- definition lists -- definition lists
definitionListItem :: GenParser Char ParserState ([Inline], [Block]) defListMarker :: GenParser Char ParserState ()
defListMarker = do
sps <- nonindentSpaces
char ':' <|> char '~'
st <- getState
let tabStop = stateTabStop st
let remaining = tabStop - (length sps + 1)
if remaining > 0
then count remaining (char ' ') <|> string "\t"
else pzero
return ()
definitionListItem :: GenParser Char ParserState ([Inline], [[Block]])
definitionListItem = try $ do definitionListItem = try $ do
notFollowedBy blankline
notFollowedBy' indentSpaces
-- first, see if this has any chance of being a definition list: -- first, see if this has any chance of being a definition list:
lookAhead (anyLine >> char ':') lookAhead (anyLine >> optional blankline >> defListMarker)
term <- manyTill inline newline term <- manyTill inline newline
optional blankline
raw <- many1 defRawBlock raw <- many1 defRawBlock
state <- getState state <- getState
let oldContext = stateParserContext state let oldContext = stateParserContext state
-- parse the extracted block, which may contain various block elements: -- parse the extracted block, which may contain various block elements:
contents <- parseFromString parseBlocks $ concat raw contents <- mapM (parseFromString parseBlocks) raw
updateState (\st -> st {stateParserContext = oldContext}) updateState (\st -> st {stateParserContext = oldContext})
return ((normalizeSpaces term), contents) return ((normalizeSpaces term), contents)
defRawBlock :: GenParser Char ParserState [Char] defRawBlock :: GenParser Char ParserState [Char]
defRawBlock = try $ do defRawBlock = try $ do
char ':' defListMarker
state <- getState
let tabStop = stateTabStop state
try (count (tabStop - 1) (char ' ')) <|> (many (char ' ') >> string "\t")
firstline <- anyLine firstline <- anyLine
rawlines <- many (notFollowedBy blankline >> indentSpaces >> anyLine) rawlines <- many (notFollowedBy blankline >> indentSpaces >> anyLine)
trailing <- option "" blanklines trailing <- option "" blanklines
return $ firstline ++ "\n" ++ unlines rawlines ++ trailing cont <- liftM concat $ many $ do
lns <- many1 $ notFollowedBy blankline >> indentSpaces >> anyLine
trl <- option "" blanklines
return $ unlines lns ++ trl
return $ firstline ++ "\n" ++ unlines rawlines ++ trailing ++ cont
definitionList :: GenParser Char ParserState Block definitionList :: GenParser Char ParserState Block
definitionList = do definitionList = do
items <- many1 definitionListItem items <- many1 definitionListItem
let (terms, defs) = unzip items -- "compactify" the definition list:
let defs' = compactify defs let defs = map snd items
let items' = zip terms defs' let defBlocks = reverse $ concat $ concat defs
let isPara (Para _) = True
isPara _ = False
let items' = case take 1 defBlocks of
[Para x] -> if not $ any isPara (drop 1 defBlocks)
then let (t,ds) = last items
lastDef = last ds
ds' = init ds ++
[init lastDef ++ [Plain x]]
in init items ++ [(t, ds')]
else items
_ -> items
return $ DefinitionList items' return $ DefinitionList items'
-- --

View file

@ -174,7 +174,7 @@ fieldList = try $ do
else do terms <- mapM (return . (:[]) . Str . fst) remaining else do terms <- mapM (return . (:[]) . Str . fst) remaining
defs <- mapM (parseFromString (many block) . snd) defs <- mapM (parseFromString (many block) . snd)
remaining remaining
return $ DefinitionList $ zip terms defs return $ DefinitionList $ zip terms $ map (:[]) defs
-- --
-- line block -- line block
@ -397,7 +397,7 @@ blockQuote = do
list :: GenParser Char ParserState Block list :: GenParser Char ParserState Block
list = choice [ bulletList, orderedList, definitionList ] <?> "list" list = choice [ bulletList, orderedList, definitionList ] <?> "list"
definitionListItem :: GenParser Char ParserState ([Inline], [Block]) definitionListItem :: GenParser Char ParserState ([Inline], [[Block]])
definitionListItem = try $ do definitionListItem = try $ do
-- avoid capturing a directive or comment -- avoid capturing a directive or comment
notFollowedBy (try $ char '.' >> char '.') notFollowedBy (try $ char '.' >> char '.')
@ -405,7 +405,7 @@ definitionListItem = try $ do
raw <- indentedBlock raw <- indentedBlock
-- parse the extracted block, which may contain various block elements: -- parse the extracted block, which may contain various block elements:
contents <- parseFromString parseBlocks $ raw ++ "\n\n" contents <- parseFromString parseBlocks $ raw ++ "\n\n"
return (normalizeSpaces term, contents) return (normalizeSpaces term, [contents])
definitionList :: GenParser Char ParserState Block definitionList :: GenParser Char ParserState Block
definitionList = many1 definitionListItem >>= return . DefinitionList definitionList = many1 definitionListItem >>= return . DefinitionList

View file

@ -796,10 +796,12 @@ prettyBlock (OrderedList attribs blockLists) =
prettyBlock (BulletList blockLists) = "BulletList\n" ++ prettyBlock (BulletList blockLists) = "BulletList\n" ++
indentBy 2 0 ("[ " ++ (intercalate ", " indentBy 2 0 ("[ " ++ (intercalate ", "
(map (\blocks -> prettyBlockList 2 blocks) blockLists))) ++ " ]" (map (\blocks -> prettyBlockList 2 blocks) blockLists))) ++ " ]"
prettyBlock (DefinitionList blockLists) = "DefinitionList\n" ++ prettyBlock (DefinitionList items) = "DefinitionList\n" ++
indentBy 2 0 ("[" ++ (intercalate ",\n" indentBy 2 0 ("[ " ++ (intercalate "\n, "
(map (\(term, blocks) -> " (" ++ show term ++ ",\n" ++ (map (\(term, defs) -> "(" ++ show term ++ ",\n" ++
indentBy 1 2 (prettyBlockList 2 blocks) ++ " )") blockLists))) ++ " ]" indentBy 3 0 ("[ " ++ (intercalate ", "
(map (\blocks -> prettyBlockList 2 blocks) defs)) ++ "]") ++
")") items))) ++ " ]"
prettyBlock (Table caption aligns widths header rows) = prettyBlock (Table caption aligns widths header rows) =
"Table " ++ show caption ++ " " ++ show aligns ++ " " ++ "Table " ++ show caption ++ " " ++ show aligns ++ " " ++
show widths ++ "\n" ++ prettyRow header ++ " [\n" ++ show widths ++ "\n" ++ prettyRow header ++ " [\n" ++

View file

@ -31,8 +31,9 @@ module Text.Pandoc.Writers.ConTeXt ( writeConTeXt ) where
import Text.Pandoc.Definition import Text.Pandoc.Definition
import Text.Pandoc.Shared import Text.Pandoc.Shared
import Text.Printf ( printf ) import Text.Printf ( printf )
import Data.List ( isSuffixOf, intercalate ) import Data.List ( isSuffixOf, intercalate, intersperse )
import Control.Monad.State import Control.Monad.State
import Control.Monad (liftM)
import Text.PrettyPrint.HughesPJ hiding ( Str ) import Text.PrettyPrint.HughesPJ hiding ( Str )
data WriterState = data WriterState =
@ -221,10 +222,10 @@ listItemToConTeXt :: [Block] -> State WriterState Doc
listItemToConTeXt list = blockListToConTeXt list >>= listItemToConTeXt list = blockListToConTeXt list >>=
return . (text "\\item" $$) . (nest 2) return . (text "\\item" $$) . (nest 2)
defListItemToConTeXt :: ([Inline], [Block]) -> State WriterState BlockWrapper defListItemToConTeXt :: ([Inline], [[Block]]) -> State WriterState BlockWrapper
defListItemToConTeXt (term, def) = do defListItemToConTeXt (term, defs) = do
term' <- inlineListToConTeXt term term' <- inlineListToConTeXt term
def' <- blockListToConTeXt def def' <- liftM (vcat . intersperse (text "")) $ mapM blockListToConTeXt defs
return $ Pad $ text "\\startdescr{" <> term' <> char '}' $$ def' $$ text "\\stopdescr" return $ Pad $ text "\\startdescr{" <> term' <> char '}' $$ def' $$ text "\\stopdescr"
-- | Convert list of block elements to ConTeXt. -- | Convert list of block elements to ConTeXt.

View file

@ -102,14 +102,14 @@ plainToPara x = x
-- | Convert a list of pairs of terms and definitions into a list of -- | Convert a list of pairs of terms and definitions into a list of
-- Docbook varlistentrys. -- Docbook varlistentrys.
deflistItemsToDocbook :: WriterOptions -> [([Inline],[Block])] -> Doc deflistItemsToDocbook :: WriterOptions -> [([Inline],[[Block]])] -> Doc
deflistItemsToDocbook opts items = deflistItemsToDocbook opts items =
vcat $ map (\(term, def) -> deflistItemToDocbook opts term def) items vcat $ map (\(term, defs) -> deflistItemToDocbook opts term defs) items
-- | Convert a term and a list of blocks into a Docbook varlistentry. -- | Convert a term and a list of blocks into a Docbook varlistentry.
deflistItemToDocbook :: WriterOptions -> [Inline] -> [Block] -> Doc deflistItemToDocbook :: WriterOptions -> [Inline] -> [[Block]] -> Doc
deflistItemToDocbook opts term def = deflistItemToDocbook opts term defs =
let def' = map plainToPara def let def' = concatMap (map plainToPara) defs
in inTagsIndented "varlistentry" $ in inTagsIndented "varlistentry" $
inTagsIndented "term" (inlinesToDocbook opts term) $$ inTagsIndented "term" (inlinesToDocbook opts term) $$
inTagsIndented "listitem" (blocksToDocbook opts def') inTagsIndented "listitem" (blocksToDocbook opts def')

View file

@ -316,13 +316,14 @@ blockToHtml opts (OrderedList (startnum, numstyle, _) lst) = do
else []) else [])
return $ ordList ! attribs $ contents return $ ordList ! attribs $ contents
blockToHtml opts (DefinitionList lst) = do blockToHtml opts (DefinitionList lst) = do
contents <- mapM (\(term, def) -> do term' <- inlineListToHtml opts term contents <- mapM (\(term, defs) ->
def' <- blockListToHtml opts def do term' <- liftM (dterm <<) $ inlineListToHtml opts term
return $ (term', def')) lst defs' <- mapM (liftM (ddef <<) . blockListToHtml opts) defs
return $ term' : defs') lst
let attribs = if writerIncremental opts let attribs = if writerIncremental opts
then [theclass "incremental"] then [theclass "incremental"]
else [] else []
return $ defList ! attribs $ contents return $ dlist ! attribs << concat contents
blockToHtml opts (Table capt aligns widths headers rows') = do blockToHtml opts (Table capt aligns widths headers rows') = do
let alignStrings = map alignmentToString aligns let alignStrings = map alignmentToString aligns
captionDoc <- if null capt captionDoc <- if null capt

View file

@ -31,10 +31,11 @@ module Text.Pandoc.Writers.LaTeX ( writeLaTeX ) where
import Text.Pandoc.Definition import Text.Pandoc.Definition
import Text.Pandoc.Shared import Text.Pandoc.Shared
import Text.Printf ( printf ) import Text.Printf ( printf )
import Data.List ( (\\), isSuffixOf, intercalate ) import Data.List ( (\\), isSuffixOf, intercalate, intersperse )
import Data.Char ( toLower ) import Data.Char ( toLower )
import qualified Data.Set as S import qualified Data.Set as S
import Control.Monad.State import Control.Monad.State
import Control.Monad (liftM)
import Text.PrettyPrint.HughesPJ hiding ( Str ) import Text.PrettyPrint.HughesPJ hiding ( Str )
data WriterState = data WriterState =
@ -250,10 +251,10 @@ listItemToLaTeX :: [Block] -> State WriterState Doc
listItemToLaTeX lst = blockListToLaTeX lst >>= return . (text "\\item" $$) . listItemToLaTeX lst = blockListToLaTeX lst >>= return . (text "\\item" $$) .
(nest 2) (nest 2)
defListItemToLaTeX :: ([Inline], [Block]) -> State WriterState Doc defListItemToLaTeX :: ([Inline], [[Block]]) -> State WriterState Doc
defListItemToLaTeX (term, def) = do defListItemToLaTeX (term, defs) = do
term' <- inlineListToLaTeX $ deVerb term term' <- inlineListToLaTeX $ deVerb term
def' <- blockListToLaTeX def def' <- liftM (vcat . intersperse (text "")) $ mapM blockListToLaTeX defs
return $ text "\\item[" <> term' <> text "]" $$ def' return $ text "\\item[" <> term' <> text "]" $$ def'
-- | Convert list of inline elements to LaTeX. -- | Convert list of inline elements to LaTeX.

View file

@ -242,19 +242,19 @@ orderedListItemToMan opts num indent (first:rest) = do
-- | Convert definition list item (label, list of blocks) to man. -- | Convert definition list item (label, list of blocks) to man.
definitionListItemToMan :: WriterOptions definitionListItemToMan :: WriterOptions
-> ([Inline],[Block]) -> ([Inline],[[Block]])
-> State WriterState Doc -> State WriterState Doc
definitionListItemToMan opts (label, items) = do definitionListItemToMan opts (label, defs) = do
labelText <- inlineListToMan opts label labelText <- inlineListToMan opts label
contents <- if null items contents <- if null defs
then return empty then return empty
else do else liftM vcat $ forM defs $ \blocks -> do
let (first, rest) = case items of let (first, rest) = case blocks of
((Para x):y) -> (Plain x,y) ((Para x):y) -> (Plain x,y)
(x:y) -> (x,y) (x:y) -> (x,y)
[] -> error "items is null" [] -> error "blocks is null"
rest' <- mapM (\item -> blockToMan opts item) rest' <- liftM vcat $
rest >>= (return . vcat) mapM (\item -> blockToMan opts item) rest
first' <- blockToMan opts first first' <- blockToMan opts first
return $ first' $$ text ".RS" $$ rest' $$ text ".RE" return $ first' $$ text ".RS" $$ rest' $$ text ".RE"
return $ text ".TP\n.B " <> labelText $+$ contents return $ text ".TP\n.B " <> labelText $+$ contents

View file

@ -279,15 +279,14 @@ orderedListItemToMarkdown opts marker items = do
-- | Convert definition list item (label, list of blocks) to markdown. -- | Convert definition list item (label, list of blocks) to markdown.
definitionListItemToMarkdown :: WriterOptions definitionListItemToMarkdown :: WriterOptions
-> ([Inline],[Block]) -> ([Inline],[[Block]])
-> State WriterState Doc -> State WriterState Doc
definitionListItemToMarkdown opts (label, items) = do definitionListItemToMarkdown opts (label, defs) = do
labelText <- inlineListToMarkdown opts label labelText <- inlineListToMarkdown opts label
let tabStop = writerTabStop opts let tabStop = writerTabStop opts
let leader = char ':' let leader = char ':'
contents <- mapM (\item -> blockToMarkdown opts item >>= contents <- liftM vcat $
(\txt -> return (leader $$ nest tabStop txt))) mapM (liftM ((leader $$) . nest tabStop . vcat) . mapM (blockToMarkdown opts)) defs
items >>= return . vcat
return $ labelText $+$ contents return $ labelText $+$ contents
-- | Convert list of Pandoc block elements to markdown. -- | Convert list of Pandoc block elements to markdown.

View file

@ -33,7 +33,7 @@ module Text.Pandoc.Writers.MediaWiki ( writeMediaWiki ) where
import Text.Pandoc.Definition import Text.Pandoc.Definition
import Text.Pandoc.Shared import Text.Pandoc.Shared
import Text.Pandoc.XML ( escapeStringForXML ) import Text.Pandoc.XML ( escapeStringForXML )
import Data.List ( intersect ) import Data.List ( intersect, intercalate )
import Network.URI ( isURI ) import Network.URI ( isURI )
import Control.Monad.State import Control.Monad.State
@ -199,17 +199,19 @@ listItemToMediaWiki opts items = do
-- | Convert definition list item (label, list of blocks) to MediaWiki. -- | Convert definition list item (label, list of blocks) to MediaWiki.
definitionListItemToMediaWiki :: WriterOptions definitionListItemToMediaWiki :: WriterOptions
-> ([Inline],[Block]) -> ([Inline],[[Block]])
-> State WriterState String -> State WriterState String
definitionListItemToMediaWiki opts (label, items) = do definitionListItemToMediaWiki opts (label, items) = do
labelText <- inlineListToMediaWiki opts label labelText <- inlineListToMediaWiki opts label
contents <- blockListToMediaWiki opts items contents <- mapM (blockListToMediaWiki opts) items
useTags <- get >>= return . stUseTags useTags <- get >>= return . stUseTags
if useTags if useTags
then return $ "<dt>" ++ labelText ++ "</dt>\n<dd>" ++ contents ++ "</dd>" then return $ "<dt>" ++ labelText ++ "</dt>\n" ++
(intercalate "\n" $ map (\d -> "<dd>" ++ d ++ "</dd>") contents)
else do else do
marker <- get >>= return . stListLevel marker <- get >>= return . stListLevel
return $ marker ++ " " ++ labelText ++ "\n" ++ (init marker ++ ": ") ++ contents return $ marker ++ " " ++ labelText ++ "\n" ++
(intercalate "\n" $ map (\d -> init marker ++ ": " ++ d) contents)
-- | True if the list can be handled by simple wiki markup, False if HTML tags will be needed. -- | True if the list can be handled by simple wiki markup, False if HTML tags will be needed.
isSimpleList :: Block -> Bool isSimpleList :: Block -> Bool
@ -218,7 +220,7 @@ isSimpleList x =
BulletList items -> all isSimpleListItem items BulletList items -> all isSimpleListItem items
OrderedList (num, sty, _) items -> all isSimpleListItem items && OrderedList (num, sty, _) items -> all isSimpleListItem items &&
num == 1 && sty `elem` [DefaultStyle, Decimal] num == 1 && sty `elem` [DefaultStyle, Decimal]
DefinitionList items -> all isSimpleListItem $ map snd items DefinitionList items -> all isSimpleListItem $ concatMap snd items
_ -> False _ -> False
-- | True if list item can be handled with the simple wiki syntax. False if -- | True if list item can be handled with the simple wiki syntax. False if

View file

@ -260,14 +260,14 @@ listItemsToOpenDocument :: String -> WriterOptions -> [[Block]] -> State WriterS
listItemsToOpenDocument s o is = listItemsToOpenDocument s o is =
vcat . map (inTagsIndented "text:list-item") <$> mapM (withParagraphStyle o s . map plainToPara) is vcat . map (inTagsIndented "text:list-item") <$> mapM (withParagraphStyle o s . map plainToPara) is
deflistItemToOpenDocument :: WriterOptions -> ([Inline],[Block]) -> State WriterState Doc deflistItemToOpenDocument :: WriterOptions -> ([Inline],[[Block]]) -> State WriterState Doc
deflistItemToOpenDocument o (t,d) = do deflistItemToOpenDocument o (t,d) = do
let ts = if isTightList [d] let ts = if isTightList d
then "Definition_20_Term_20_Tight" else "Definition_20_Term" then "Definition_20_Term_20_Tight" else "Definition_20_Term"
ds = if isTightList [d] ds = if isTightList d
then "Definition_20_Definition_20_Tight" else "Definition_20_Definition" then "Definition_20_Definition_20_Tight" else "Definition_20_Definition"
t' <- withParagraphStyle o ts [Para t] t' <- withParagraphStyle o ts [Para t]
d' <- withParagraphStyle o ds (map plainToPara d) d' <- liftM vcat $ mapM (withParagraphStyle o ds . (map plainToPara)) d
return $ t' $$ d' return $ t' $$ d'
inBlockQuote :: WriterOptions -> Int -> [Block] -> State WriterState Doc inBlockQuote :: WriterOptions -> Int -> [Block] -> State WriterState Doc

View file

@ -257,10 +257,10 @@ orderedListItemToRST marker items = do
return $ (text marker <> char ' ') <> contents return $ (text marker <> char ' ') <> contents
-- | Convert defintion list item (label, list of blocks) to RST. -- | Convert defintion list item (label, list of blocks) to RST.
definitionListItemToRST :: ([Inline], [Block]) -> State WriterState Doc definitionListItemToRST :: ([Inline], [[Block]]) -> State WriterState Doc
definitionListItemToRST (label, items) = do definitionListItemToRST (label, defs) = do
label' <- inlineListToRST label label' <- inlineListToRST label
contents <- blockListToRST items contents <- liftM vcat $ mapM blockListToRST defs
tabstop <- get >>= (return . writerTabStop . stOptions) tabstop <- get >>= (return . writerTabStop . stOptions)
return $ label' $+$ nest tabstop contents return $ label' $+$ nest tabstop contents

View file

@ -247,11 +247,12 @@ listItemToRTF alignment indent marker list =
-- | Convert definition list item (label, list of blocks) to RTF. -- | Convert definition list item (label, list of blocks) to RTF.
definitionListItemToRTF :: Alignment -- ^ alignment definitionListItemToRTF :: Alignment -- ^ alignment
-> Int -- ^ indent level -> Int -- ^ indent level
-> ([Inline],[Block]) -- ^ list item (list of blocks) -> ([Inline],[[Block]]) -- ^ list item (list of blocks)
-> [Char] -> [Char]
definitionListItemToRTF alignment indent (label, items) = definitionListItemToRTF alignment indent (label, defs) =
let labelText = blockToRTF indent alignment (Plain label) let labelText = blockToRTF indent alignment (Plain label)
itemsText = concatMap (blockToRTF (indent + listIncrement) alignment) items itemsText = concatMap (blockToRTF (indent + listIncrement) alignment) $
concat defs
in labelText ++ itemsText in labelText ++ itemsText
-- | Convert list of inline items to RTF. -- | Convert list of inline items to RTF.

View file

@ -339,11 +339,11 @@ listItemToTexinfo :: [Block]
listItemToTexinfo lst = blockListToTexinfo lst >>= listItemToTexinfo lst = blockListToTexinfo lst >>=
return . (text "@item" $$) return . (text "@item" $$)
defListItemToTexinfo :: ([Inline], [Block]) defListItemToTexinfo :: ([Inline], [[Block]])
-> State WriterState Doc -> State WriterState Doc
defListItemToTexinfo (term, def) = do defListItemToTexinfo (term, defs) = do
term' <- inlineListToTexinfo term term' <- inlineListToTexinfo term
def' <- blockListToTexinfo def def' <- liftM vcat $ mapM blockListToTexinfo defs
return $ text "@item " <> term' <> text "\n" $$ def' return $ text "@item " <> term' <> text "\n" $$ def'
-- | Convert list of inline elements to Texinfo. -- | Convert list of inline elements to Texinfo.

View file

@ -181,12 +181,13 @@ Pandoc (Meta [Str "Pandoc",Space,Str "Test",Space,Str "Suite"] [] "")
, HorizontalRule , HorizontalRule
, Header 2 [Str "Definition"] , Header 2 [Str "Definition"]
, DefinitionList , DefinitionList
[ ([Str "Violin"], [ ([Str "Violin"],
[ Plain [Str "Stringed",Space,Str "musical",Space,Str "instrument."] [ [ Plain [Str "Stringed",Space,Str "musical",Space,Str "instrument."] ]
, Plain [Str "Torture",Space,Str "device."] ] ), , [ Plain [Str "Torture",Space,Str "device."] ]
([Str "Cello",LineBreak,Str "Violoncello"], ])
[ Plain [Str "Low-voiced",Space,Str "stringed",Space,Str "instrument."] ] , ([Str "Cello",LineBreak,Str "Violoncello"],
) ] [ [ Plain [Str "Low-voiced",Space,Str "stringed",Space,Str "instrument."] ]
]) ]
, HorizontalRule , HorizontalRule
, Header 1 [Str "HTML",Space,Str "Blocks"] , Header 1 [Str "HTML",Space,Str "Blocks"]
, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"] , Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]

View file

@ -185,48 +185,48 @@ Pandoc (Meta [Str "Pandoc",Space,Str "Test",Space,Str "Suite"] ["John MacFarlane
, Header 1 [Str "Definition",Space,Str "Lists"] , Header 1 [Str "Definition",Space,Str "Lists"]
, Para [Str "Tight",Space,Str "using",Space,Str "spaces:"] , Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
, DefinitionList , DefinitionList
[ ([Str "apple"], [ ([Str "apple"],
[ Para [Str "red",Space,Str "fruit"] ] [ [ Para [Str "red",Space,Str "fruit"] ]
), ])
([Str "orange"], , ([Str "orange"],
[ Para [Str "orange",Space,Str "fruit"] ] [ [ Para [Str "orange",Space,Str "fruit"] ]
), ])
([Str "banana"], , ([Str "banana"],
[ Para [Str "yellow",Space,Str "fruit"] ] [ [ Para [Str "yellow",Space,Str "fruit"] ]
) ] ]) ]
, Para [Str "Tight",Space,Str "using",Space,Str "tabs:"] , Para [Str "Tight",Space,Str "using",Space,Str "tabs:"]
, DefinitionList , DefinitionList
[ ([Str "apple"], [ ([Str "apple"],
[ Para [Str "red",Space,Str "fruit"] ] [ [ Para [Str "red",Space,Str "fruit"] ]
), ])
([Str "orange"], , ([Str "orange"],
[ Para [Str "orange",Space,Str "fruit"] ] [ [ Para [Str "orange",Space,Str "fruit"] ]
), ])
([Str "banana"], , ([Str "banana"],
[ Para [Str "yellow",Space,Str "fruit"] ] [ [ Para [Str "yellow",Space,Str "fruit"] ]
) ] ]) ]
, Para [Str "Loose:"] , Para [Str "Loose:"]
, DefinitionList , DefinitionList
[ ([Str "apple"], [ ([Str "apple"],
[ Para [Str "red",Space,Str "fruit"] ] [ [ Para [Str "red",Space,Str "fruit"] ]
), ])
([Str "orange"], , ([Str "orange"],
[ Para [Str "orange",Space,Str "fruit"] ] [ [ Para [Str "orange",Space,Str "fruit"] ]
), ])
([Str "banana"], , ([Str "banana"],
[ Para [Str "yellow",Space,Str "fruit"] ] [ [ Para [Str "yellow",Space,Str "fruit"] ]
) ] ]) ]
, Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"] , Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"]
, DefinitionList , DefinitionList
[ ([Emph [Str "apple"]], [ ([Emph [Str "apple"]],
[ Para [Str "red",Space,Str "fruit"] [ [ Para [Str "red",Space,Str "fruit"]
, Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"] ] ), , Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"] ]])
([Emph [Str "orange"]], , ([Emph [Str "orange"]],
[ Para [Str "orange",Space,Str "fruit"] [ [ Para [Str "orange",Space,Str "fruit"]
, CodeBlock ("",[],[]) "{ orange code block }" , CodeBlock ("",[],[]) "{ orange code block }"
, BlockQuote , BlockQuote
[ Para [Str "orange",Space,Str "block",Space,Str "quote"] ] [ Para [Str "orange",Space,Str "block",Space,Str "quote"] ]
] ) ] ]]) ]
, Header 1 [Str "HTML",Space,Str "Blocks"] , Header 1 [Str "HTML",Space,Str "Blocks"]
, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"] , Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
, Para [Str "foo",Space,Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"] , Para [Str "foo",Space,Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]

View file

@ -1,8 +1,8 @@
Pandoc (Meta [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":",Space,Str "Subtitle"] ["John MacFarlane","Anonymous"] "July 17, 2006") Pandoc (Meta [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":",Space,Str "Subtitle"] ["John MacFarlane","Anonymous"] "July 17, 2006")
[ DefinitionList [ DefinitionList
[ ([Str "Revision"], [ ([Str "Revision"],
[ Plain [Str "3"] ] [ [ Plain [Str "3"] ]
) ] ]) ]
, Header 1 [Str "Level",Space,Str "one",Space,Str "header"] , Header 1 [Str "Level",Space,Str "one",Space,Str "header"]
, Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber's",Space,Str "markdown",Space,Str "test",Space,Str "suite."] , Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber's",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
, Header 2 [Str "Level",Space,Str "two",Space,Str "header"] , Header 2 [Str "Level",Space,Str "two",Space,Str "header"]
@ -154,36 +154,36 @@ Pandoc (Meta [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":",Space,Str
, [ Plain [Str "item",Space,Str "2"] ] ] , [ Plain [Str "item",Space,Str "2"] ] ]
, Header 2 [Str "Definition"] , Header 2 [Str "Definition"]
, DefinitionList , DefinitionList
[ ([Str "term",Space,Str "1"], [ ([Str "term",Space,Str "1"],
[ Para [Str "Definition",Space,Str "1."] ] [ [ Para [Str "Definition",Space,Str "1."] ]
), ])
([Str "term",Space,Str "2"], , ([Str "term",Space,Str "2"],
[ Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "1."] [ [ Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "1."]
, Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "2."] ] ), , Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "2."] ]])
([Str "term",Space,Str "with",Space,Emph [Str "emphasis"]], , ([Str "term",Space,Str "with",Space,Emph [Str "emphasis"]],
[ Para [Str "Definition",Space,Str "3."] ] [ [ Para [Str "Definition",Space,Str "3."] ]
) ] ]) ]
, Header 1 [Str "Field",Space,Str "Lists"] , Header 1 [Str "Field",Space,Str "Lists"]
, DefinitionList , DefinitionList
[ ([Str "address"], [ ([Str "address"],
[ Plain [Str "61",Space,Str "Main",Space,Str "St."] ] [ [ Plain [Str "61",Space,Str "Main",Space,Str "St."] ]
), ])
([Str "city"], , ([Str "city"],
[ Plain [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"] ] [ [ Plain [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"] ]
), ])
([Str "phone"], , ([Str "phone"],
[ Plain [Str "123",Str "-",Str "4567"] ] [ [ Plain [Str "123",Str "-",Str "4567"] ]
) ] ]) ]
, DefinitionList , DefinitionList
[ ([Str "address"], [ ([Str "address"],
[ Plain [Str "61",Space,Str "Main",Space,Str "St."] ] [ [ Plain [Str "61",Space,Str "Main",Space,Str "St."] ]
), ])
([Str "city"], , ([Str "city"],
[ Plain [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"] ] [ [ Plain [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"] ]
), ])
([Str "phone"], , ([Str "phone"],
[ Plain [Str "123",Str "-",Str "4567"] ] [ [ Plain [Str "123",Str "-",Str "4567"] ]
) ] ]) ]
, Header 1 [Str "HTML",Space,Str "Blocks"] , Header 1 [Str "HTML",Space,Str "Blocks"]
, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line",Str ":"] , Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line",Str ":"]
, RawHtml "<div>foo</div>\n" , RawHtml "<div>foo</div>\n"

View file

@ -171,48 +171,79 @@ Pandoc (Meta [Str "Pandoc",Space,Str "Test",Space,Str "Suite"] ["John MacFarlane
, Header 1 [Str "Definition",Space,Str "Lists"] , Header 1 [Str "Definition",Space,Str "Lists"]
, Para [Str "Tight",Space,Str "using",Space,Str "spaces:"] , Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
, DefinitionList , DefinitionList
[ ([Str "apple"], [ ([Str "apple"],
[ Plain [Str "red",Space,Str "fruit"] ] [ [ Plain [Str "red",Space,Str "fruit"] ]
), ])
([Str "orange"], , ([Str "orange"],
[ Plain [Str "orange",Space,Str "fruit"] ] [ [ Plain [Str "orange",Space,Str "fruit"] ]
), ])
([Str "banana"], , ([Str "banana"],
[ Plain [Str "yellow",Space,Str "fruit"] ] [ [ Plain [Str "yellow",Space,Str "fruit"] ]
) ] ]) ]
, Para [Str "Tight",Space,Str "using",Space,Str "tabs:"] , Para [Str "Tight",Space,Str "using",Space,Str "tabs:"]
, DefinitionList , DefinitionList
[ ([Str "apple"], [ ([Str "apple"],
[ Plain [Str "red",Space,Str "fruit"] ] [ [ Plain [Str "red",Space,Str "fruit"] ]
), ])
([Str "orange"], , ([Str "orange"],
[ Plain [Str "orange",Space,Str "fruit"] ] [ [ Plain [Str "orange",Space,Str "fruit"] ]
), ])
([Str "banana"], , ([Str "banana"],
[ Plain [Str "yellow",Space,Str "fruit"] ] [ [ Plain [Str "yellow",Space,Str "fruit"] ]
) ] ]) ]
, Para [Str "Loose:"] , Para [Str "Loose:"]
, DefinitionList , DefinitionList
[ ([Str "apple"], [ ([Str "apple"],
[ Para [Str "red",Space,Str "fruit"] ] [ [ Para [Str "red",Space,Str "fruit"] ]
), ])
([Str "orange"], , ([Str "orange"],
[ Para [Str "orange",Space,Str "fruit"] ] [ [ Para [Str "orange",Space,Str "fruit"] ]
), ])
([Str "banana"], , ([Str "banana"],
[ Para [Str "yellow",Space,Str "fruit"] ] [ [ Para [Str "yellow",Space,Str "fruit"] ]
) ] ]) ]
, Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"] , Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"]
, DefinitionList , DefinitionList
[ ([Emph [Str "apple"]], [ ([Emph [Str "apple"]],
[ Para [Str "red",Space,Str "fruit"] [ [ Para [Str "red",Space,Str "fruit"]
, Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"] ] ), , Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"] ]])
([Emph [Str "orange"]], , ([Emph [Str "orange"]],
[ Para [Str "orange",Space,Str "fruit"] [ [ Para [Str "orange",Space,Str "fruit"]
, CodeBlock ("",[],[]) "{ orange code block }" , CodeBlock ("",[],[]) "{ orange code block }"
, BlockQuote , BlockQuote
[ Para [Str "orange",Space,Str "block",Space,Str "quote"] ] [ Para [Str "orange",Space,Str "block",Space,Str "quote"] ]
] ) ] ]]) ]
, Para [Str "Multiple",Space,Str "definitions,",Space,Str "tight:"]
, DefinitionList
[ ([Str "apple"],
[ [ Plain [Str "red",Space,Str "fruit"] ]
, [ Plain [Str "computer"] ]
])
, ([Str "orange"],
[ [ Plain [Str "orange",Space,Str "fruit"] ]
, [ Plain [Str "bank"] ]
]) ]
, Para [Str "Multiple",Space,Str "definitions,",Space,Str "loose:"]
, DefinitionList
[ ([Str "apple"],
[ [ Para [Str "red",Space,Str "fruit"] ]
, [ Para [Str "computer"] ]
])
, ([Str "orange"],
[ [ Para [Str "orange",Space,Str "fruit"] ]
, [ Para [Str "bank"] ]
]) ]
, Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term,",Space,Str "indented",Space,Str "marker,",Space,Str "alternate",Space,Str "markers:"]
, DefinitionList
[ ([Str "apple"],
[ [ Para [Str "red",Space,Str "fruit"] ]
, [ Para [Str "computer"] ]
])
, ([Str "orange"],
[ [ Para [Str "orange",Space,Str "fruit"]
, OrderedList (1,Decimal,Period)
[ [ Plain [Str "sublist"] ]
, [ Plain [Str "sublist"] ] ] ]]) ]
, Header 1 [Str "HTML",Space,Str "Blocks"] , Header 1 [Str "HTML",Space,Str "Blocks"]
, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"] , Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
, RawHtml "<div>" , RawHtml "<div>"

View file

@ -300,15 +300,51 @@ Multiple blocks with italics:
*apple* *apple*
: red fruit : red fruit
: contains seeds, contains seeds,
crisp, pleasant to taste crisp, pleasant to taste
*orange* *orange*
: orange fruit : orange fruit
: { orange code block } { orange code block }
: > orange block quote > orange block quote
Multiple definitions, tight:
apple
: red fruit
: computer
orange
: orange fruit
: bank
Multiple definitions, loose:
apple
: red fruit
: computer
orange
: orange fruit
: bank
Blank line after term, indented marker, alternate markers:
apple
~ red fruit
~ computer
orange
~ orange fruit
1. sublist
2. sublist
# HTML Blocks # HTML Blocks

View file

@ -514,6 +514,53 @@ orange block quote
\stopblockquote \stopblockquote
\stopdescr \stopdescr
Multiple definitions, tight:
\startdescr{apple}
red fruit
computer
\stopdescr
\startdescr{orange}
orange fruit
bank
\stopdescr
Multiple definitions, loose:
\startdescr{apple}
red fruit
computer
\stopdescr
\startdescr{orange}
orange fruit
bank
\stopdescr
Blank line after term, indented marker, alternate markers:
\startdescr{apple}
red fruit
computer
\stopdescr
\startdescr{orange}
orange fruit
\startitemize[n][stopper=.]
\item
sublist
\item
sublist
\stopitemize
\stopdescr
\subject{HTML Blocks} \subject{HTML Blocks}
Simple block on one line: Simple block on one line:

View file

@ -756,6 +756,108 @@ These should not be escaped: \$ \\ \&gt; \[ \{
</listitem> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
<para>
Multiple definitions, tight:
</para>
<variablelist>
<varlistentry>
<term>
apple
</term>
<listitem>
<para>
red fruit
</para>
<para>
computer
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
orange
</term>
<listitem>
<para>
orange fruit
</para>
<para>
bank
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Multiple definitions, loose:
</para>
<variablelist>
<varlistentry>
<term>
apple
</term>
<listitem>
<para>
red fruit
</para>
<para>
computer
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
orange
</term>
<listitem>
<para>
orange fruit
</para>
<para>
bank
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Blank line after term, indented marker, alternate markers:
</para>
<variablelist>
<varlistentry>
<term>
apple
</term>
<listitem>
<para>
red fruit
</para>
<para>
computer
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
orange
</term>
<listitem>
<para>
orange fruit
</para>
<orderedlist numeration="arabic">
<listitem>
<para>
sublist
</para>
</listitem>
<listitem>
<para>
sublist
</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
</variablelist>
</section> </section>
<section id="html-blocks"> <section id="html-blocks">
<title>HTML Blocks</title> <title>HTML Blocks</title>

View file

@ -540,6 +540,72 @@ These should not be escaped: \$ \\ \&gt; \[ \{
></blockquote ></blockquote
></dd ></dd
></dl ></dl
><p
>Multiple definitions, tight:</p
><dl
><dt
>apple</dt
><dd
>red fruit</dd
><dd
>computer</dd
><dt
>orange</dt
><dd
>orange fruit</dd
><dd
>bank</dd
></dl
><p
>Multiple definitions, loose:</p
><dl
><dt
>apple</dt
><dd
><p
>red fruit</p
></dd
><dd
><p
>computer</p
></dd
><dt
>orange</dt
><dd
><p
>orange fruit</p
></dd
><dd
><p
>bank</p
></dd
></dl
><p
>Blank line after term, indented marker, alternate markers:</p
><dl
><dt
>apple</dt
><dd
><p
>red fruit</p
></dd
><dd
><p
>computer</p
></dd
><dt
>orange</dt
><dd
><p
>orange fruit</p
><ol style="list-style-type: decimal;"
><li
>sublist</li
><li
>sublist</li
></ol
></dd
></dl
></div ></div
><div id="html-blocks" ><div id="html-blocks"
><h1 ><h1

View file

@ -456,6 +456,53 @@ orange block quote
\end{quote} \end{quote}
\end{description} \end{description}
Multiple definitions, tight:
\begin{description}
\item[apple]
red fruit
computer
\item[orange]
orange fruit
bank
\end{description}
Multiple definitions, loose:
\begin{description}
\item[apple]
red fruit
computer
\item[orange]
orange fruit
bank
\end{description}
Blank line after term, indented marker, alternate markers:
\begin{description}
\item[apple]
red fruit
computer
\item[orange]
orange fruit
\begin{enumerate}[1.]
\item
sublist
\item
sublist
\end{enumerate}
\end{description}
\section{HTML Blocks} \section{HTML Blocks}
Simple block on one line: Simple block on one line:

View file

@ -381,6 +381,61 @@ orange fruit
orange block quote orange block quote
.RE .RE
.RE .RE
.PP
Multiple definitions, tight:
.TP
.B apple
red fruit
.RS
.RE
computer
.RS
.RE
.TP
.B orange
orange fruit
.RS
.RE
bank
.RS
.RE
.PP
Multiple definitions, loose:
.TP
.B apple
red fruit
.RS
.RE
computer
.RS
.RE
.TP
.B orange
orange fruit
.RS
.RE
bank
.RS
.RE
.PP
Blank line after term, indented marker, alternate markers:
.TP
.B apple
red fruit
.RS
.RE
computer
.RS
.RE
.TP
.B orange
orange fruit
.RS
.IP "1." 3
sublist
.IP "2." 3
sublist
.RE
.SH HTML Blocks .SH HTML Blocks
.PP .PP
Simple block on one line: Simple block on one line:

View file

@ -313,14 +313,50 @@ Multiple blocks with italics:
*apple* *apple*
: red fruit : red fruit
: contains seeds, crisp, pleasant to taste contains seeds, crisp, pleasant to taste
*orange* *orange*
: orange fruit : orange fruit
: { orange code block } { orange code block }
: > orange block quote > orange block quote
Multiple definitions, tight:
apple
: red fruit
: computer
orange
: orange fruit
: bank
Multiple definitions, loose:
apple
: red fruit
: computer
orange
: orange fruit
: bank
Blank line after term, indented marker, alternate markers:
apple
: red fruit
: computer
orange
: orange fruit
1. sublist
2. sublist
# HTML Blocks # HTML Blocks

View file

@ -57,6 +57,7 @@ A list:
# item one # item one
# item two # item two
Nested block quotes: Nested block quotes:
<blockquote>nested <blockquote>nested
@ -98,31 +99,37 @@ Asterisks tight:
* asterisk 1 * asterisk 1
* asterisk 2 * asterisk 2
* asterisk 3 * asterisk 3
Asterisks loose: Asterisks loose:
* asterisk 1 * asterisk 1
* asterisk 2 * asterisk 2
* asterisk 3 * asterisk 3
Pluses tight: Pluses tight:
* Plus 1 * Plus 1
* Plus 2 * Plus 2
* Plus 3 * Plus 3
Pluses loose: Pluses loose:
* Plus 1 * Plus 1
* Plus 2 * Plus 2
* Plus 3 * Plus 3
Minuses tight: Minuses tight:
* Minus 1 * Minus 1
* Minus 2 * Minus 2
* Minus 3 * Minus 3
Minuses loose: Minuses loose:
* Minus 1 * Minus 1
* Minus 2 * Minus 2
* Minus 3 * Minus 3
=== Ordered === === Ordered ===
Tight: Tight:
@ -130,21 +137,25 @@ Tight:
# First # First
# Second # Second
# Third # Third
and: and:
# One # One
# Two # Two
# Three # Three
Loose using tabs: Loose using tabs:
# First # First
# Second # Second
# Third # Third
and using spaces: and using spaces:
# One # One
# Two # Two
# Three # Three
Multiple paragraphs: Multiple paragraphs:
<ol style="list-style-type: decimal;"> <ol style="list-style-type: decimal;">
@ -158,6 +169,9 @@ Multiple paragraphs:
* Tab * Tab
** Tab ** Tab
*** Tab *** Tab
Here&rsquo;s another: Here&rsquo;s another:
# First # First
@ -165,7 +179,9 @@ Here&rsquo;s another:
#* Fee #* Fee
#* Fie #* Fie
#* Foe #* Foe
# Third # Third
Same thing but with paragraphs: Same thing but with paragraphs:
# First # First
@ -173,13 +189,17 @@ Same thing but with paragraphs:
#* Fee #* Fee
#* Fie #* Fie
#* Foe #* Foe
# Third # Third
=== Tabs and spaces === === Tabs and spaces ===
* this is a list item indented with tabs * this is a list item indented with tabs
* this is a list item indented with spaces * this is a list item indented with spaces
** this is an example list item indented with tabs ** this is an example list item indented with tabs
** this is an example list item indented with spaces ** this is an example list item indented with spaces
=== Fancy list markers === === Fancy list markers ===
<ol start="2" style="list-style-type: decimal;"> <ol start="2" style="list-style-type: decimal;">
@ -214,6 +234,8 @@ Autonumbering:
# Autonumber. # Autonumber.
# More. # More.
## Nested. ## Nested.
Should not be a list item: Should not be a list item:
M.A.&#160;2007 M.A.&#160;2007
@ -233,6 +255,7 @@ Tight using spaces:
: orange fruit : orange fruit
; banana ; banana
: yellow fruit : yellow fruit
Tight using tabs: Tight using tabs:
; apple ; apple
@ -241,6 +264,7 @@ Tight using tabs:
: orange fruit : orange fruit
; banana ; banana
: yellow fruit : yellow fruit
Loose: Loose:
; apple ; apple
@ -249,6 +273,7 @@ Loose:
: orange fruit : orange fruit
; banana ; banana
: yellow fruit : yellow fruit
Multiple blocks with italics: Multiple blocks with italics:
<dl> <dl>
@ -260,6 +285,35 @@ Multiple blocks with italics:
<pre>{ orange code block }</pre> <pre>{ orange code block }</pre>
<blockquote><p>orange block quote</p></blockquote></dd></dl> <blockquote><p>orange block quote</p></blockquote></dd></dl>
Multiple definitions, tight:
; apple
: red fruit
: computer
; orange
: orange fruit
: bank
Multiple definitions, loose:
; apple
: red fruit
: computer
; orange
: orange fruit
: bank
Blank line after term, indented marker, alternate markers:
; apple
: red fruit
: computer
; orange
: orange fruit
;# sublist
;# sublist
== HTML Blocks == == HTML Blocks ==
Simple block on one line: Simple block on one line:
@ -430,12 +484,14 @@ Ellipses&hellip;and&hellip;and&hellip;.
* <math>p</math>-Tree * <math>p</math>-Tree
* Here&rsquo;s some display math: <math>\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}</math> * Here&rsquo;s some display math: <math>\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}</math>
* Here&rsquo;s one that has a line break in it: <math>\alpha + \omega \times x^2</math>. * Here&rsquo;s one that has a line break in it: <math>\alpha + \omega \times x^2</math>.
These shouldn&rsquo;t be math: These shouldn&rsquo;t be math:
* To get the famous equation, write <tt>$e = mc^2$</tt>. * To get the famous equation, write <tt>$e = mc^2$</tt>.
* $22,000 is a ''lot'' of money. So is $34,000. (It worked if &ldquo;lot&rdquo; is emphasized.) * $22,000 is a ''lot'' of money. So is $34,000. (It worked if &ldquo;lot&rdquo; is emphasized.)
* Shoes ($20) and socks ($5). * Shoes ($20) and socks ($5).
* Escaped <tt>$</tt>: $73 ''this should be emphasized'' 23$. * Escaped <tt>$</tt>: $73 ''this should be emphasized'' 23$.
Here&rsquo;s a LaTeX table: Here&rsquo;s a LaTeX table:
@ -452,6 +508,7 @@ Here is some unicode:
* section: § * section: §
* set membership: ∈ * set membership: ∈
* copyright: © * copyright: ©
AT&amp;T has an ampersand in their name. AT&amp;T has an ampersand in their name.
AT&amp;T is another way to write it. AT&amp;T is another way to write it.
@ -561,6 +618,7 @@ With an ampersand: http://example.com/?foo=1&bar=2
* In a list? * In a list?
* http://example.com/ * http://example.com/
* It should. * It should.
An e-mail address: [mailto:nobody@nowhere.net <tt>nobody@nowhere.net</tt>] An e-mail address: [mailto:nobody@nowhere.net <tt>nobody@nowhere.net</tt>]
<blockquote>Blockquoted: http://example.com/ <blockquote>Blockquoted: http://example.com/
@ -598,6 +656,7 @@ If you want, you can indent every line, but you can also be lazy and just indent
</ref> </ref>
</blockquote> </blockquote>
# And in list items.<ref>In list.</ref> # And in list items.<ref>In list.</ref>
This paragraph should not be part of the note, as it is not indented. This paragraph should not be part of the note, as it is not indented.
== Notes == == Notes ==

View file

@ -171,48 +171,79 @@ Pandoc (Meta [Str "Pandoc",Space,Str "Test",Space,Str "Suite"] ["John MacFarlane
, Header 1 [Str "Definition",Space,Str "Lists"] , Header 1 [Str "Definition",Space,Str "Lists"]
, Para [Str "Tight",Space,Str "using",Space,Str "spaces:"] , Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
, DefinitionList , DefinitionList
[ ([Str "apple"], [ ([Str "apple"],
[ Plain [Str "red",Space,Str "fruit"] ] [ [ Plain [Str "red",Space,Str "fruit"] ]
), ])
([Str "orange"], , ([Str "orange"],
[ Plain [Str "orange",Space,Str "fruit"] ] [ [ Plain [Str "orange",Space,Str "fruit"] ]
), ])
([Str "banana"], , ([Str "banana"],
[ Plain [Str "yellow",Space,Str "fruit"] ] [ [ Plain [Str "yellow",Space,Str "fruit"] ]
) ] ]) ]
, Para [Str "Tight",Space,Str "using",Space,Str "tabs:"] , Para [Str "Tight",Space,Str "using",Space,Str "tabs:"]
, DefinitionList , DefinitionList
[ ([Str "apple"], [ ([Str "apple"],
[ Plain [Str "red",Space,Str "fruit"] ] [ [ Plain [Str "red",Space,Str "fruit"] ]
), ])
([Str "orange"], , ([Str "orange"],
[ Plain [Str "orange",Space,Str "fruit"] ] [ [ Plain [Str "orange",Space,Str "fruit"] ]
), ])
([Str "banana"], , ([Str "banana"],
[ Plain [Str "yellow",Space,Str "fruit"] ] [ [ Plain [Str "yellow",Space,Str "fruit"] ]
) ] ]) ]
, Para [Str "Loose:"] , Para [Str "Loose:"]
, DefinitionList , DefinitionList
[ ([Str "apple"], [ ([Str "apple"],
[ Para [Str "red",Space,Str "fruit"] ] [ [ Para [Str "red",Space,Str "fruit"] ]
), ])
([Str "orange"], , ([Str "orange"],
[ Para [Str "orange",Space,Str "fruit"] ] [ [ Para [Str "orange",Space,Str "fruit"] ]
), ])
([Str "banana"], , ([Str "banana"],
[ Para [Str "yellow",Space,Str "fruit"] ] [ [ Para [Str "yellow",Space,Str "fruit"] ]
) ] ]) ]
, Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"] , Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"]
, DefinitionList , DefinitionList
[ ([Emph [Str "apple"]], [ ([Emph [Str "apple"]],
[ Para [Str "red",Space,Str "fruit"] [ [ Para [Str "red",Space,Str "fruit"]
, Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"] ] ), , Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"] ]])
([Emph [Str "orange"]], , ([Emph [Str "orange"]],
[ Para [Str "orange",Space,Str "fruit"] [ [ Para [Str "orange",Space,Str "fruit"]
, CodeBlock ("",[],[]) "{ orange code block }" , CodeBlock ("",[],[]) "{ orange code block }"
, BlockQuote , BlockQuote
[ Para [Str "orange",Space,Str "block",Space,Str "quote"] ] [ Para [Str "orange",Space,Str "block",Space,Str "quote"] ]
] ) ] ]]) ]
, Para [Str "Multiple",Space,Str "definitions,",Space,Str "tight:"]
, DefinitionList
[ ([Str "apple"],
[ [ Plain [Str "red",Space,Str "fruit"] ]
, [ Plain [Str "computer"] ]
])
, ([Str "orange"],
[ [ Plain [Str "orange",Space,Str "fruit"] ]
, [ Plain [Str "bank"] ]
]) ]
, Para [Str "Multiple",Space,Str "definitions,",Space,Str "loose:"]
, DefinitionList
[ ([Str "apple"],
[ [ Para [Str "red",Space,Str "fruit"] ]
, [ Para [Str "computer"] ]
])
, ([Str "orange"],
[ [ Para [Str "orange",Space,Str "fruit"] ]
, [ Para [Str "bank"] ]
]) ]
, Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term,",Space,Str "indented",Space,Str "marker,",Space,Str "alternate",Space,Str "markers:"]
, DefinitionList
[ ([Str "apple"],
[ [ Para [Str "red",Space,Str "fruit"] ]
, [ Para [Str "computer"] ]
])
, ([Str "orange"],
[ [ Para [Str "orange",Space,Str "fruit"]
, OrderedList (1,Decimal,Period)
[ [ Plain [Str "sublist"] ]
, [ Plain [Str "sublist"] ] ] ]]) ]
, Header 1 [Str "HTML",Space,Str "Blocks"] , Header 1 [Str "HTML",Space,Str "Blocks"]
, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"] , Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
, RawHtml "<div>" , RawHtml "<div>"

View file

@ -498,36 +498,9 @@
</text:list-level-style-number> </text:list-level-style-number>
</text:list-style> </text:list-style>
<text:list-style style:name="L25"> <text:list-style style:name="L25">
<text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">
<style:list-level-properties text:space-before="0.25in" text:min-label-width="0.25in" /> <style:list-level-properties text:space-before="0.25in" text:min-label-width="0.25in" />
</text:list-level-style-bullet> </text:list-level-style-number>
<text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="‣">
<style:list-level-properties text:space-before="0.5in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="">
<style:list-level-properties text:space-before="0.75in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="1.0in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="‣">
<style:list-level-properties text:space-before="1.25in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="">
<style:list-level-properties text:space-before="1.5in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="1.75in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="‣">
<style:list-level-properties text:space-before="2.0in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="">
<style:list-level-properties text:space-before="2.25in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="2.5in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
</text:list-style> </text:list-style>
<text:list-style style:name="L26"> <text:list-style style:name="L26">
<text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
@ -626,6 +599,38 @@
</text:list-level-style-bullet> </text:list-level-style-bullet>
</text:list-style> </text:list-style>
<text:list-style style:name="L29"> <text:list-style style:name="L29">
<text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="0.25in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="‣">
<style:list-level-properties text:space-before="0.5in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="">
<style:list-level-properties text:space-before="0.75in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="1.0in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="‣">
<style:list-level-properties text:space-before="1.25in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="">
<style:list-level-properties text:space-before="1.5in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="1.75in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="‣">
<style:list-level-properties text:space-before="2.0in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="">
<style:list-level-properties text:space-before="2.25in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
<style:list-level-properties text:space-before="2.5in" text:min-label-width="0.25in" />
</text:list-level-style-bullet>
</text:list-style>
<text:list-style style:name="L30">
<text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix="."> <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">
<style:list-level-properties text:space-before="0.25in" text:min-label-width="0.25in" /> <style:list-level-properties text:space-before="0.25in" text:min-label-width="0.25in" />
</text:list-level-style-number> </text:list-level-style-number>
@ -825,7 +830,8 @@
<style:style style:name="P43" style:family="paragraph" style:parent-style-name="Quotations"> <style:style style:name="P43" style:family="paragraph" style:parent-style-name="Quotations">
<style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" /> <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />
</style:style> </style:style>
<style:style style:name="P44" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:style style:name="P44" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L25">
<style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" />
</style:style> </style:style>
<style:style style:name="P45" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:style style:name="P45" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">
</style:style> </style:style>
@ -837,8 +843,7 @@
</style:style> </style:style>
<style:style style:name="P49" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:style style:name="P49" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">
</style:style> </style:style>
<style:style style:name="P50" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L25"> <style:style style:name="P50" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">
<style:paragraph-properties fo:margin-left="0.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" />
</style:style> </style:style>
<style:style style:name="P51" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L26"> <style:style style:name="P51" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L26">
<style:paragraph-properties fo:margin-left="0.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" /> <style:paragraph-properties fo:margin-left="0.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" />
@ -846,22 +851,25 @@
<style:style style:name="P52" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L27"> <style:style style:name="P52" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L27">
<style:paragraph-properties fo:margin-left="0.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" /> <style:paragraph-properties fo:margin-left="0.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" />
</style:style> </style:style>
<style:style style:name="P53" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:style style:name="P53" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L28">
</style:style>
<style:style style:name="P54" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L28">
<style:paragraph-properties fo:margin-left="0.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" /> <style:paragraph-properties fo:margin-left="0.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" />
</style:style> </style:style>
<style:style style:name="P55" style:family="paragraph" style:parent-style-name="Quotations"> <style:style style:name="P54" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">
<style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />
</style:style> </style:style>
<style:style style:name="P56" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:style style:name="P55" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L29">
<style:paragraph-properties fo:margin-left="0.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" />
</style:style>
<style:style style:name="P56" style:family="paragraph" style:parent-style-name="Quotations">
<style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />
</style:style> </style:style>
<style:style style:name="P57" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:style style:name="P57" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">
</style:style> </style:style>
<style:style style:name="P58" style:family="paragraph" style:parent-style-name="Quotations"> <style:style style:name="P58" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">
</style:style>
<style:style style:name="P59" style:family="paragraph" style:parent-style-name="Quotations">
<style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" /> <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />
</style:style> </style:style>
<style:style style:name="P59" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L29"> <style:style style:name="P60" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L30">
<style:paragraph-properties fo:margin-left="0.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" /> <style:paragraph-properties fo:margin-left="0.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" />
</style:style> </style:style>
</office:automatic-styles> </office:automatic-styles>
@ -1269,6 +1277,37 @@
<text:p text:style-name="Definition_20_Definition">orange fruit</text:p> <text:p text:style-name="Definition_20_Definition">orange fruit</text:p>
<text:p text:style-name="P42">{ orange code block }</text:p> <text:p text:style-name="P42">{ orange code block }</text:p>
<text:p text:style-name="P43">orange block quote</text:p> <text:p text:style-name="P43">orange block quote</text:p>
<text:p text:style-name="Text_20_body">Multiple definitions,
tight:</text:p>
<text:p text:style-name="Definition_20_Term_20_Tight">apple</text:p>
<text:p text:style-name="Definition_20_Definition_20_Tight">red fruit</text:p>
<text:p text:style-name="Definition_20_Definition_20_Tight">computer</text:p>
<text:p text:style-name="Definition_20_Term_20_Tight">orange</text:p>
<text:p text:style-name="Definition_20_Definition_20_Tight">orange fruit</text:p>
<text:p text:style-name="Definition_20_Definition_20_Tight">bank</text:p>
<text:p text:style-name="Text_20_body">Multiple definitions,
loose:</text:p>
<text:p text:style-name="Definition_20_Term">apple</text:p>
<text:p text:style-name="Definition_20_Definition">red fruit</text:p>
<text:p text:style-name="Definition_20_Definition">computer</text:p>
<text:p text:style-name="Definition_20_Term">orange</text:p>
<text:p text:style-name="Definition_20_Definition">orange fruit</text:p>
<text:p text:style-name="Definition_20_Definition">bank</text:p>
<text:p text:style-name="Text_20_body">Blank line after term,
indented marker, alternate markers:</text:p>
<text:p text:style-name="Definition_20_Term">apple</text:p>
<text:p text:style-name="Definition_20_Definition">red fruit</text:p>
<text:p text:style-name="Definition_20_Definition">computer</text:p>
<text:p text:style-name="Definition_20_Term">orange</text:p>
<text:p text:style-name="Definition_20_Definition">orange fruit</text:p>
<text:list text:style-name="L25">
<text:list-item>
<text:p text:style-name="P44">sublist</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name="P44">sublist</text:p>
</text:list-item>
</text:list>
<text:h text:style-name="Heading_20_1" text:outline-level="1">HTML <text:h text:style-name="Heading_20_1" text:outline-level="1">HTML
Blocks</text:h> Blocks</text:h>
<text:p text:style-name="Text_20_body">Simple block on one <text:p text:style-name="Text_20_body">Simple block on one
@ -1289,22 +1328,22 @@
<text:p text:style-name="Text_20_body">foo</text:p> <text:p text:style-name="Text_20_body">foo</text:p>
<text:p text:style-name="Text_20_body">This should be a code block, <text:p text:style-name="Text_20_body">This should be a code block,
though:</text:p> though:</text:p>
<text:p text:style-name="P44">&lt;div&gt;</text:p> <text:p text:style-name="P45">&lt;div&gt;</text:p>
<text:p text:style-name="P45"><text:s text:c="4" />foo</text:p> <text:p text:style-name="P46"><text:s text:c="4" />foo</text:p>
<text:p text:style-name="P46">&lt;/div&gt;</text:p> <text:p text:style-name="P47">&lt;/div&gt;</text:p>
<text:p text:style-name="Text_20_body">As should this:</text:p> <text:p text:style-name="Text_20_body">As should this:</text:p>
<text:p text:style-name="P47">&lt;div&gt;foo&lt;/div&gt;</text:p> <text:p text:style-name="P48">&lt;div&gt;foo&lt;/div&gt;</text:p>
<text:p text:style-name="Text_20_body">Now, nested:</text:p> <text:p text:style-name="Text_20_body">Now, nested:</text:p>
<text:p text:style-name="Text_20_body">foo</text:p> <text:p text:style-name="Text_20_body">foo</text:p>
<text:p text:style-name="Text_20_body">This should just be an HTML <text:p text:style-name="Text_20_body">This should just be an HTML
comment:</text:p> comment:</text:p>
<text:p text:style-name="Text_20_body">Multiline:</text:p> <text:p text:style-name="Text_20_body">Multiline:</text:p>
<text:p text:style-name="Text_20_body">Code block:</text:p> <text:p text:style-name="Text_20_body">Code block:</text:p>
<text:p text:style-name="P48">&lt;!-- Comment --&gt;</text:p> <text:p text:style-name="P49">&lt;!-- Comment --&gt;</text:p>
<text:p text:style-name="Text_20_body">Just plain comment, with <text:p text:style-name="Text_20_body">Just plain comment, with
trailing spaces on the line:</text:p> trailing spaces on the line:</text:p>
<text:p text:style-name="Text_20_body">Code:</text:p> <text:p text:style-name="Text_20_body">Code:</text:p>
<text:p text:style-name="P49">&lt;hr /&gt;</text:p> <text:p text:style-name="P50">&lt;hr /&gt;</text:p>
<text:p text:style-name="Text_20_body">Hr&#8217;s:</text:p> <text:p text:style-name="Text_20_body">Hr&#8217;s:</text:p>
<text:p text:style-name="Horizontal_20_Line" /> <text:p text:style-name="Horizontal_20_Line" />
<text:h text:style-name="Heading_20_1" text:outline-level="1">Inline <text:h text:style-name="Heading_20_1" text:outline-level="1">Inline
@ -1371,46 +1410,46 @@
<text:p text:style-name="Text_20_body">Ellipses&#8230;and&#8230;and&#8230;.</text:p> <text:p text:style-name="Text_20_body">Ellipses&#8230;and&#8230;and&#8230;.</text:p>
<text:p text:style-name="Horizontal_20_Line" /> <text:p text:style-name="Horizontal_20_Line" />
<text:h text:style-name="Heading_20_1" text:outline-level="1">LaTeX</text:h> <text:h text:style-name="Heading_20_1" text:outline-level="1">LaTeX</text:h>
<text:list text:style-name="L25"> <text:list text:style-name="L26">
<text:list-item> <text:list-item>
<text:p text:style-name="P50"><text:span text:style-name="Teletype">\cite[22-23]{smith.1899}</text:span></text:p> <text:p text:style-name="P51"><text:span text:style-name="Teletype">\cite[22-23]{smith.1899}</text:span></text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P50">2+2=4</text:p> <text:p text:style-name="P51">2+2=4</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P50"><text:span text:style-name="T58">x</text:span> ∈ <text:span text:style-name="T59">y</text:span></text:p> <text:p text:style-name="P51"><text:span text:style-name="T58">x</text:span> ∈ <text:span text:style-name="T59">y</text:span></text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P50">α ∧ ω</text:p> <text:p text:style-name="P51">α ∧ ω</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P50">223</text:p> <text:p text:style-name="P51">223</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P50"><text:span text:style-name="T60">p</text:span>-Tree</text:p> <text:p text:style-name="P51"><text:span text:style-name="T60">p</text:span>-Tree</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P50">Here&#8217;s some display math: \frac{<text:span text:style-name="T61">d</text:span>}{<text:span text:style-name="T62">dx</text:span>}<text:span text:style-name="T63">f</text:span>(<text:span text:style-name="T64">x</text:span>)=\lim<text:span text:style-name="T65">h</text:span><text:span text:style-name="T66"> → </text:span><text:span text:style-name="T67">0</text:span>\frac{<text:span text:style-name="T68">f</text:span>(<text:span text:style-name="T69">x</text:span>+<text:span text:style-name="T70">h</text:span>)-<text:span text:style-name="T71">f</text:span>(<text:span text:style-name="T72">x</text:span>)}{<text:span text:style-name="T73">h</text:span>}</text:p> <text:p text:style-name="P51">Here&#8217;s some display math: \frac{<text:span text:style-name="T61">d</text:span>}{<text:span text:style-name="T62">dx</text:span>}<text:span text:style-name="T63">f</text:span>(<text:span text:style-name="T64">x</text:span>)=\lim<text:span text:style-name="T65">h</text:span><text:span text:style-name="T66"> → </text:span><text:span text:style-name="T67">0</text:span>\frac{<text:span text:style-name="T68">f</text:span>(<text:span text:style-name="T69">x</text:span>+<text:span text:style-name="T70">h</text:span>)-<text:span text:style-name="T71">f</text:span>(<text:span text:style-name="T72">x</text:span>)}{<text:span text:style-name="T73">h</text:span>}</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P50">Here&#8217;s one that has a line break in it: α+ω × <text:span text:style-name="T74">x</text:span><text:span text:style-name="T75">2</text:span>.</text:p> <text:p text:style-name="P51">Here&#8217;s one that has a line break in it: α+ω × <text:span text:style-name="T74">x</text:span><text:span text:style-name="T75">2</text:span>.</text:p>
</text:list-item> </text:list-item>
</text:list> </text:list>
<text:p text:style-name="Text_20_body">These shouldn&#8217;t be <text:p text:style-name="Text_20_body">These shouldn&#8217;t be
math:</text:p> math:</text:p>
<text:list text:style-name="L26"> <text:list text:style-name="L27">
<text:list-item> <text:list-item>
<text:p text:style-name="P51">To get the famous equation, write <text:span text:style-name="Teletype">$e = mc^2$</text:span>.</text:p> <text:p text:style-name="P52">To get the famous equation, write <text:span text:style-name="Teletype">$e = mc^2$</text:span>.</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P51">$22,000 is a <text:span text:style-name="T76">lot</text:span> of money. So is $34,000. (It worked if &#8220;lot&#8221; is emphasized.)</text:p> <text:p text:style-name="P52">$22,000 is a <text:span text:style-name="T76">lot</text:span> of money. So is $34,000. (It worked if &#8220;lot&#8221; is emphasized.)</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P51">Shoes ($20) and socks ($5).</text:p> <text:p text:style-name="P52">Shoes ($20) and socks ($5).</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P51">Escaped <text:span text:style-name="Teletype">$</text:span>: $73 <text:span text:style-name="T77">this</text:span><text:span text:style-name="T78"> </text:span><text:span text:style-name="T79">should</text:span><text:span text:style-name="T80"> </text:span><text:span text:style-name="T81">be</text:span><text:span text:style-name="T82"> </text:span><text:span text:style-name="T83">emphasized</text:span> 23$.</text:p> <text:p text:style-name="P52">Escaped <text:span text:style-name="Teletype">$</text:span>: $73 <text:span text:style-name="T77">this</text:span><text:span text:style-name="T78"> </text:span><text:span text:style-name="T79">should</text:span><text:span text:style-name="T80"> </text:span><text:span text:style-name="T81">be</text:span><text:span text:style-name="T82"> </text:span><text:span text:style-name="T83">emphasized</text:span> 23$.</text:p>
</text:list-item> </text:list-item>
</text:list> </text:list>
<text:p text:style-name="Text_20_body">Here&#8217;s a LaTeX <text:p text:style-name="Text_20_body">Here&#8217;s a LaTeX
@ -1425,21 +1464,21 @@ Cat <text:s text:c="3" />&amp; 1 <text:s text:c="5" />\\ \hline
Characters</text:h> Characters</text:h>
<text:p text:style-name="Text_20_body">Here is some <text:p text:style-name="Text_20_body">Here is some
unicode:</text:p> unicode:</text:p>
<text:list text:style-name="L27"> <text:list text:style-name="L28">
<text:list-item> <text:list-item>
<text:p text:style-name="P52">I hat: Î</text:p> <text:p text:style-name="P53">I hat: Î</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P52">o umlaut: ö</text:p> <text:p text:style-name="P53">o umlaut: ö</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P52">section: §</text:p> <text:p text:style-name="P53">section: §</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P52">set membership: ∈</text:p> <text:p text:style-name="P53">set membership: ∈</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P52">copyright: ©</text:p> <text:p text:style-name="P53">copyright: ©</text:p>
</text:list-item> </text:list-item>
</text:list> </text:list>
<text:p text:style-name="Text_20_body">AT&amp;T has an ampersand in <text:p text:style-name="Text_20_body">AT&amp;T has an ampersand in
@ -1497,7 +1536,7 @@ Cat <text:s text:c="3" />&amp; 1 <text:s text:c="5" />\\ \hline
<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">thrice</text:span></text:a>.</text:p> <text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">thrice</text:span></text:a>.</text:p>
<text:p text:style-name="Text_20_body">This should [not][] be a <text:p text:style-name="Text_20_body">This should [not][] be a
link.</text:p> link.</text:p>
<text:p text:style-name="P53">[not]: /url</text:p> <text:p text:style-name="P54">[not]: /url</text:p>
<text:p text:style-name="Text_20_body">Foo <text:p text:style-name="Text_20_body">Foo
<text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quotes&quot; inside"><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p> <text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quotes&quot; inside"><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>
<text:p text:style-name="Text_20_body">Foo <text:p text:style-name="Text_20_body">Foo
@ -1516,24 +1555,24 @@ Cat <text:s text:c="3" />&amp; 1 <text:s text:c="5" />\\ \hline
<text:h text:style-name="Heading_20_2" text:outline-level="2">Autolinks</text:h> <text:h text:style-name="Heading_20_2" text:outline-level="2">Autolinks</text:h>
<text:p text:style-name="Text_20_body">With an ampersand: <text:p text:style-name="Text_20_body">With an ampersand:
<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">http://example.com/?foo=1&amp;bar=2</text:span></text:span></text:a></text:p> <text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">http://example.com/?foo=1&amp;bar=2</text:span></text:span></text:a></text:p>
<text:list text:style-name="L28"> <text:list text:style-name="L29">
<text:list-item> <text:list-item>
<text:p text:style-name="P54">In a list?</text:p> <text:p text:style-name="P55">In a list?</text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P54"><text:a xlink:type="simple" xlink:href="http://example.com/" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">http://example.com/</text:span></text:span></text:a></text:p> <text:p text:style-name="P55"><text:a xlink:type="simple" xlink:href="http://example.com/" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">http://example.com/</text:span></text:span></text:a></text:p>
</text:list-item> </text:list-item>
<text:list-item> <text:list-item>
<text:p text:style-name="P54">It should.</text:p> <text:p text:style-name="P55">It should.</text:p>
</text:list-item> </text:list-item>
</text:list> </text:list>
<text:p text:style-name="Text_20_body">An e-mail address: <text:p text:style-name="Text_20_body">An e-mail address:
<text:a xlink:type="simple" xlink:href="mailto:nobody@nowhere.net" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">nobody@nowhere.net</text:span></text:span></text:a></text:p> <text:a xlink:type="simple" xlink:href="mailto:nobody@nowhere.net" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">nobody@nowhere.net</text:span></text:span></text:a></text:p>
<text:p text:style-name="P55">Blockquoted: <text:a xlink:type="simple" xlink:href="http://example.com/" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">http://example.com/</text:span></text:span></text:a></text:p> <text:p text:style-name="P56">Blockquoted: <text:a xlink:type="simple" xlink:href="http://example.com/" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Teletype">http://example.com/</text:span></text:span></text:a></text:p>
<text:p text:style-name="Text_20_body">Auto-links should not occur <text:p text:style-name="Text_20_body">Auto-links should not occur
here: here:
<text:span text:style-name="Teletype">&lt;http://example.com/&gt;</text:span></text:p> <text:span text:style-name="Teletype">&lt;http://example.com/&gt;</text:span></text:p>
<text:p text:style-name="P56">or here: &lt;http://example.com/&gt;</text:p> <text:p text:style-name="P57">or here: &lt;http://example.com/&gt;</text:p>
<text:p text:style-name="Horizontal_20_Line" /> <text:p text:style-name="Horizontal_20_Line" />
<text:h text:style-name="Heading_20_1" text:outline-level="1">Images</text:h> <text:h text:style-name="Heading_20_1" text:outline-level="1">Images</text:h>
<text:p text:style-name="Text_20_body">From <text:p text:style-name="Text_20_body">From
@ -1552,7 +1591,7 @@ Cat <text:s text:c="3" />&amp; 1 <text:s text:c="5" />\\ \hline
another.<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>2</text:note-citation> another.<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>2</text:note-citation>
<text:note-body><text:p text:style-name="Footnote">Here&#8217;s the long note. This one contains multiple blocks.</text:p> <text:note-body><text:p text:style-name="Footnote">Here&#8217;s the long note. This one contains multiple blocks.</text:p>
<text:p text:style-name="Footnote">Subsequent blocks are indented to show that they belong to the footnote (as with list items).</text:p> <text:p text:style-name="Footnote">Subsequent blocks are indented to show that they belong to the footnote (as with list items).</text:p>
<text:p text:style-name="P57"><text:s text:c="2" />{ &lt;code&gt; }</text:p> <text:p text:style-name="P58"><text:s text:c="2" />{ &lt;code&gt; }</text:p>
<text:p text:style-name="Footnote">If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.</text:p></text:note-body></text:note> <text:p text:style-name="Footnote">If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.</text:p></text:note-body></text:note>
This should This should
<text:span text:style-name="T84">not</text:span> be a <text:span text:style-name="T84">not</text:span> be a
@ -1560,11 +1599,11 @@ Cat <text:s text:c="3" />&amp; 1 <text:s text:c="5" />\\ \hline
note] Here is an inline note] Here is an inline
note.<text:note text:id="ftn2" text:note-class="footnote"><text:note-citation>3</text:note-citation> note.<text:note text:id="ftn2" text:note-class="footnote"><text:note-citation>3</text:note-citation>
<text:note-body><text:p text:style-name="Footnote">This is <text:span text:style-name="T85">easier</text:span> to type. Inline notes may contain <text:a xlink:type="simple" xlink:href="http://google.com" office:name=""><text:span text:style-name="Definition">links</text:span></text:a> and <text:span text:style-name="Teletype">]</text:span> verbatim characters, as well as [bracketed text].</text:p></text:note-body></text:note></text:p> <text:note-body><text:p text:style-name="Footnote">This is <text:span text:style-name="T85">easier</text:span> to type. Inline notes may contain <text:a xlink:type="simple" xlink:href="http://google.com" office:name=""><text:span text:style-name="Definition">links</text:span></text:a> and <text:span text:style-name="Teletype">]</text:span> verbatim characters, as well as [bracketed text].</text:p></text:note-body></text:note></text:p>
<text:p text:style-name="P58">Notes can go in quotes.<text:note text:id="ftn3" text:note-class="footnote"><text:note-citation>4</text:note-citation> <text:p text:style-name="P59">Notes can go in quotes.<text:note text:id="ftn3" text:note-class="footnote"><text:note-citation>4</text:note-citation>
<text:note-body><text:p text:style-name="Footnote">In quote.</text:p></text:note-body></text:note></text:p> <text:note-body><text:p text:style-name="Footnote">In quote.</text:p></text:note-body></text:note></text:p>
<text:list text:style-name="L29"> <text:list text:style-name="L30">
<text:list-item> <text:list-item>
<text:p text:style-name="P59">And in list items.<text:note text:id="ftn4" text:note-class="footnote"><text:note-citation>5</text:note-citation> <text:p text:style-name="P60">And in list items.<text:note text:id="ftn4" text:note-class="footnote"><text:note-citation>5</text:note-citation>
<text:note-body><text:p text:style-name="Footnote">In list.</text:p></text:note-body></text:note></text:p> <text:note-body><text:p text:style-name="Footnote">In list.</text:p></text:note-body></text:note></text:p>
</text:list-item> </text:list-item>
</text:list> </text:list>

View file

@ -386,6 +386,43 @@ Multiple blocks with italics:
Multiple definitions, tight:
apple
red fruit
computer
orange
orange fruit
bank
Multiple definitions, loose:
apple
red fruit
computer
orange
orange fruit
bank
Blank line after term, indented marker, alternate markers:
apple
red fruit
computer
orange
orange fruit
1. sublist
2. sublist
HTML Blocks HTML Blocks
=========== ===========

View file

@ -181,6 +181,28 @@ These should not be escaped: \\$ \\\\ \\> \\[ \\\{\par}
{\pard \ql \f0 \sa180 \li360 \fi0 orange fruit\par} {\pard \ql \f0 \sa180 \li360 \fi0 orange fruit\par}
{\pard \ql \f0 \sa180 \li360 \fi0 \f1 \{ orange code block \}\par} {\pard \ql \f0 \sa180 \li360 \fi0 \f1 \{ orange code block \}\par}
{\pard \ql \f0 \sa180 \li1080 \fi0 orange block quote\sa180\par} {\pard \ql \f0 \sa180 \li1080 \fi0 orange block quote\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Multiple definitions, tight:\par}
{\pard \ql \f0 \sa0 \li0 \fi0 apple\par}
{\pard \ql \f0 \sa0 \li360 \fi0 red fruit\par}
{\pard \ql \f0 \sa0 \li360 \fi0 computer\par}
{\pard \ql \f0 \sa0 \li0 \fi0 orange\par}
{\pard \ql \f0 \sa0 \li360 \fi0 orange fruit\par}
{\pard \ql \f0 \sa0 \li360 \fi0 bank\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Multiple definitions, loose:\par}
{\pard \ql \f0 \sa0 \li0 \fi0 apple\par}
{\pard \ql \f0 \sa180 \li360 \fi0 red fruit\par}
{\pard \ql \f0 \sa180 \li360 \fi0 computer\par}
{\pard \ql \f0 \sa0 \li0 \fi0 orange\par}
{\pard \ql \f0 \sa180 \li360 \fi0 orange fruit\par}
{\pard \ql \f0 \sa180 \li360 \fi0 bank\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Blank line after term, indented marker, alternate markers:\par}
{\pard \ql \f0 \sa0 \li0 \fi0 apple\par}
{\pard \ql \f0 \sa180 \li360 \fi0 red fruit\par}
{\pard \ql \f0 \sa180 \li360 \fi0 computer\par}
{\pard \ql \f0 \sa0 \li0 \fi0 orange\par}
{\pard \ql \f0 \sa180 \li360 \fi0 orange fruit\par}
{\pard \ql \f0 \sa0 \li720 \fi-360 1.\tx360\tab sublist\par}
{\pard \ql \f0 \sa0 \li720 \fi-360 2.\tx360\tab sublist\sa180\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 HTML Blocks\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 HTML Blocks\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Simple block on one line:\par} {\pard \ql \f0 \sa180 \li0 \fi0 Simple block on one line:\par}
{\pard \ql \f0 \sa0 \li0 \fi0 foo\par} {\pard \ql \f0 \sa0 \li0 \fi0 foo\par}

View file

@ -586,6 +586,58 @@ orange block quote
@end quotation @end quotation
@end table @end table
Multiple definitions@comma{} tight:
@table @asis
@item apple
red fruit
computer
@item orange
orange fruit
bank
@end table
Multiple definitions@comma{} loose:
@table @asis
@item apple
red fruit
computer
@item orange
orange fruit
bank
@end table
Blank line after term@comma{} indented marker@comma{} alternate markers:
@table @asis
@item apple
red fruit
computer
@item orange
orange fruit
@enumerate
@item
sublist
@item
sublist
@end enumerate
@end table
@node HTML Blocks @node HTML Blocks
@chapter HTML Blocks @chapter HTML Blocks