Distinguish latex & context environments; blank line after in writers.

This commit is contained in:
John MacFarlane 2011-01-24 09:05:51 -08:00
parent bd43c0f4c9
commit eb26fa6f54
6 changed files with 9 additions and 14 deletions

View file

@ -711,9 +711,10 @@ rawVerbatimBlock = try $ do
rawTeXBlock :: GenParser Char ParserState Block
rawTeXBlock = do
failIfStrict
result <- rawLaTeXEnvironment' <|> rawConTeXtEnvironment'
result <- liftM (RawBlock "latex") rawLaTeXEnvironment'
<|> liftM (RawBlock "context") rawConTeXtEnvironment'
spaces
return $ RawBlock "latex" result
return result
rawHtmlBlocks :: GenParser Char ParserState Block
rawHtmlBlocks = do
@ -1186,7 +1187,7 @@ inlineNote = try $ do
rawLaTeXInline' :: GenParser Char ParserState Inline
rawLaTeXInline' = do
failIfStrict
(rawConTeXtEnvironment' >>= return . RawInline "latex")
(rawConTeXtEnvironment' >>= return . RawInline "context")
<|> (rawLaTeXEnvironment' >>= return . RawInline "latex")
<|> rawLaTeXInline

View file

@ -124,9 +124,7 @@ blockToConTeXt (BlockQuote lst) = do
blockToConTeXt (CodeBlock _ str) =
return $ "\\starttyping" <> cr <> flush (text str) <> cr <> "\\stoptyping" $$ blankline
-- blankline because \stoptyping can't have anything after it, inc. '}'
blockToConTeXt (RawBlock "context" str) = return $ text str
-- for backwards compatibility, allow latex too:
blockToConTeXt (RawBlock "latex" str) = return $ text str
blockToConTeXt (RawBlock "context" str) = return $ text str <> blankline
blockToConTeXt (RawBlock _ _ ) = return empty
blockToConTeXt (BulletList lst) = do
contents <- mapM listItemToConTeXt lst

View file

@ -184,7 +184,7 @@ blockToLaTeX (CodeBlock (_,classes,_) str) = do
else return "verbatim"
return $ "\\begin{" <> text env <> "}" $$ flush (text str) $$
"\\end{" <> text env <> "}" $$ cr -- final cr needed because of footnotes
blockToLaTeX (RawBlock "latex" x) = return $ text x
blockToLaTeX (RawBlock "latex" x) = return $ text x <> blankline
blockToLaTeX (RawBlock _ _) = return empty
blockToLaTeX (BulletList lst) = do
items <- mapM listItemToLaTeX lst

View file

@ -2,8 +2,8 @@
,Header 2 [Str "Blank",Space,Str "line",Space,Str "before",Space,Str "URL",Space,Str "in",Space,Str "link",Space,Str "reference"]
,Para [Link [Str "foo"] ("/url",""),Space,Str "and",Space,Link [Str "bar"] ("/url","title")]
,Header 2 [Str "Raw",Space,Str "ConTeXt",Space,Str "environments"]
,Para [RawInline "latex" "\\placeformula",Space,RawInline "latex" "\\startformula\n L_{1} = L_{2}\n \\stopformula"]
,RawBlock "latex" "\\start[a2]\n\\start[a2]\n\\stop[a2]\n\\stop[a2]"
,Para [RawInline "latex" "\\placeformula",Space,RawInline "context" "\\startformula\n L_{1} = L_{2}\n \\stopformula"]
,RawBlock "context" "\\start[a2]\n\\start[a2]\n\\stop[a2]\n\\stop[a2]"
,Header 2 [Str "URLs",Space,Str "with",Space,Str "spaces"]
,Para [Link [Str "foo"] ("/bar%20and%20baz",""),Space,Link [Str "foo"] ("/bar%20and%20baz",""),Space,Link [Str "foo"] ("/bar%20and%20baz",""),Space,Link [Str "foo"] ("bar%20baz","title")]
,Para [Link [Str "baz"] ("/foo%20foo",""),Space,Link [Str "bam"] ("/foo%20fee",""),Space,Link [Str "bork"] ("/foo/zee%20zob","title")]

View file

@ -691,11 +691,6 @@ These shouldn't be math:
Here's a LaTeX table:
\begin{tabular}{|l|l|}\hline
Animal & Number \\ \hline
Dog & 2 \\
Cat & 1 \\ \hline
\end{tabular}
\thinrule
\subject{Special Characters}

View file

@ -634,6 +634,7 @@ Animal & Number \\ \hline
Dog & 2 \\
Cat & 1 \\ \hline
\end{tabular}
\begin{center}\rule{3in}{0.4pt}\end{center}
\section{Special Characters}