我想在文档中间将文本宽度和文本高度调整为纸张大小,就这么简单。
我打算更改一些页面的纸张大小,但我需要页眉、页脚和文本都调整(如果自动则更好)到纸张大小。
我一直在研究几何包,但无法找到可以帮助我的选项。
梅威瑟:
\documentclass{article}
\usepackage{geometry}
\usepackage{lipsum}
\usepackage{fancyhdr}
\begin{document}
\thispagestyle{fancy}
\newlength{\classpageheight} \setlength{\classpageheight}{\pdfpageheight}
\newlength{\classpagewidth} \setlength{\classpagewidth}{\pdfpagewidth}
\lipsum[1-6]
\newpage
\thispagestyle{fancy}
\eject \pdfpagewidth=17in \pdfpageheight=18in
\lipsum[1-6]
\eject \pdfpagewidth=\classpagewidth \pdfpageheight=\classpageheight
\newpage
\thispagestyle{fancy}
\lipsum[1-6]
\end{document}
答案1
这是我的解决方案,欢迎提出意见
\documentclass{article}
\usepackage{geometry}
\usepackage{lipsum}
\usepackage{fancyhdr}
\def\vcoef#1{#1=\dimexpr #1*\pdfpageheight/\paperheight\relax}
\def\hcoef#1{#1=\dimexpr #1*\pdfpagewidth/\paperwidth\relax}
\makeatletter
\def\adjustpagedim#1#2{%
\newpage
\pdfpagewidth=#1 \pdfpageheight=#2
\hcoef\textwidth
\vcoef\textheight
\vsize=\textheight
\@colroom=\textheight
\@colht=\textheight
\columnwidth=\textwidth
\if@twocolumn%
\advance\columnwidth-\columnsep
\divide\columnwidth\tw@%
\@firstcolumntrue%
\fi%
\hsize=\columnwidth
\linewidth=\hsize
\hcoef\evensidemargin
\hcoef\oddsidemargin
\vcoef\topmargin
\vcoef\headheight
\vcoef\headsep
\vcoef\footskip
\hcoef\marginparwidth
\hcoef\marginparsep
\headwidth=\textwidth
% this is important but does nothing here
\paperwidth=\pdfpagewidth
\paperheight=\pdfpageheight}
\makeatother
\begin{document}
\thispagestyle{fancy}
%----->I change something here
\newlength{\classpageheight}
\setlength{\classpageheight}{\paperheight}
\newlength{\classpagewidth}
\setlength{\classpagewidth}{\paperwidth}
\lipsum[1-6]
\adjustpagedim{17in}{18in}
\thispagestyle{fancy}
\lipsum[1-6]
\adjustpagedim{\classpagewidth}{\classpageheight}
\thispagestyle{fancy}
\lipsum[1-6]
\end{document}