使用 linguex 进行悬挂缩进 (为什么这样做有效?)

使用 linguex 进行悬挂缩进 (为什么这样做有效?)

我想创建linguex一些示例,其中自由翻译行的悬挂缩进为 21.3 个大点。我发现使用这个hanging足够简单的包不起作用(代码中的第二个示例)。阅读 TeXbook 的相关部分(三天后)找到了一个不太简单的解决方案,但确实有效(代码中的第一个示例)。为什么使用这个hanging包会失败?

\tracingmacros=1
\documentclass{article}
\usepackage{hanging}
\usepackage{linguex}
\usepackage{lipsum}

\begin{document}

\ex .
\gll    Mundus vult decipi      \\
        world want deceive      \\
\glt    \dimen0=\the\textwidth
        \dimen1=\the\textwidth
        \dimen2=21.3bp
        \advance\dimen0 by -\the\labelwidth
        \advance\dimen1 by -\the\labelwidth
        \advance\dimen1 by -\dimen2
        \advance\dimen2 by \the\labelwidth
        \parshape=2 \the\labelwidth \dimen0 \dimen2 \dimen1
        \lipsum[2]



\ex .
\gll    Mundus vult decipi      \\
        world want deceive      \\
\glt    \hangpara{21.3bp}{2}\lipsum[2]

\end{document}

上述代码的输出如下: 在此处输入图片描述

答案1

正如 Alan Munn 在他的评论中所说,linguex基本上使用列表环境;在列表环境中,每个段落开始时\parshape1都会执行一条指令,这比设置 更好\hangindent。因此,任何设置为 的设置都\hangindent将被忽略。您可以list自己使用:设置一点也不难:

\documentclass{article}
\usepackage{linguex}
\usepackage{lipsum}

\begin{document}

\ex .
\gll  Mundus vult decipi \\
      world want deceive \\
\glt  \begin{list}{}{%
        \leftmargin=21.3pt
        \itemindent=-\leftmargin}
      \item[]\lipsum*[2]
      \end{list}

\end{document}

您可能想要为此定义自己的环境:

\newcommand{myindentedpar}[1][21.3pt]
 {\begin{list}{}{\leftmargin=#1 \itemindent=-\leftmargin}\item[]}
 {\end{list}}

因此上述内容可以指定为

\glt  \begin{myindentedpar}
      \lipsum*[2]
      \end{myindentedpar}

可以在可选参数中指定不同的缩进量

\begin{myindentedpar}[30pt]
\lipsum*[2]
\end{myindentedpar}

以下是 21.3pt 的结果:

在此处输入图片描述

相关内容