名前: . 日時: 2009-08-15 10:41:22 IPアドレス: 59.134.169.*
>>53551 そういう処理は,「パッケージに頼らずに」できるようにしておいてください. 実際,プレゼンテーション関係のクラスファイルを用いた場合, 「ページ番号」(というより,スライド番号)の取り扱いが, 「一般的な文書用」のクラスファイルの場合とは異なっていることが よくあります(seminar.cls もそうなっています). # そのため,lastpage パッケージみたいなものをそのまま使ったのでは, # 意図通りの結果にはならないことがあります. 要は,最終ページのページ番号(というよりスライド番号でよい(?))を \pageref で参照できる形で aux ファイルに書き出せばよいわけです. # このあたりのことは,LaTeX の「相互参照」の内部処理を扱った解説書を # 参照してください(といっても,結構絶版になっていますが). とりあえず,次の例を検討してください. # 本文部分の記述内容が不明なので,これで差し支えないか否かは判然としませんが. # この例のままではうまくいかないようなら, # (然るべき学習ののち)適宜アレンジしてください. \documentclass{seminar} \makeatletter \AtEndDocument{% \clearpage \if@filesw %%% スライド非作成時にはカウンタ slide は増えないので,(一般的な文書の %%% 場合とは異なり)「文書終端でのページ(スライド)番号」から 1 を引く %%% 必要はない. \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\the\c@slide}}}% \fi} \makeatother \newpagestyle{corners}{\tlpage\hfill\trpage}{\blpage\hfill\brpage} \slidepagestyle{corners} \def\brpage{\thepage/\pageref{LastPage}} \def\blpage{}\def\tlpage{}\def\trpage{} \begin{document} \begin{slide} zzz\end{slide} \begin{slide} zzz\end{slide} \begin{slide} zzz\end{slide} \end{document}
この書き込みへの返事: