一次为多个段落设置悬挂缩进

一次为多个段落设置悬挂缩进

有没有办法让文档中的每个段落都以悬挂缩进开头,而无需为每个段落都定义它?在不加载任何额外软件包的情况下,这是否可行?

而且,我们正在讨论这个问题:是否有可能在连续的 100 个段落中,有 10 个段落以悬挂缩进开始,而其余段落则不以悬挂缩进开始?

编辑:

所以我想要的是:10 个段落带有悬挂缩进,90 个段落不带有悬挂缩进。这可以实现吗:

  • 无需为每个段落单独定义
  • 加载额外的包

答案1

我确信通过一些 TeX 编程是可以实现的。另一方面,绞刑包已经满足了您的大部分要求。只需将所有正文或要挂起的任意数量的段落放入环境中即可\hangparas

答案2

当段落仅包含文本时,这是一个简单的解决方案。

\documentclass{article}
\usepackage[numbers]{kantlipsum}
\begin{document}

\parindent=0pt
\newcounter{paras}
\everypar{%
  \stepcounter{paras}%
  \ifnum\value{paras}>10 
    \everypar{}
  \else
    \hangindent=5em \hangafter=1
  \fi}

\kant[1-100]

\end{document}

神秘\everypar是一个标记容器,每当一个段落开始时,它就会被插入。在这种情况下,我们说要踩计数器并查看它的值:目前它的值大于 10,我们在第 11 段,所以我们从中删除所有内容\everypar,否则我们设置悬挂缩进。

相关内容