From dd210437f6abab19512c387ac73af1e3e44aa5ae Mon Sep 17 00:00:00 2001 From: fiddlosopher Date: Thu, 31 Dec 2009 01:16:00 +0000 Subject: Use $for$ for multiple authors in context, latex, markdown. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1723 788f1e2b-df1e-0410-8736-df70ead52e1b --- src/Text/Pandoc/Writers/ConTeXt.hs | 4 ++-- src/Text/Pandoc/Writers/LaTeX.hs | 6 +++--- src/Text/Pandoc/Writers/Markdown.hs | 7 +++---- templates/context.template | 4 +--- templates/latex.template | 4 +--- templates/markdown.template | 2 +- 6 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/Text/Pandoc/Writers/ConTeXt.hs b/src/Text/Pandoc/Writers/ConTeXt.hs index 6c9a7ace8..55105f786 100644 --- a/src/Text/Pandoc/Writers/ConTeXt.hs +++ b/src/Text/Pandoc/Writers/ConTeXt.hs @@ -76,8 +76,8 @@ pandocToConTeXt options (Pandoc (Meta title authors date) blocks) = do [ ("toc", if writerTableOfContents options then "yes" else "") , ("body", main) , ("title", titletext) - , ("authors", intercalate "\\\\" authorstext) - , ("date", datetext) ] + , ("date", datetext) ] ++ + [ ("author", a) | a <- authorstext ] return $ if writerStandalone options then renderTemplate context $ writerTemplate options else main diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index 6782cc14e..412d774e9 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -32,7 +32,7 @@ import Text.Pandoc.Definition import Text.Pandoc.Shared import Text.Pandoc.Templates import Text.Printf ( printf ) -import Data.List ( (\\), isSuffixOf, intercalate, intersperse ) +import Data.List ( (\\), isSuffixOf, intersperse ) import Data.Char ( toLower ) import Control.Monad.State import Control.Monad (liftM) @@ -67,8 +67,8 @@ pandocToLaTeX options (Pandoc (Meta title authors date) blocks) = do [ ("toc", if writerTableOfContents options then "yes" else "") , ("body", main) , ("title", titletext) - , ("authors", intercalate "\\\\" authorsText) - , ("date", dateText) ] + , ("date", dateText) ] ++ + [ ("author", a) | a <- authorsText ] return $ if writerStandalone options then renderTemplate context $ writerTemplate options else main diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs index 7b3bb9f1f..5f44449f0 100644 --- a/src/Text/Pandoc/Writers/Markdown.hs +++ b/src/Text/Pandoc/Writers/Markdown.hs @@ -52,8 +52,7 @@ writeMarkdown opts document = pandocToMarkdown :: WriterOptions -> Pandoc -> State WriterState String pandocToMarkdown opts (Pandoc (Meta title authors date) blocks) = do title' <- inlineListToMarkdown opts title - authors' <- liftM (hcat . intersperse (text "; ")) $ - mapM (inlineListToMarkdown opts) authors + authors' <- mapM (inlineListToMarkdown opts) authors date' <- inlineListToMarkdown opts date let titleblock = not $ null title && null authors && null date let headerBlocks = filter isHeaderBlock blocks @@ -76,10 +75,10 @@ pandocToMarkdown opts (Pandoc (Meta title authors date) blocks) = do [ ("toc", render toc) , ("body", main) , ("title", render title') - , ("authors", render authors') , ("date", render date') ] ++ - [ ("titleblock", "yes") | titleblock ] + [ ("titleblock", "yes") | titleblock ] ++ + [ ("author", render a) | a <- authors' ] if writerStandalone opts then return $ renderTemplate context $ writerTemplate opts else return main diff --git a/templates/context.template b/templates/context.template index 6b9c04a7e..3981d1c51 100644 --- a/templates/context.template +++ b/templates/context.template @@ -78,9 +78,7 @@ $endfor$ $if(title)$ \doctitle{$title$} $endif$ -$if(authors)$ -\author{$authors$} -$endif$ +\author{$for(author)$$author$$sep$\\$endfor$} $if(date)$ \date{$date$} $endif$ diff --git a/templates/latex.template b/templates/latex.template index 407348b52..80f34857d 100644 --- a/templates/latex.template +++ b/templates/latex.template @@ -38,9 +38,7 @@ $endfor$ $if(title)$ \title{$title$} $endif$ -$if(authors)$ -\author{$authors$} -$endif$ +\author{$for(author)$$author$$sep$\\$endfor$} $if(date)$ \date{$date$} $endif$ diff --git a/templates/markdown.template b/templates/markdown.template index 70f1b59b0..6124462ba 100644 --- a/templates/markdown.template +++ b/templates/markdown.template @@ -1,6 +1,6 @@ $if(titleblock)$ % $title$ -% $authors$ +% $for(author)$$author$$sep$; $endfor$ % $date$ $endif$ -- cgit v1.2.3