parshape 环境中的线宽

parshape 环境中的线宽

我想获取环境中的当前线宽\parshape

以下变量返回整个页面的宽度(345pt),我期望的是 300pt:

\documentclass{report}

\usepackage{lipsum}

\begin{document} 

\parshape=5
0pt 300pt
0pt 300pt
0pt 300pt
0pt 300pt
0pt 300pt
\noindent\the\textwidth\\ \the\linewidth\\ \the\columnwidth\\ \the\hsize\\\lipsum[1]

\end{document}

在此处输入图片描述

我如何才能获得预期(尺寸)值?

答案1

您可以使用 e-TeX 提供的原语1

\parshapeindent
\parshapelength,

每个后面都跟一个整数,用于访问当前规范下的行缩进和行长\parshape,但无法知道单词出现的行的行长或缩进,因为这是在 TeX 将其算法应用于将段落拆分为行时决定的。换句话说,没有“当前行”的概念。可以举一些例子,在段落中,更改一个单词可能会导致截然不同的换行符。


1使用 LaTeX 时可以使用 e-TeX 扩展(至少在 2004 年左右发布的 TeX 系统上)。

相关内容