而以下工作:
\documentclass{article}
\usepackage{luacode}
\begin{document}
\directlua{token.set_macro("prjdatetime", os.date())}
\end{document}
当我想自定义日期和时间格式时遇到了麻烦:
\documentclass{article}
\usepackage{luacode}
\begin{document}
\directlua{token.set_macro("prjdatetime", os.date("\%Y"))}
\end{document}
错误是:
(./test.aux) (/usr/local/texlive/2023/texmf-dist/tex/latex/base/ts1cmr.fd)[\dir
ectlua]:1: invalid escape sequence near '"\%'.
l.4 ...ken.set_macro("prjdatetime", os.date("\%Y"))}
我正在使用的编译命令是:
lualatex --jobname=test escape.tex
版本:
lualatex --version
This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)
Development id: 7581
请帮忙!谢谢!
答案1
感谢 Willie Wongs 的提示,我使用了以下解决方案:
\makeatletter\let\percentchar\@percentchar\makeatother
\directlua{token.set_macro("prjdatetime", os.date("\percentchar c \percentchar Z"))}