如何在 lua 代码中访问 \pdffeedback 值?

如何在 lua 代码中访问 \pdffeedback 值?

我可以使用 访问 luatex 中页面的对象编号\pdffeedback。有没有办法在纯 lua 代码中获取相同的值?

\documentclass{article}
\usepackage{luacode}
\begin{luacode}

function showpageobjnum (page)
  a="??????" -- how to get the object number of page here?
  tex.sprint(a)
 end 

\end{luacode}

\begin{document}
% to increase the numbers a bit
\pdfextension obj reserveobjnum 
\pdfextension obj reserveobjnum

\pdffeedback pageref 1 %gives 3

\directlua{showpageobjnum(1)}

\end{document}

答案1

要在 LuaTeX 中找到此类内容,您要么猜测名称,要么查看源代码。LuaTeX 的文档非常不完整,但(几乎?)所有 pdffeedback 值都在 pdf 命名空间中公开:

\documentclass{article}
\usepackage{luacode}
\begin{luacode}

function showpageobjnum (page)
  a=pdf.pageref(1)
  tex.sprint(a)
 end 

\end{luacode}

\begin{document}
% to increase the numbers a bit
\pdfextension obj reserveobjnum 
\pdfextension obj reserveobjnum

\pdffeedback pageref 1 %gives 3

\directlua{showpageobjnum(1)}

\end{document}

这是没有记录的,所以它可能会在没有通知的情况下消失。

编辑:从尚未发布的 LuaTeX 1.09 版开始,pdf.pageref可能会更名为pdf.getpageref。旧名称仍可用于兼容,但可能会在更高版本中删除。

相关内容