我可以tex.print()
设置\title
我的文档的命令,但是当我尝试时tex.print('\\rohead{...})
,什么都没有出现..有什么建议吗?
\documentclass{scrartcl}
\usepackage[headsepline]{scrlayer-scrpage}
\usepackage{luacode}
\begin{luacode*}
tex.print('\\title{TITLE}')
tex.print('\\rohead{R-HEAD}') -- why is this not setting?
tex.print('\\global\\rohead{R-HEAD}') -- why is this not setting?
\end{luacode*}
\lohead{L-HEAD}
% \rohead{THIS WORKS}
\begin{document}
\maketitle
\clearpage
\section{Introduction}
\end{document}
答案1
问题不是由tex.print
周围luacode
环境引起的,而是由周围环境引起的。如果您使用\luaexec
(或者甚至只是\directlua
),那么您可以设置它。您尝试添加但\global
没有成功,因为\global
它只适用于 TeX 原始设置命令,而不适用于 LaTeX 命令。
\documentclass{scrartcl}
\usepackage[headsepline]{scrlayer-scrpage}
\usepackage{luacode}
\luaexec{
tex.print('\\title{TITLE}')
tex.print('\\rohead{R-HEAD}')
}
\lohead{L-HEAD}
% \rohead{THIS WORKS}
\begin{document}
\maketitle
\clearpage
\section{Introduction}
\end{document}