次の tex ファイルは、あるページのフッターにテキスト (この場合は数値ですが、文字列でもかまいません) を設定し、次のページのヘッダーに同じ値を設定しようとしています。考え方としては、各データ項目でフッターに必要な値を設定し、各ページの後に次のページのヘッダー値を更新するというものです。
フッターは正常に機能しますが、ヘッダーは機能しません。最初のページのヘッダーの値は正常ですが、次のページの値は正常ではありません。
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{afterpage}
\author{Bent Nielsen}
\title{page change testing}
\gdef\Total{0.00}
\gdef\TopTotal{0.00}
\afterpage{\gdef\TopTotal{\Total}}
\pagestyle{fancy}
\fancyhf{}
\rhead{Top Total \TopTotal }
\rfoot{Current total \Total}
\begin{document}
Page 1
\gdef\Total{5.00}
\gdef\Total{10.00}
\gdef\Total{15.00}
\newpage
Page 2
\gdef\Total{20.00}
\gdef\Total{25.00}
\gdef\Total{30.00}
\newpage
Page 3
\gdef\Total{35.00}
\gdef\Total{40.00}
\gdef\Total{45.00}
\end{document}
答え1
解決策はここにあります
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{afterpage}
\author{Bent Nielsen}
\title{page change testing}
\gdef\Total{0.00}
\gdef\TopTotal{0.00}
\pagestyle{fancy}
\fancyhf{}
\rhead{Top Total \TopTotal}
\rfoot{Current total \Total}
\newcommand{\mtTotal}[1]{%
\gdef\Total{#1}%
\afterpage{%
\gdef\TopTotal{#1}}}
\begin{document}
Page 1
\mtTotal{5.00}
\mtTotal{10.00}
\mtTotal{15.00}
\newpage
Page 2
\mtTotal{20.00}
\mtTotal{25.00}
\mtTotal{30.00}
\newpage
Page 3
\mtTotal{35.00}
\mtTotal{40.00}
\mtTotal{45.00}
\end{document}