Skip to content

Commit 46da81a

Browse files
committed
Use simpleFigureWith in Docx reader
1 parent 5085d90 commit 46da81a

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

src/Text/Pandoc/Readers/Docx.hs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ import Data.Default (Default)
6767
import Data.List (delete, intersect, foldl')
6868
import Data.Char (isSpace)
6969
import qualified Data.Map as M
70+
import Data.Text (Text)
7071
import qualified Data.Text as T
7172
import Data.Maybe (catMaybes, isJust, fromMaybe)
7273
import Data.Sequence (ViewL (..), viewl)
@@ -739,7 +740,18 @@ bodyToOutput (Body bps) = do
739740
blks <- smushBlocks <$> mapM bodyPartToBlocks blkbps
740741
blks' <- rewriteLinks $ blocksToDefinitions $ blocksToBullets $ toList blks
741742
blks'' <- removeOrphanAnchors blks'
742-
return (meta, blks'')
743+
return (meta, floatFigures <$> blks'')
744+
745+
where
746+
-- Capture all images as floating figures
747+
floatFigures :: Block -> Block
748+
floatFigures (Para [Image attr figureCaption (url, title)]) =
749+
simpleFigureBlockWith attr figureCaption url title
750+
floatFigures x = x
751+
752+
simpleFigureBlockWith :: Attr -> [Inline] -> Text -> Text -> Block
753+
simpleFigureBlockWith attr figureCaption url title =
754+
Para [Image attr figureCaption (url, "fig:" <> title)]
743755

744756
docxToOutput :: PandocMonad m
745757
=> ReaderOptions

test/docx/image_no_embed.native

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
[Para [Str "An",Space,Str "image:"]
2-
,Para [Image ("",[],[("width","6.5in"),("height","5.508333333333334in")]) [Str "He",Space,Str "realizes",Space,Str "he's",Space,Str "making",Space,Str "the",Space,Str "file-size",Space,Str "too",Space,Str "big."] ("media/image1.jpg","An unhappy fish.")]]
1+
[Para [Str "An",Space,Str "image:"] ,Para [Image ("",[],[("width","6.5in"),("height","5.508333333333334in")]) [Str "He",Space,Str "realizes",Space,Str "he's",Space,Str "making",Space,Str "the",Space,Str "file-size",Space,Str "too",Space,Str "big."] ("media/image1.jpg","fig:An unhappy fish.")]]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
[Para [Str "Test",Space,Str "with",Space,Str "object",Space,Str "as",Space,Str "image:"]
2-
,Para [Image ("",[],[]) [] ("media/image1.emf","")]]
2+
,Para [Image ("",[],[]) [] ("media/image1.emf","fig:")]]

0 commit comments

Comments
 (0)