悬挂缩进

悬挂缩进

注意:在原帖之后,有人向我指出我的问题与 textpos 包无关。我编辑了标题,但保留了原帖以供后人参考(或者说,每次看到它我都会觉得自己很傻)。

我希望能够使用 textpos 包将文本放置在页面上的任意位置。但是,有一次,我想在一个框中放置多行,并且第一行之后的所有行都缩进。我尝试使用 \addtolength{\leftskip}{18pt},但它缩进了所有行,包括第一行。经过一番思考,我得出结论,这可能不是一个错误,它只是这样。无论如何,有人有解决这个问题的方法吗?(显然,我可以将内容分解成许多小的垂直模块,但这似乎会带来很大的麻烦)。这是一个小例子。在第一个文本框中,我使用了 \addtolength 构造;第二个文本框没有它,所以你可以看到区别。谢谢。

\documentclass{article}
\usepackage[absolute,showboxes]{textpos}
\pagestyle{empty}

\TPGrid[1in,1in]{2}{20}
\TPMargin{4pt}
\setlength{\parindent}{0pt}

\begin{document}
  \begin{textblock}{1}(0,2)
   {\scshape\large Name}
    \newline
    {\addtolength{\leftskip}{12pt}
      Address 1\\
      Address 2
      \par
    }
  \end{textblock}
  \begin{textblock}{1}(0,4)
    {\scshape\large Name}
      \newline
      Address 1\\
      Address 2
  \end{textblock}
\end{document}

答案1

使用\hangindent=13pt(使用任何你想要的尺寸,而不是 13pt,例如 1em 或 0.3cm)

\documentclass{article}
\usepackage[absolute,showboxes]{textpos}
\pagestyle{empty}

\TPGrid[1in,1in]{2}{20}
\TPMargin{4pt}
\setlength{\parindent}{0pt}

\begin{document}
  \begin{textblock}{1}(0,2)
   {\scshape\large Name}
    \newline
    {\addtolength{\leftskip}{12pt}
      Address 1\\
      Address 2
      \par
    }
  \end{textblock}
  \begin{textblock}{1}(0,4)
    {\scshape\large Name}
      \newline
      \hangindent=13pt
      Address 1\\
      Address 2
  \end{textblock}
\end{document}

您还可以 \hangafter=2结合使用以hangindent仅从第二行开始缩进等等。

OP 还询问为什么调整\leftskip不起作用,这是因为它应用了within一个段落,如果我们通过留下一个空白行将文本分成两个段落,OP 的示例也将按照以下示例起作用:

\begin{textblock}{1}(0,2)
   {\scshape\large Name}
    \newline


    {\addtolength{\leftskip}{30pt}
      Address 1\\
      Address 2
      \par
    }

相关内容