
\thepage
ドキュメントの現在のページ番号を印刷するために を使用できることはわかっています。しかし、「次のページに続く」などのフレーズなど、次のページの番号を印刷することは可能ですか?
前もって感謝します :)
答え1
\label
ページ番号付け (表示と参照) は通常、 とを使って処理する必要があります。が常に正確であるとは限らない\ref
理由を示す例を次に示します。\thepage
\documentclass{article}
\usepackage[nopar]{lipsum}
\begin{document}
\lipsum[1-4] \texttt{Page: \thepage}% On page 1, displays as "Page: 1"
\lipsum[5-7] \texttt{Page: \thepage}% On page 2, displays as "Page: 1"
\end{document}
\label
-システムを使用すると正しい出力が表示されます\ref
:
\documentclass{article}
\usepackage[nopar]{lipsum}
\begin{document}
\lipsum[1-4] \label{pg:one}\texttt{Page: \pageref{pg:one}}% On page 1, displays as "Page: 1"
\lipsum[5-7] \label{pg:two}\texttt{Page: \pageref{pg:two}}% On page 2, displays as "Page: 2"
\end{document}
上記の例は、カウンタの表現page
( によって与えられる\thepage
)に関係なく機能します。たとえば、\thepage
が数値に展開される場合にのみ、 の計算を実行できます(通常は を介して)。またはの内で\arabic{page}
を使用することはできません。その場合、はデフォルトで になります。\thepage
\frontmatter
book
report
\thepage
\roman{page}
ページ番号の計算を本当に実行したい場合は、\label
-\ref
システムとrefcount
:
\documentclass{article}
\usepackage[nopar]{lipsum}
\usepackage{refcount}
\begin{document}
\lipsum[1-4] \label{pg:one}\texttt{Page: \pageref{pg:one}}% On page 1, displays as "Page: 1"
\lipsum[5-7] \texttt{Page: \number\numexpr\getpagerefnumber{pg:one}+1\relax}% On page 2, displays as "Page: 2"
\end{document}
答え2
はい、追加のパッケージを使用しなくても可能です。次のように、ドキュメントのプリアンブルに小さなマクロを記述するだけです。
\newcommand{\thenextpage}{
\number\numexpr\thepage+1\relax
}
次に、\thenextpage
ドキュメント内の任意の場所を使用して、次のページ番号を印刷します。