I want to create a TeX document with sections and a running header containing the name of the current section. I know I can use \mark{} to mark the section headings and then use \topmark or \firstmark to show the section name in my header. The problem is that neither \topmark nor \firstmark do what I want (they're actually more suitable for typesetting dictionaries).

I would like the header to reflect the section the contents of which appear at the very top of the current page. In other words, I want to use mostly \topmark, but when a new section begins on the current page before any other text before it, I want to use \firstmark (or, alternatively, leave the header blank), because then \topmark refers to the previous section and thus is irrelevant. Any ideas on how I could do that?

  • 3
    There's exactly this problem explained in the TeXbook, since TAOCP uses that kind of headers. The trick consists in issuing \mark twice, before and after the section title, if I remember correctly.
    – egreg
    Commented Jun 28, 2011 at 16:58
  • On page 260, to be precise. Commented Jun 29, 2011 at 14:12
  • @egreg Thanks, that helped. But there's one problem: on the first page, \topmark is still empty. Can I tell TeX to use \firstmark instead? Commented Jun 29, 2011 at 17:27
  • 2
    Usually the first page has no headers. :) I suppose that \ifnum\pageno=1 \firstmark\else\topmark\fi can solve the issue.
    – egreg
    Commented Jun 29, 2011 at 18:04

1 Answer 1


Usually the first page in a document has no header; if it's needed for some special application, one can say

\ifnum\pageno=1 \firstmark\else\topmark\fi

in the code for producing the header.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .