From 453dc5345792530eb719df57158419eb61c70677 Mon Sep 17 00:00:00 2001
From: fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>
Date: Thu, 26 Jul 2007 03:15:35 +0000
Subject: [PATCH] Fixes in LaTeX writer: + put \VerbatimFootnotes right before
 \title block, to avoid   bad interactions. + added deVerb in description
 list. + removed \texttt{} from deVerb, because it cannot go in description  
 lists.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@802 788f1e2b-df1e-0410-8736-df70ead52e1b
---
 src/Text/Pandoc/Writers/LaTeX.hs | 10 +++++-----
 tests/writer.latex               |  5 ++---
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index dfbbc8f58..d9982cb69 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -91,8 +91,8 @@ latexHeader options (Meta title authors date) = do
                       else "\\setcounter{secnumdepth}{0}\n" 
   let baseHeader = writerHeader options
   let header     = baseHeader ++ extras
-  return $ header ++ secnumline ++ titletext ++ authorstext ++ datetext ++ 
-           "\\begin{document}\n" ++ maketitle ++ verbatim ++ "\n"
+  return $ header ++ secnumline ++ verbatim ++ titletext ++ authorstext ++
+           datetext ++ "\\begin{document}\n" ++ maketitle ++ "\n"
 
 -- escape things as needed for LaTeX
 
@@ -112,7 +112,7 @@ stringToLaTeX = escapeStringUsing latexEscapes
 deVerb :: [Inline] -> [Inline]
 deVerb [] = []
 deVerb ((Code str):rest) = 
-  (Str $ "\\texttt{" ++ stringToLaTeX str ++ "}"):(deVerb rest)
+  (Str $ stringToLaTeX str):(deVerb rest)
 deVerb (other:rest) = other:(deVerb rest)
 
 -- | Convert Pandoc block element to LaTeX.
@@ -179,9 +179,9 @@ tableRowToLaTeX cols =
 listItemToLaTeX lst = blockListToLaTeX lst >>= (return . ("\\item "++)) 
 
 defListItemToLaTeX (term, def) = do
-    term' <- inlineListToLaTeX term
+    term' <- inlineListToLaTeX (deVerb term)
     def'  <- blockListToLaTeX def
-    return $ "\\item[" ++ substitute "]" "\\]" term' ++ "] " ++ def'
+    return $ "\\item[" ++ term' ++ "] " ++ def'
 
 -- | Convert list of inline elements to LaTeX.
 inlineListToLaTeX :: [Inline]  -- ^ Inlines to convert
diff --git a/tests/writer.latex b/tests/writer.latex
index 5c52a4cd7..03ae0377c 100644
--- a/tests/writer.latex
+++ b/tests/writer.latex
@@ -3,14 +3,13 @@
 \usepackage[utf8x]{inputenc}
 \setlength{\parindent}{0pt}
 \setlength{\parskip}{6pt plus 2pt minus 1pt}
-% This is needed for code blocks in footnotes:
-\usepackage{fancyvrb}
-\VerbatimFootnotes
 \newcommand{\textsubscript}[1]{\ensuremath{_{\scriptsize\textrm{#1}}}}
 \usepackage[breaklinks=true]{hyperref}
 \usepackage[normalem]{ulem}
+\usepackage{fancyvrb}
 \usepackage{graphicx}
 \setcounter{secnumdepth}{0}
+\VerbatimFootnotes % allows verbatim text in footnotes
 \title{Pandoc Test Suite}
 \author{John MacFarlane\\Anonymous}
 \date{July 17, 2006}