![如何在每段之前重复一些命令?](https://linux22.com/image/289157/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%AF%8F%E6%AE%B5%E4%B9%8B%E5%89%8D%E9%87%8D%E5%A4%8D%E4%B8%80%E4%BA%9B%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
我必须使用易比布制作我的参考书目,我通过复制/粘贴将其放入我的 LaTeX 文档中。但我需要为每个项目设置悬挂缩进。
通过在每个项目之前添加这个,我可以得到我想要的效果:
\hangindent=2.5em
\noindent
但是,我必须为每个项目都写出这个。有没有办法自动完成这个操作?
答案1
答案2
范围内所有段落首行的缩进可以通过以下方式设置(参见 Menke 的回答):
\setlength{\parindent}{0pt}
\hangindent
必须对每个段落重复。\everypar
有助于:
\everypar{\setlength{\hangindent}{2.5em}}
但需要小心,因为 LaTeX\everypar
经常使用自身,例如在\section
和朋友中。
\leftskip
另一种方法是通过设置并将第一行向左移动(使用负值)来将段落向右移动\parindent
。
示例文件:
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[65]
\bigskip
\setlength{\hangindent}{2.5em}
\noindent
\lipsum[65]
\bigskip
\begingroup
\setlength{\parindent}{0pt}%
\everypar{\setlength{\hangindent}{2.5em}}%
\lipsum[65-66]
\par
\endgroup
\bigskip
\begingroup
\par
\setlength{\parindent}{-2.5em}
\addtolength{\leftskip}{-\parindent}
\lipsum[65-66]
\par
\endgroup
\end{document}