Luatex 手册中提到 save_pos
(第 136 页)whatsit 节点的子类型,有谁可以给我们一个与 lualatex 一起使用它的简单示例。
答案1
save_pos
\savepos
是(LuaTeX 名称.)插入的内容。\pdfsavepos
直接使用它的情况很少见,因为您通常只\savepos
在 TeX 代码中使用,或者,如果您想通过 Lua 访问该位置,您只需直接pdf.getpos()
使用\latelua
。
但你可以用它来实现你自己的版本\pdfsavepos
:
% plain TeX, but you can also add `\documentclass` etc. to make it LaTeX...
% Don't do this in regular code, just use `\savepos`.
\def\pdfsavepos{\directlua{
node.write(node.new("whatsit", "save_pos"))
}}
\pdfsavepos
% Write the coordinates of that point to the log file:
\write-1{The page starts at \the\lastxpos, \the\lastypos.}
\bye
pdf.getpos()
与和相同的示例\latelua
:
\latelua{
texio.write_nl('log', ("The page starts at \csstring\%i, \csstring\%i."):format(pdf.getpos()))
}
\bye