5

First of all I am not an expert in using LaTeX, I just started a few months back.

I am using MiKTeX with the expex package for glossed linguistic examples. If we take a look at a glossed example, we see a space above the fourth line which is the free translation (\glft):

enter image description here

To get rid of the vertical spacing above the glft-line, the expex documentation advisies you to use the command "aboveglftskip=0pt" in the \begingl column. I used this command in my document, but it still gives me a gloss with spacing before \glft. I am using a weird template with a bunch of stuff in it, but it's likely to the beamer class. But even if I strip my document of everything, and do a normal beamer or article class, it doesn't work:

\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}

According to the documentation, one can also use the command in the \glft line which I tried. It didn't work as well... Am I doing something wrong? I want to get rid of the vertical spacing above the glft line! I am also using the expex package in a paper I am writing and it's working fine there.

Alan Munn
  • 218,180
Lucas
  • 51

2 Answers2

5

To my eye, aboveglftskip=0pt doesn't get rid of all of the extra vertical space between the glosses and translation, even with the latest version of expex (2014/03/10 v5.0b); see below. To take care of this, I usually use a negative value of aboveglftskip (and belowglpreambleskip, which has the same problem), but this seems to me to be just a hack.

enter image description here

Produced by this code:

\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}
Jason Zentz
  • 4,158
  • I get better results with -6pt using FreeSerif (XeLaTeX) with \parskip set to 6pt. 0.5ex seems to be not enough. I believe it's adding an extra parskip, but I haven't tracked down exactly what it's doing yet. – Jonathan W. Mar 10 '19 at 21:45
  • FYI, I've filed an issue at the expex repository about this: https://github.com/frampton/ExPex/issues/8 – Jonathan W. Mar 10 '19 at 21:51
2

I filed an issue about this at the expex github repo, and the author reported a short-term work around.

TLDR: You can set \parskip to 0pt in Everyex (as below) and set a few other values to 0pt.

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

The following MWE is a complete work-around:

\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}

It seems to result in evenly spaced lines:

evenly spaced lines

Without extraglskip=0pt, it looks like this, with most extra space gone:

most extra space gone

If Everyex={\parskip=0pt} is additionally removed, the following is the result, with lots of extra space (due to the 12pt \parskip):

lots of extra space