aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Readers/LaTeX.hs12
-rw-r--r--test/command/3681.md27
2 files changed, 39 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
index 9ec84b3f6..f5e387429 100644
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -607,6 +607,16 @@ mkImage options src = do
return $ imageWith attr (addExtension src defaultExt) "" alt
_ -> return $ imageWith attr src "" alt
+doxspace :: PandocMonad m => LP m Inlines
+doxspace = do
+ (space <$ lookAhead (satisfyTok startsWithLetter)) <|> return mempty
+ where startsWithLetter (Tok _ Word t) =
+ case T.uncons t of
+ Just (c, _) | isLetter c -> True
+ _ -> False
+ startsWithLetter _ = False
+
+
-- converts e.g. \SI{1}[\$]{} to "$ 1" or \SI{1}{\euro} to "1 €"
dosiunitx :: PandocMonad m => LP m Inlines
dosiunitx = do
@@ -1336,6 +1346,8 @@ inlineCommands = M.fromList $
-- fontawesome
, ("faCheck", lit "\10003")
, ("faClose", lit "\10007")
+ -- xspace
+ , ("xspace", doxspace)
]
ttfamily :: PandocMonad m => LP m Inlines
diff --git a/test/command/3681.md b/test/command/3681.md
new file mode 100644
index 000000000..d0805e820
--- /dev/null
+++ b/test/command/3681.md
@@ -0,0 +1,27 @@
+```
+% pandoc -f latex -t native
+\newcommand{\cicd}{CI/CD\xspace}
+
+Software developers create \cicd pipelines to… Following issue can be resolved by \cicd:
+^D
+[Para [Str "Software",Space,Str "developers",Space,Str "create",Space,Str "CI/CD",Space,Str "pipelines",Space,Str "to\8230",Space,Str "Following",Space,Str "issue",Space,Str "can",Space,Str "be",Space,Str "resolved",Space,Str "by",Space,Str "CI/CD:"]]
+```
+
+```
+% pandoc -f latex -t native
+\newcommand{\cicd}{CI/CD\xspace}
+
+\cicd\footnote{\url{https://en.wikipedia.org/wiki/CI/CD}} is awesome.
+^D
+[Para [Str "CI/CD",Note [Para [Link ("",[],[]) [Str "https://en.wikipedia.org/wiki/CI/CD"] ("https://en.wikipedia.org/wiki/CI/CD","")]],Space,Str "is",Space,Str "awesome."]]
+```
+
+```
+% pandoc -f latex -t native
+\newcommand{\cicd}{CI/CD\xspace}
+\newcommand{\pipeline}{pipeline\xspace}
+
+\cicd\pipeline.
+^D
+[Para [Str "CI/CD",Space,Str "pipeline."]]
+```