@@ -666,7 +666,7 @@ dosiunitx = do
666666 skipopts
667667 value <- tok
668668 valueprefix <- option "" $ bracketed tok
669− unit <- tok
669+ unit <- inlineCommand' <|> tok
670670 let emptyOr160 "" = ""
671671 emptyOr160 _ = "\160"
672672 return . mconcat $ [valueprefix,
@@ -675,6 +675,12 @@ dosiunitx = do
675675 emptyOr160 unit,
676676 unit]
677677
678+-- siunitx's \square command
679+dosquare :: PandocMonad m => LP m Inlines
680+dosquare = do
681+ unit <- inlineCommand' <|> tok
682+ return . mconcat $ [unit, "\178"]
683+
678684lit :: String -> LP m Inlines
679685lit = pure . str
680686
@@ -1468,6 +1474,13 @@ inlineCommands = M.union inlineLanguageCommands $ M.fromList
14681474 , ("acsp", doAcronymPlural "abbrv")
14691475 -- siuntix
14701476 , ("SI", dosiunitx)
1477+ -- units of siuntix
1478+ , ("celsius", lit "°C")
1479+ , ("degreeCelsius", lit "°C")
1480+ , ("gram", lit "g")
1481+ , ("meter", lit "m")
1482+ , ("milli", lit "m")
1483+ , ("square", dosquare)
14711484 -- hyphenat
14721485 , ("bshyp", lit "\\\173")
14731486 , ("fshyp", lit "/\173")