aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <fiddlosopher@gmail.com>2012-09-16 11:20:53 -0700
committerJohn MacFarlane <fiddlosopher@gmail.com>2012-09-16 11:20:53 -0700
commit1e2b20f8bc97965bbe98b318185b2b58a1d46845 (patch)
tree1441283df049b0997c3047f10990aeb86f87c560
parent23e1a25014a17d2fd8bf6bcdf080da36c0243a30 (diff)
downloadpandoc-1e2b20f8bc97965bbe98b318185b2b58a1d46845.tar.gz
LaTeX writer: Properly escape strings inside \url{}.
Closes #576.
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs3
-rw-r--r--tests/writer.latex2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 2b5c7e84b..54c112b09 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -577,7 +577,8 @@ inlineToLaTeX (Link txt (src, _)) =
case txt of
[Code _ x] | x == src -> -- autolink
do modify $ \s -> s{ stUrl = True }
- return $ text $ "\\url{" ++ x ++ "}"
+ src' <- stringToLaTeX True x
+ return $ text $ "\\url{" ++ src' ++ "}"
_ -> do contents <- inlineListToLaTeX txt
src' <- stringToLaTeX True src
return $ text ("\\href{" ++ src' ++ "}{") <>
diff --git a/tests/writer.latex b/tests/writer.latex
index bab23cd64..c3dbcb3fd 100644
--- a/tests/writer.latex
+++ b/tests/writer.latex
@@ -834,7 +834,7 @@ Here's an \href{/script?foo=1\&bar=2}{inline link in pointy braces}.
\subsection{Autolinks}
-With an ampersand: \url{http://example.com/?foo=1&bar=2}
+With an ampersand: \url{http://example.com/?foo=1\&bar=2}
\begin{itemize}
\item