文本块的嵌套缩进

文本块的嵌套缩进

我怎样才能双重缩进某些文本行?

总体思路是...

普通的
一旦缩进
一旦缩进
两次缩进
一旦缩进
...

以下是我的尝试,但它只缩进一次。

  对于每个 $v \in win$\\

\addtolength{\leftskip}{1厘米}
如果 ($pl(v) = 1 \& \exists (v,v') \in E : v' \in win$)\\
{\addtolength{\leftskip}{1cm}$win \cup= v; st \cup = \{v \rightarrow v'\}$}\\
如果 ($pl(v) = 2 \& \forall (v,v') \in E : v' \in win$)\\
{\addtolength{\leftskip}{1cm}$wim \cup= v;$}\\
如果 ($pl(v) = 2 \& \exists (v,v') \in E : v' \in lose$)\\
{\addtolength{\leftskip}{1cm}$lose \cup=v$;}\\

有人可以告诉我一个更好的方法吗,以及/或者为什么我的尝试不起作用?

非常感谢。

答案1

我认为您正在寻找类似的东西。

\documentclass{article}
\begin{document}
\begin{tabbing}
\hskip\parindent\=\hskip\parindent\=\kill
For each $v\in win$,\+\\
if ($pl(v)=1\ \&\ \exists(v,v')\in E:v'\in win$)\\
\>$\mathit{win}\cup=v;st\cup=\{v\rightarrow v'\}$\\
if ($pl(v) = 2 \& \forall (v,v') \in E : v' \in win$)\\
\>$wim \cup= v;$\\
if ($pl(v) = 2 \& \exists (v,v') \in E : v' \in lose$)\\
\>$lose \cup=v$;\\
\end{tabbing}
\end{document}

为了使答案尽可能接近您的示例,我将数学公式保留为您编写的公式,但我认为这不是一个好主意。像这样写$win$会将其排版为, 和n

作为解释,

  • \=设置制表位。因此,我在这里设置了 2 个制表位:一个位于 1 \parindent,另一个位于 1\parindent之后。
  • \kill忽略前面仅用于设置制表位的文本。
  • \+将所有后面的命令缩进一个制表位。
  • \>移至下一个制表位。

有类似的\-\<命令,它们可以执行您期望的操作。(还有和\'\`它们在制表环境中执行一些奇怪的操作,但我从未使用过它们。)

答案2

quote当我想要实现这样的效果时,我会嵌套环境:

Normal
  \begin{quote}
  Once indented
  Once indented
    \begin{quote}
    Twice indented 
    \end{quote}
  Once indented
  \end{quote}

您可能还希望定义自己的缩进环境,以便控制左右边距和前后垂直跳跃。但这是另一个问题。

例如,你可以用indentmore这种方式定义环境(最初,我借用changemargin这一页, 谢谢亨德里克将其转换为 LaTeX):

\newenvironment{changemargin}[2]{%
\list{}{\rightmargin#2\leftmargin#1
\parsep=0pt\topsep=0pt\partopsep=0pt}
\item[]}
{\endlist}

\newenvironment{indentmore}{\begin{changemargin}{1cm}{0cm}}{\end{changemargin}}

更改\parsep\partopsep\topsep来控制垂直间距)。

indentmore文本中的嵌套形式如下:

嵌套的 indentmore 环境

您可以找到示例的完整源代码在 pastebin

答案3

答案取决于你想达到什么目的。缩进通常意味着只缩进段落的第一行(按量\parindent)。您增加了\leftskip,这意味着整个段落的左边距都增加了。

您尝试使用 ,\leftskip但未成功,因为您需要先结束段落,然后再使用 结束组}。以下方法有效:

{\addtolength{\leftskip}{1cm}This has an increased left margin.\par}

如果你只想缩进段落的第一行(或者你只有一行),那么你可以使用

{\addtolength{\parindent}{1cm}This has an additional indentation of 1cm.}

(无需在这里结束本段。)

答案4

\hspace{1cm} One indent \linebreak
\hspace{2cm} Two indent \linebreak

或者

\indent One indent \linebreak
\indent \indent Two indent \linebreak

虽然后者有些马虎。

相关内容