@@ -31,6 +31,7 @@ Conversion of 'Pandoc' format into ConTeXt.
3131module Text.Pandoc.Writers.ConTeXt ( writeConTeXt ) where
3232import Text.Pandoc.Definition
3333import Text.Pandoc.Shared
34+import Text.Pandoc.Generic (queryWith)
3435import Text.Printf ( printf )
3536import Data.List ( intercalate )
3637import Control.Monad.State
@@ -290,5 +291,10 @@ inlineToConTeXt (Image _ (src, _)) = do
290291 return $ braces $ "\\externalfigure" <> brackets (text src')
291292inlineToConTeXt (Note contents) = do
292293 contents' <- blockListToConTeXt contents
293− return $ text "\\footnote{" <>
294− nest 2 contents' <> char '}'
294+ let codeBlock x@(CodeBlock _ _) = [x]
295+ codeBlock _ = []
296+ let codeBlocks = queryWith codeBlock contents
297+ return $ if null codeBlocks
298+ then text "\\footnote{" <> nest 2 contents' <> char '}'
299+ else text "\\startbuffer " <> nest 2 contents' <>
300+ text "\\stopbuffer\\footnote{\\getbuffer}"