From 97d83e383ad8889ea2003ce74f728d51e4bbb248 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Thu, 10 Feb 2022 19:17:20 -0800 Subject: [PATCH] LaTeX reader: support `\today`. Closes #7905. --- src/Text/Pandoc/Readers/LaTeX.hs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index 25459d8f8..e2b283cf2 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -36,10 +36,10 @@ import Skylighting (defaultSyntaxMap) import System.FilePath (addExtension, replaceExtension, takeExtension) import Text.Collate.Lang (renderLang) import Text.Pandoc.Builder as B -import Text.Pandoc.Class.PandocPure (PandocPure) -import Text.Pandoc.Class.PandocMonad (PandocMonad (..), getResourcePath, - readFileFromDirs, report, - setResourcePath) +import Text.Pandoc.Class (PandocPure, PandocMonad (..), getResourcePath, + readFileFromDirs, report, + setResourcePath, getZonedTime) +import Data.Time (ZonedTime(..), LocalTime(..), showGregorian) import Text.Pandoc.Error (PandocError (PandocParseError, PandocParsecError)) import Text.Pandoc.Highlighting (languagesByExtension) import Text.Pandoc.ImageSize (numUnit, showFl) @@ -422,8 +422,15 @@ inlineCommands = M.unions , ("uline", underline <$> tok) -- plain tex stuff that should just be passed through as raw tex , ("ifdim", ifdim) + -- generally only used in \date + , ("today", today) ] +today :: PandocMonad m => LP m Inlines +today = + text . T.pack . showGregorian . localDay . zonedTimeToLocalTime + <$> getZonedTime + lettrine :: PandocMonad m => LP m Inlines lettrine = do optional rawopt