使用 save_pos 子类型(luatex)的示例

使用 save_pos 子类型(luatex)的示例

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

相关内容