四半期ページ番号

四半期ページ番号

ドイツ議会の文書には、四半期ごとのページ番号が付けられています(例:9686ページの第4四半期を表す9686ページD、(例))。目次にこれらの番号を含めて、LaTeX でこのような番号を作成するにはどうすればよいですか?

答え1

これは非常に興味深い問題です。そこで私は、お気に入りのマクロ パッケージ、つまりプレーン TeX でこれを解決しようとしました。これに触発されて、あなた (または他の誰か) がこれらのアイデアを LaTeX に再実装してみることができます。

\output指定されたページ デザインを実行するには、ルーチンを設定する必要があります。私はこれを実行しませんでした (単純化のため、およびプレーン TeX が望ましいマクロ パッケージではないため)。\dopage実験用に定義済みのマクロを使用して、1 ページのみを「手動で」設定しました。ただし、主な原則はここに示されています。

\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

結果は次のとおりです。

4分の1ページ

\vsplit説明:ページの内容を 4 つの部分に分ける必要があります。最初の 2 つは最初の列、次の 2 つは 2 番目の列になります。次に、\write各部分の前にページの部分に関する情報を REF ファイル (LaTeX を使用する場合は AUX ファイルまたは TOC ファイル) に追加する必要があります。これはマクロによって行われます\setpartpage。たとえば、OPmac を使用した REF ファイルには次の内容が含まれます。

 %% 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}

これは、\toclistREF ファイルが読み込まれた後に以下がインクルードされることを意味します。

\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}

ここで、 pageno だけでなく も\tocline印刷するには、 を再定義する必要があります。私は、 ページ番号を印刷するために tocline で使用される を再定義することでこれを行いました。 が壊れているため、これはあまり概念的ではありませんが、これは実験的なコードとしてのみ使用します。#5\partpage\pglink\hyperlinks

関連情報