expex 语言注释中的 aboveglftskip

expex 语言注释中的 aboveglftskip

首先,我并不是使用 LaTeX 的专家,我几个月前才开始使用。

我正在使用 MiKTeX 和expex注释语言示例包。如果我们看一个注释示例,我们会看到第四行上方有一个空格,这是自由翻译(\glft):

在此处输入图片描述

为了消除 glft 行上方的垂直间距,expex 文档建议您在列aboveglftskip=0pt中使用命令“ ” \begingl。我在我的文档中使用了这个命令,但它仍然给我一个带有间距的注释\glft。我正在使用一个奇怪的模板,里面有很多东西,但它很可能是 beamer 类。但即使我剥离文档中的所有内容,并执行正常的 beamer 或 article 类,它也不会起作用:

\documentclass{article}
\usepackage{expex}

\begin{document}

\ex
\begingl[everyglpreamble=\it, belowglpreambleskip=0pt, aboveglftskip=0pt]
\gla batis-ne //
\glb feet-\sc{3.sg.poss}//
\glft`his/her feet'//
\endgl
\xe

\clearpage

\end{document}

根据文档,也可以在\glft我尝试过的行中使用命令。但它没有起作用...我做错了什么吗?我想去掉 glft 行上方的垂直间距!我也在expex写的一篇论文中使用了这个包,它在那里工作得很好。

答案1

在我看来,aboveglftskip=0pt即使使用最新版本 (2014/03/10 v5.0b),也无法消除注释和翻译之间的所有额外垂直空间expex;见下文。为了解决这个问题,我通常使用负值aboveglftskip(和belowglpreambleskip,有同样的问题),但在我看来这只是一个 hack。

在此处输入图片描述

由此代码生成:

\documentclass{article}
\usepackage{expex}

\begin{document}

\ex
\begingl[everygla=]
\glpreamble XXXXXXXX (default) //
\gla XXXXXXXX //
\glb XXXXXXXX //
\glft XXXXXXXX (default)//
\endgl
\xe

\ex
\begingl[everygla=, belowglpreambleskip=0pt, aboveglftskip=0pt]
\glpreamble XXXXXXXX (0pt) //
\gla XXXXXXXX //
\glb XXXXXXXX //
\glft XXXXXXXX (0pt) //
\endgl
\xe

\ex
\begingl[everygla=, belowglpreambleskip=-0.5ex, aboveglftskip=-0.5ex]
\glpreamble XXXXXXXX (-0.5ex) //
\gla XXXXXXXX //
\glb XXXXXXXX //
\glft XXXXXXXX (-0.5ex) //
\endgl
\xe 

\clearpage

\end{document}

答案2

我提交了关于这个问题expexgithub repo 中,作者报告了一种短期解决方法。

结论:您可以将 设置为\parskip(如下所示),并将一些其他值设置为。0ptEveryex0pt

\lingset{Everyex={\parskip=0pt}}

以下 MWE 是一个完整的解决方法:

\documentclass{article}
\usepackage{expex}

\setlength{\parskip}{12pt}

\lingset{
    aboveglftskip=0pt,
    belowglpreambleskip=0pt,
    belowpreambleskip=0pt,
    extraglskip=0pt,
    Everyex={\parskip=0pt},
}

\begin{document}

\ex
\begingl[everygla={}]
\glpreamble XXXXXXXX //
\gla XXXXXXXX //
\glb XXXXXXXX //
\glft XXXXXXXX //
\endgl
\xe

\end{document}

这似乎导致了间距均匀的线条:

等距线条

没有了extraglskip=0pt,它看起来就像这样,大部分额外的空间都消失了:

大多数额外空间已经用完了

如果Everyex={\parskip=0pt}另外删除,则结果如下,会有很多额外空间(由于12pt \parskip):

有很多额外的空间

相关内容