ページ上の任意の場所にテキストを簡単に配置できるように、ページの余白をすべて、1 ページ上で必要なときに何度でも変更できる方法を探しています。
私はジオメトリパッケージを使用して、
\newgeometry{left=6.75cm, right=1cm, top=1cm, bottom=1cm}
%…
\restoregeometry
しかし残念ながら、これはページ全体にしか機能しないため、余白を変更できるのはページごとに 1 回だけです (その後は、余白を再度変更することなく、ページ全体に有効になります)。
インターネットで次のスクリプトを見つけました。これを使うと、ユーザーは自分の希望どおりにマージンをオンザフライで変更できます。以下のコードは正常に動作し、ページの左マージンと右マージンを何度でも変更できますが、残念ながら、上マージンと下マージンを変更するオプションがありません。
% 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クラスaddmargin
KOMA-Scripts 独自の環境でも同様の奇妙な結果が発生する可能性があります。
私は勝手にゴンサロ・メディナの例を参考にして調整します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}
出力はほぼ同じなので、写真は提供しません。