设置 parindent 和 hangindent 之间的区别

设置 parindent 和 hangindent 之间的区别

设置之间有什么区别吗

  • \parindent到 1em

并设置

  • \parindent改为 0em、\hangindent1em 和\hangafter-1

在实际使用中会显示什么?TeX 创建的节点有所不同,但这会在排版中显示出来吗?我看到的一个区别是 hang* 设置是段落本地的,但我不在乎这一点,因为我使用 LuaTeX 的tex.linebreak()

这个问题是针对 LuaTeX 的,但我猜答案适用于所有引擎。

示例代码:

\documentclass{article}
\begin{document}
\linewidth 300pt

\newcommand\text{A wonderful serenity has taken possession of my entire soul, like
these sweet mornings of spring which I enjoy with my whole heart. I am
alone, and feel the charm of existence in this spot, which was created
for the bliss of souls like mine. I am so happy, my dear friend, so
absorbed in the exquisite sense of mere tranquil existence, that I
neglect my talents.}

\text

\hangindent=\parindent
\parindent 0pt
\hangafter=-1
\text

\end{document}

答案1

LaTeX 列表环境使用\parshape\hangafter本质上是一种简写),因此那里的行为可能会有所不同。

但也许第一个需要注意的区别是,LaTeX 在节标题后(以及段落中间显示环境后)抑制段落缩进的机制会删除 parindent 节点,但不会看到 hangafter。

比较:

\section{aaa}

\text

在这两种情况下。

答案2

最重要的区别是 TeX 记住了\parindent,但它会在段落末尾重置\hangindent和。\hangafter

\documentclass{article}

\begin{document}
\linewidth 100pt

\newcommand\texta{A wonderful serenity has taken possession of my entire soul, like
these sweet mornings of spring which I enjoy with my whole heart. I am
alone, and feel the charm of existence in this spot, which was created
for the bliss of souls like mine.}

\newcommand\textb{I am so happy, my dear friend, so
absorbed in the exquisite sense of mere tranquil existence, that I
neglect my talents.}

\texta

\textb

\hangindent=\parindent
\parindent 0pt
\hangafter=-1
\texta

\textb

\end{document}

在此处输入图片描述

第二个\textb没有缩进。如果你在 后面也留一个空行\hangafter=-1,你会看到第二个\texta没有缩进,因为重置了。事实上,\par在垂直模式下几乎无作用:它所做的是重置段落形状参数(\hangindent\hangafter\parshape\looseness)。

TeX、pdfTeX、XeTeX 和 LuaTeX 中的行为相同。

相关内容