文書の一部のページのみに連続番号を付けるにはどうすればよいですか?

文書の一部のページのみに連続番号を付けるにはどうすればよいですか?

次のコードは 12 ページのドキュメントをタイプセットします。テキストは 1 ページおきにのみ表示され、2 つのテキスト ページの間には空白ページがあります。

\documentclass{article}
\usepackage{atbegshi}
\usepackage{lipsum}

\makeatletter
\AtBeginShipout{%
  \ifodd\c@page
    \begingroup
      \AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox
      \global\AtBegShi@Discardedtrue
      \mbox{}\thispagestyle{empty}\clearpage
    \endgroup
  \else
  \fi%
}
\makeatother

\begin{document}

\lipsum[1-30]

\end{document}

今、テキストのあるページに順番に番号を付けようとしています。上記のコードでは、テキストのあるページは 1、3、5、... と番号が付けられていますが、1、2、3、... にしたいです。何度か試してみましたが、どれも望みどおりの結果にはなりませんでした。連続した番号付けを実現するにはどうすればよいでしょうか。

アイデアは、これをグループ内のテキスト フローの動作を変更できるコマンドにラップすることです。コマンドを呼び出すと、テキストを含むページの連続番号を維持しながら、1 ページおきにテキストがタイプセットされます。グループが終了すると、テキストと番号は通常の動作に戻ります。

答え1

これは私の場合うまくいっているようです。コツは、ページ数ではなく出荷数に別のカウンターを使用することです。

\documentclass{article}
\usepackage{changepage}
\usepackage{etoolbox}
\usepackage{atbegshi}
\usepackage{lipsum}

\newcounter{mypage}

\makeatletter
\AtBeginShipoutInit{\setcounter{mypage}{0}}
\AtBeginShipout{
  \ifnumodd{\value{mypage}}{
    \AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox
    \addtocounter{page}{-1}
  }{
    \mbox{}\thispagestyle{empty}\clearpage
  }
  \addtocounter{mypage}{1}
}

\makeatother

\begin{document}

First page \pageref{test}
Last page \pageref{test2}

\label{test}
\lipsum[1-30]
\label{test2}

\end{document}

関連情報