@Leo Liu 的几何修补看起来好得令人难以置信,而且事实证明它只起作用一次(在本例中,是针对章节 Bar,而不是 Qux)。有没有可以让它一直起作用的修改?附带问题:为什么没有pagestyle
任何效果?
\documentclass{report}
\usepackage[a6paper]{geometry}
\usepackage{lscape,lipsum}
\usepackage{etoolbox}
\usepackage{xparse}
%https://tex.stackexchange.com/a/374533/112708%--------------
\makeatletter
\def\ifGm@preamble#1{\@firstofone}
\appto\restoregeometry{%
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight}
\apptocmd\newgeometry{%
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight}{}{}
\makeatother
\usepackage{titleps}%-----------------------------------------
\usepackage{lastpage}
\newpagestyle{cust}
{
\setfoot{%
\thepage/\pageref{LastPage}
}{}{}
}
\begin{document}%---------------------------------------------
%\pagestyle{empty}%Ignored
\pagestyle{cust}%Ignored
\chapter{Foo}
\lipsum[1][1]
\newgeometry{,top=2em,landscape}
\savegeometry{landscape}
\chapter{Bar}
\lipsum[1][2]
\restoregeometry
\chapter{Baz}
\lipsum[1][3]
%\newgeometry{,top=2em,landscape}%Ignored
\loadgeometry{landscape}%Ignored
\chapter{Qux}
\lipsum[1][4]
\end{document}%-----------------------------------------------
答案1
你也需要打补丁\loadgeometry
。而且章节的第一页使用的是纯色样式,所以你需要更改这个页面样式。
\documentclass{report}
\usepackage[a6paper]{geometry}
\usepackage{lscape,lipsum}
\usepackage{etoolbox}
\usepackage{xparse}
%https://tex.stackexchange.com/a/374533/112708%--------------
\makeatletter
\def\ifGm@preamble#1{\@firstofone}
\appto\restoregeometry{%
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight}
\apptocmd\newgeometry{%
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight}{}{}
\apptocmd\loadgeometry{%
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight}{}{}
\makeatother
\usepackage{titleps}%-----------------------------------------
\usepackage{lastpage}
\newpagestyle{cust}
{
\setfoot{%
\thepage/\pageref{LastPage}
}{}{}
}
\renewpagestyle{plain}
{
\setfoot{%
\thepage/\pageref{LastPage}
}{}{}
}
\begin{document}%---------------------------------------------
%\pagestyle{empty}%Ignored
\pagestyle{cust}%Ignored
\chapter{Foo}
\lipsum[1][1]
\newgeometry{,top=2em,landscape}
\savegeometry{landscape}
\chapter{Bar}
\lipsum[1][2]
\restoregeometry
\chapter{Baz}
\lipsum[1][3]
%\newgeometry{,top=2em,landscape}%Ignored
\loadgeometry{landscape}%Ignored
\chapter{Qux}
\lipsum[1][4]
\end{document}