
大きな画像を表示するために、1 ページだけ用紙サイズを切り替える pdflatex ドキュメントがあります。大きいページではページ番号を意図的に省略しています。大きいサイズのページへの切り替えと、元に戻すためのマクロを作成しました。
画像の後の通常サイズの最初のページにはページ番号がありませんが、後続のページは正常に機能しているようです。また、 を使用して手動でページ区切りを挿入しないと\clearpage
、ページが底なしになり、テキストがページの下部を超えて見えなくなるようです (これは以下の MWE では示されていません)。
ここに最小限の動作例があります。ここで何が起こっているのか分かりますか?
\documentclass{article}
\usepackage{pdflscape}
% Macros for changing paper size
\newcommand{\startPaperSizeB}{%
\clearpage
\begingroup
\setlength{\pdfpagewidth}{11in}
\setlength{\pdfpageheight}{17in}
\setlength{\paperwidth}{\pdfpagewidth}
\setlength{\paperheight}{\pdfpageheight}
\setlength{\textwidth}{526pt}% This one matters
\setlength{\textheight}{984pt}% This one matters
\pagestyle{empty}% No page number
}
\newcommand{\stopPaperSizeB}{\endgroup \clearpage}% The order of these commands makes no difference
\begin{document}
Some stuff on the first page here.
\startPaperSizeB
\begin{landscape}
Text on second page, intended for large image.
\end{landscape}
\stopPaperSizeB
Why no page number here?
\clearpage
Page numbers start working here, no problem.
\end{document}
答え1
どういうわけか、テキストの高さのパラメータが間違ったタイミングで有効になっているため、LaTeX は 3 ページ目が実際よりもずっと長いと認識しています。ページ番号はありますが、物理的なページのかなり下にあります (テキストでも確認したとおり)。マクロを環境内に配置すると、これを修正できますlandscape
。ページ サイズの変更を有効にするには、\begingroup
と\endgroup
ペアを削除し、代わりに環境によって作成されたグループを利用する必要がありますlandscape
。ただし、パラメータも設定しない限り、これにより、大きな 2 ページ目のテキストが不適切に配置されます\hsize
。これらのパラメータは相互作用するものが多数あるため、LaTeX でページ レイアウトを手動で行うことは困難です。一般的には、geometry
代わりにパッケージを使用することをお勧めしますが、私が知る限り、一部のページのサイズが異なるケースを処理できないようです。
\documentclass{article}
\usepackage{pdflscape}
% Macros for changing paper size
\newcommand{\startPaperSizeB}{%
\setlength{\pdfpagewidth}{11in}
\setlength{\pdfpageheight}{17in}
\setlength{\paperwidth}{\pdfpagewidth}
\setlength{\paperheight}{\pdfpageheight}
\setlength{\textwidth}{526pt}% This one matters
\setlength{\textheight}{984pt}% This one matters
\setlength{\hsize}{\textheight}
\pagestyle{empty}% No page number
}
\newcommand{\stopPaperSizeB}{}
\begin{document}
Some stuff on the first page here.
\begin{landscape}
\startPaperSizeB
Text on second page, intended for large image.
\stopPaperSizeB
\end{landscape}
Page number here!
\clearpage
Page numbers still working here, no problem.
\end{document}