Numeração de quarto de página

Numeração de quarto de página

Nos documentos do parlamento alemão há números de quarto de página (por exemplo, página 9686 D para o quarto quarto da página 9686,(exemplo)). Como faço para criar tal numeração em LaTeX incluindo essas numeração no toc?

Responder1

Este é um problema muito interessante. Então tentei resolver isso no meu pacote de macros favorito, ou seja, TeX simples. Você pode se inspirar nisso e você (ou outra pessoa) pode tentar reimplementar essas ideias no LaTeX.

Precisamos definir a \outputrotina para fazer o design de página especificado. Eu não fiz isso (por uma questão de simplicidade e porque o TeX simples não é o pacote de macros desejado). Defino apenas uma página "manualmente" usando \dopagemacro definida para experimentos. Mas os princípios básicos são mostrados aqui.

\input opmac

\def\lorem{Lorem ipsum dolor sit amet, consectetuer
  adipiscing elit. Ut purus elit, vestibulum ut, placerat ac,
  adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
  libero, nonummy eget, consectetuer id, vulputate a, magna. Donec 
  vehicula augue eu neque. Pellentesque habitant morbi tristique   
  senectus et netus et malesuada fames ac turpis egestas. Mauris ut
  leo.}

\splittopskip=12pt  
\long\def\dopage#1{%
   \setbox0=\vbox{\hsize=7cm \emergencystretch=2em \penalty0
                  #1\par\nobreak\vfil\penalty0}
   \setbox1=\vsplit0 to0pt
   \hbox{\vbox to240pt{\hbox{(A)}\vfil\hbox{(B)}\vfil}\kern5pt
      \vbox{\setpartpage{A}%
            \setbox1=\vsplit0 to 120pt
            \edef\tmp{\the\dp1}\box1 \kern-\tmp
            \setpartpage{B}%  
            \vsplit0 to120pt}%
      \kern5pt\vrule\kern5pt
      \vbox{\setpartpage{C}%
            \setbox1=\vsplit0 to 120pt
            \edef\tmp{\the\dp1}\box1 \kern-\tmp
            \setpartpage{D}%  
            \vsplit0 to120pt}%
    \kern5pt\vbox to240pt{\hbox{(C)}\vfil\hbox{(D)}\vfil}}
}
\def\setpartpage#1{\wref\addto{\noexpand\toclist{\def\noexpand\partpage{#1}}}}
\def\pglink#1{#1 \partpage}

\maketoc 
\vskip1cm

\dopage{
  \sec First item

  \lorem

  \sec Second item

  \lorem \par \lorem

  \sec Third item 

  \lorem
}
\bye

O resultado é:

quarto de página

Explicação: Precisamos dividir \vsplito conteúdo da página em quatro partes, as duas primeiras serão a primeira coluna e as duas segundas na segunda coluna. Então precisamos transferir \writepara o arquivo REF (ou arquivo AUX ou TOC se LaTeX for usado) as informações sobre a parte da página antes de cada parte. Isso é feito por \setpartpagemacro. Por exemplo, temos o seguinte conteúdo no arquivo REF usando OPmac:

 %% OPmac - REF file
\Xpage{1}
\addto\toclist {\def \partpage {A}}
\Xtoc{1}{\rm }{1}{First item }{1}
\addto\toclist {\def \partpage {B}}
\Xtoc{1}{\rm }{2}{Second item }{1}
\addto\toclist {\def \partpage {C}}
\addto\toclist {\def \partpage {D}}
\Xtoc{1}{\rm }{3}{Third item }{1}

Isso significa que \toclistincluirá após a leitura do arquivo REF:

\def\partpage {A}
\tocline{1}{\rm}{1}{First item }{1} % {level}{font}{sec number}{text}{page}
\def\partpage {B}
\tocline{1}{\rm}{2}{Second item }{1}
\def\partpage {C}
\def\partpage {D}
\tocline{1}{\rm}{3}{Third item }{1}

Agora, basta redefinir \toclinepara que imprima não só #5(o pageno), mas \partpagetambém. Fiz isso redefinindo \pglinko que é usado no tocline para imprimir o número da página. Isso não é muito conceitual porque estão \hyperlinksquebrados aqui, mas usamos isso apenas como um código experimental.

informação relacionada