如何在页脚中放置签名编号(来自页码)?

如何在页脚中放置签名编号(来自页码)?

为了使我的书更容易装订,我想自动将签名编号以小字体放在每个八度签名的第一页页脚中(第一个签名除外,因为它有标题页)。

所以这意味着我想这样做:

If
    (page number) == ( [some number that is evenly dividable with 16] + 1 )
then
    write "Book title --- ( ( [page number]-1 ) / 16)"
    with small type in the footer of the page
  • 在 Context 中如何实现这一点?
  • 如何在 Plain Tex 中实现这一点?

很高兴收到任何指点或例子。谢谢!

答案1

纯 tex 版本(如果需要,可以使用 e-tex 算法以经典 tex 编写)

在此处输入图片描述

\vsize 4\baselineskip
\hsize 5cm
\pdfpageheight\dimexpr6\baselineskip+2in\relax
\pdfpagewidth\dimexpr\hsize+2in\relax

\footline={
\hss\tenrm
[original plain footer: \folio]
\ifnum\numexpr ((\pageno-1)/16)*16\relax=\numexpr\pageno-1\relax
{\fiverm
[The title 
(page \the\pageno)
signature \the\numexpr ((\pageno-1)/16)+1\relax]
}\fi
\hss
}

\raggedright\raggedbottom
\def\a{Red yellow blue green }
\def\b{\a\a\par\a\a\a\par}
\def\c{One two three four \a\a\a five six seven\par}
\def\d{\c\c\c\c\par\a\b\c\a\a\b\b\c\c\a\b\c\c}


\d\d

\bye 

答案2

以下是在 ConTeXt 中执行此操作的一种方法:

% Set footnotes in small size
\setupfooter[style=small]

% Determine footnote content based on lua code
\setupfootertexts[\luasetup{footer}]

% Get the page number. If page % 16 == 1, typeset content
\startluasetups footer
  local counters = structures.counters

  local page = counters.value("userpage")
  local signature
  if page > 1 and page % 16 == 1 then
     signature = (page - 1)/16
     context("Book title (%s)", signature)
  end
\stopluasetups

% Example
\starttext
\dorecurse{60}{\input knuth \page}
\stoptext

相关内容