
Какие технические причины этому способствуют?
Отруководство по геометрии упаковки:
... параметры размера бумаги (такие как papersize, paper=a4paper и т. д.), которые нельзя изменить с помощью
\newgeometry
.
решение1
Я благодарю @DavidCarlisle и @UlrikeFischer за поддержку в предоставлении этого ответа.
paperwidth
и paperheight
являются длинами LaTeX, которые затем в конечном итоге преобразуются, например, pdftex
в длины pdfpagewidth
и pdfpageheight
с помощью этого фрагмента:
\ifGin@setpagesize
\ifx\paperwidth\@undefined\else
\AtBeginDocument{%
% If a package has changed \mag, assume it knows what it is doing
% and leave page size alone
\ifnum\mag=\@m
\@ifundefined{stockwidth}{%
\@ifundefined{paperwidth}{%
}{%
\ifdim\paperwidth>0pt\relax
\ifdim\paperheight>0pt\relax
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\fi
\fi
}%
}{%
\ifdim\stockwidth>0pt\relax
\ifdim\stockheight>0pt\relax
\pdfpagewidth=\stockwidth
\pdfpageheight=\stockheight
\fi
\fi
}%
\fi
}
Аналоги «LaTeX» отбрасываются после начала документа (т. е. они больше не имеют смысла), в то время как аналоги pdf
в конечном итоге используются для настройки.
Geometry pdf
также устанавливает длины в начале документа, возможно, для поддержания совместимости с dvips
драйверами (которые не поддерживают несколько размеров страниц), поэтому она не позволяет сбрасывать их во время документа, тем самым отменяя параметры изменения размера бумаги.