如何在每段之前重复一些命令?

如何在每段之前重复一些命令?

我必须使用易比布制作我的参考书目,我通过复制/粘贴将其放入我的 LaTeX 文档中。但我需要为每个项目设置悬挂缩进。

通过在每个项目之前添加这个,我可以得到我想要的效果:

\hangindent=2.5em
\noindent

但是,我必须为每个项目都写出这个。有没有办法自动完成这个操作?

答案1

与其放在\noindent每个项目前面,不如全局设置

\parindent=0pt

此外,我建议你使用 LaTeX 的内部thebibliography环境或bibtex

答案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}

结果

相关内容