我正在尝试找到一种方法,能够随时在单个页面上随意修改页面的所有边距,并且能够根据需要多次修改,以便能够非常轻松地将文本放在页面上所需的位置。
我曾考虑过使用几何包并使用
\newgeometry{left=6.75cm, right=1cm, top=1cm, bottom=1cm}
%…
\restoregeometry
但不幸的是,这只适用于整页,所以我只能每页更改一次边距(然后它们对整页有效,而无法再次更改它们)。
我在网上找到了以下脚本,它允许用户根据我的需要随时更改页边距。下面的代码运行良好,让我可以随意更改页面的左右边距,但不幸的是,它没有提供更改顶部和底部边距的选项。
% placed before \begin{document}
\newenvironment{changemargin}[2]{%
\begin{list}{}{%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
}%
\item[]}
{\end{list}}
% And then inside the document, whenever I want to use
% the command to change the margins on the current page
\begin{changemargin}{1.9875cm}{-3.7625cm}
% this means the left margin increases by 1.9875cm compared
% to the default left margin (4.7625cm) (so left margin=6.75cm here)
% and the right margin decreases by 3.7625cm (so right margin=1cm)
% ... (text or pictures in new environment)
\end{changemargin}
因此,我尝试调整上述代码,并得出以下代码:
% placed before \begin{document}
\newenvironment{changemargin}[3]{%
\begin{list}{}{%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
\setlength{\topmargin}{#3}%
}%
\item[]}
{\end{list}}
% And then to use the command:
\begin{changemargin}{1.9875cm}{-3.7625cm}{1cm}
% ...
\end{changemargin}
它编译后仍然会改变左边距和右边距,但顶部边距保持不变。(我还没有尝试改变底部边距)。
有人能帮助我让这段代码完全运行,并让我能够修改页面的左、右、上、下边距吗?谢谢。
答案1
您可以使用以下组合geometry
(改变顶部和底部边距)adjustwidth
以及changepage
包(这内部使用列表并且与您的环境类似changemargin
):
\documentclass{article}
\usepackage[paperheight=14cm]{geometry}
\usepackage{changepage}
\usepackage{lipsum}
\begin{document}
\lipsum[1-3]
\newpage
\newgeometry{top=0.5cm, bottom=0.5cm}
\begin{adjustwidth}{-2cm}{-1cm}
\lipsum[4]
\end{adjustwidth}
\lipsum[1]
\begin{adjustwidth}{1cm}{2cm}
\lipsum[3]
\end{adjustwidth}
\lipsum[4]
\newpage
\restoregeometry
\lipsum[1-3]
\newpage
\newgeometry{top=2.5cm, bottom=2.5cm}
\begin{adjustwidth}{2cm}{2cm}
\lipsum[4]
\end{adjustwidth}
\lipsum[4]
\begin{adjustwidth}{3cm}{-3cm}
\lipsum[3]
\end{adjustwidth}
\end{document}
我强烈建议你,作为个人意见,不是去做这个。
答案2
只是为了完整性:古玛级您可以使用 KOMA-Scripts 自己的环境产生同样奇怪的结果addmargin
。
我擅自采取贡萨洛·梅迪纳的示例并对其进行调整scrartcl
:
\documentclass{scrartcl}
\usepackage[paperheight=18cm]{geometry}
\usepackage{lipsum}
\begin{document}
\lipsum[1-3]
\newpage
\newgeometry{top=0.5cm, bottom=0.5cm}
\begin{addmargin}[-2cm]{-1cm}
\lipsum[4]
\end{addmargin}
\lipsum[1]
\begin{addmargin}[1cm]{2cm}
\lipsum[3]
\end{addmargin}
\lipsum[4]
\newpage
\restoregeometry
\lipsum[1-3]
\newpage
\newgeometry{top=2.5cm, bottom=2.5cm}
\begin{addmargin}[2cm]{2cm}
\lipsum[4]
\end{addmargin}
\lipsum[4]
\begin{addmargin}[3cm]{-3cm}
\lipsum[3]
\end{addmargin}
\end{document}
由于输出看起来几乎相同,因此我没有提供图片。