横向显示 \addtolength 弄乱了页码的位置

横向显示 \addtolength 弄乱了页码的位置

我希望页码位于正常位置,但当我结合边距拉伸方法时landscape,页码会向右移动很多

请注意,“TABLE GOES HERE”实际上是longtable我的代码中的一个表。

\documentclass{article}
\usepackage{lscape}

\begin{document}



\clearpage
\addtolength{\textwidth}{4in}
\addtolength{\hoffset}{-0.45in}
\begin{landscape}
LONGTABLE TABLE GOES HERE
\end{landscape}
\addtolength{\textwidth}{-4in}
\addtolength{\hoffset}{0.45in}
\clearpage 

\end{document} 

答案1

添加4in将使\textwidth您离开页面,如评论中所述。但这可能只是 MWE 的产物,原始文档可能使用更大的边距/marginpar。

以下技巧可撤消页脚的布局更改:

\documentclass{article}
\usepackage{lscape}

\makeatletter
\newcommand*{\footfix}{%
  \let\orig@oddfoot\@oddfoot
  \renewcommand*{\@oddfoot}{%
    \hspace{.45in}%
    \hbox to\dimexpr\textwidth-4in\relax{\orig@oddfoot}%
    \hfil
  }%
  \let\orig@evenfoot\@evenfoot
  \renewcommand*{\@evenfoot}{%
    \hspace{.45in}%
    \hbox to\dimexpr\textwidth-4in\relax{\orig@evenfoot}%
    \hfil
  }%
}
\makeatother

\begin{document}

\clearpage
\addtolength{\textwidth}{4in}
\addtolength{\hoffset}{-0.45in}
\begin{landscape}
\footfix
TABLE GOES HERE
\newpage
Second page
\end{landscape}
\addtolength{\textwidth}{-4in}
\addtolength{\hoffset}{0.45in}
\clearpage

\end{document}

相关内容