summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2023-06-22 19:46:56 +0200
committerGitHub <noreply@github.com>2023-06-22 10:46:56 -0700
commitcce347eaf57b8ab8d94e536a93e82cf48a05c6eb (patch)
tree8ae4118f46974b24ebd4dad2dfa1a9fe4c704a92
parent52297a2bd3f114b8ec219aa166404caff6a3638f (diff)
LaTeX reader: support alt text on images. (#8745)
Closes: #8743
-rw-r--r--src/Text/Pandoc/Readers/LaTeX.hs8
-rw-r--r--test/command/8745.md52
2 files changed, 55 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
index 39386843f..34c36d1bc 100644
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -213,7 +213,7 @@ mkImage options (T.unpack -> src) = do
let kvs = map replaceTextwidth
$ filter (\(k,_) -> k `elem` ["width", "height"]) options
let attr = ("",[], kvs)
- let alt = str "image"
+ let alt = maybe (str "image") str $ lookup "alt" options
defaultExt <- getOption readerDefaultImageExtension
let exts' = [".pdf", ".png", ".jpg", ".mps", ".jpeg", ".jbig2", ".jb2"]
let exts = exts' ++ map (map toUpper) exts'
@@ -1171,9 +1171,7 @@ figure' = try $ do
innerContent <- many $ try (Left <$> label) <|> (Right <$> block)
let content = walk go $ mconcat $ snd $ partitionEithers innerContent
st <- getState
- let caption' = case sCaption st of
- Nothing -> B.emptyCaption
- Just capt -> capt
+ let caption' = fromMaybe B.emptyCaption $ sCaption st
let mblabel = sLastLabel st
let attr = case mblabel of
Just lab -> (lab, [], [])
@@ -1190,7 +1188,7 @@ figure' = try $ do
where
-- Remove the `Image` caption b.c. it's on the `Figure`
- go (Para [Image attr _ target]) = Plain [Image attr [] target]
+ go (Para [Image attr [Str "image"] target]) = Plain [Image attr [] target]
go x = x
coloredBlock :: PandocMonad m => Text -> LP m Blocks
diff --git a/test/command/8745.md b/test/command/8745.md
new file mode 100644
index 000000000..bb671489d
--- /dev/null
+++ b/test/command/8745.md
@@ -0,0 +1,52 @@
+# Alt text on images
+
+```
+% pandoc -f latex -t native
+\documentclass[12pt]{article}
+\usepackage{graphicx}
+\begin{document}
+Sample text
+\begin{figure}[ht]
+ \includegraphics[alt={Upside down painting},width=0.5\textwidth]{New_York_City_I.jpg}
+ \caption{New York City by Piet Mondrian (Wikipedia)}
+ \label{fig:Mondrian}
+\end{figure}
+\includegraphics[alt={Face of a mandrill}]{mandrill.jpg}
+\end{document}
+^D
+[ Para [ Str "Sample" , Space , Str "text" ]
+, Figure
+ ( "fig:Mondrian" , [] , [] )
+ (Caption
+ Nothing
+ [ Plain
+ [ Str "New"
+ , Space
+ , Str "York"
+ , Space
+ , Str "City"
+ , Space
+ , Str "by"
+ , Space
+ , Str "Piet"
+ , Space
+ , Str "Mondrian"
+ , Space
+ , Str "(Wikipedia)"
+ ]
+ ])
+ [ Para
+ [ Image
+ ( "" , [] , [ ( "width" , "50%" ) ] )
+ [ Str "Upside down painting" ]
+ ( "New_York_City_I.jpg" , "" )
+ ]
+ ]
+, Para
+ [ Image
+ ( "" , [] , [] )
+ [ Str "Face of a mandrill" ]
+ ( "mandrill.jpg" , "" )
+ ]
+]
+```