有时需要针对特定页面、段落或其他文本部分更改页边距。例如,如果我正在写一封信,并希望左边距几乎位于页面右侧,以便显示四行地址;或者如果我将散文与诗歌结合在一起,并希望诗歌相对于作品的其余部分缩进。
动态更改左边距和右边距的最佳方法是什么?
答案1
CTAN 上有多个软件包可以执行此操作。changepage
看起来很有希望,但你可以通过搜索“margins”或“changepage”找到其他替代方案ctan 搜索。
使用该changepage
包,您可以adjustwidth
按如下方式使用环境:
\begin{adjustwidth}{left amount}{right amount}
\lipsum[2]
\end{adjustwidth}
例如,要从两边的边距中删除 100pt,您可以使用
\begin{adjustwidth}{100pt}{100pt}
答案2
以下是具体操作方法。将以下内容放入序言中(在 之前\begin{document}
)
\def\changemargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}
\let\endchangemargin=\endlist
然后在文本中你可以使用
\begin{changemargin}{<arg>}{<arg>}
\end{changemargin}
其中<arg>
是您想要在边距中包含的距离(第一个定义右侧边距,第二个定义左侧边距)。
因此,例如,要在两边的边距上添加 0.5 厘米,您需要:
\begin{changemargin}{0.5cm}{0.5cm}
%your text here
\end{changemargin}
这正是命令
\begin{quote}
\end{quote}
已定义,但设置为 1cm。顺便说一下,可以使用命令 quote,而无需加载任何包。
答案3
使用其中之一KOMA-Script
类或包scrextend
(是的一部分KOMA-Script
),您可以使用addmargin
环境。
\documentclass{article}
\usepackage{scrextend}
\usepackage[english]{babel}
\usepackage{blindtext}
\begin{document}
\blindtext
% Syntax: \begin{addmargin}[<left indentation>]{<indentation>}
\begin{addmargin}[4em]{1em}
\blindtext
\end{addmargin}
\blindtext
\end{document}
答案4
那么\narrower
(TeX?) 命令呢?虽然它不能提供非常精确的控制,但是可以使用吗?
\documentclass[11pt]{book}
\usepackage[latin1]{inputenc}
\usepackage[a4paper,top=3.5cm,bottom=3cm,left=3.6cm,right=3.6cm]{geometry}
\usepackage{lipsum}
\begin{document}
\lipsum[4]
{\narrower\lipsum[4]
\par}
\lipsum[4]
\lipsum[4]
\lipsum[4]
\lipsum[4]
{\narrower\narrower\narrower \lipsum[4]
\par}
\lipsum[4]
\end{document}