考虑一下这个MWE:
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\usepackage[english]{babel}
\usepackage{multicol}
\usepackage{expex}
\begin{document}
\begin{multicols}{2}
\ex %1
\begingl
\gla ŋada baniñu //
\glb {I (S/AGT)} coming //
\glc 1SG.NOM coming //
\glft `I am coming.' //
\endgl
\xe
\ex %2
\begingl
\gla ŋinda baniñu //
\glb {you (S/AGT)} coming //
\glc 2SG.NOM coming //
\glft `You are coming.' //
\endgl
\xe
\ex %3
\begingl
\gla {balan dugumbil} baniñu //
\glb {the woman (S/AGT)} coming //
\glc {the woman.ABS} coming //
\glft `The woman is coming.' //
\endgl
\xe
\ex %4
\begingl
\gla {bayi yara} baniñu //
\glb {the man (S/AGT)} coming //
\glc {the man.ABS} coming //
\glft `The man is coming.' //
\endgl
\xe
\ex %5
\begingl
\gla ŋada ŋinu-na balgan //
\glb {I (AGT)} {you (PAT)} hitting //
\glc 1SG.NOM 2SG-ACC hitting //
\glft `I'm hitting you.' //
\endgl
\xe
\ex %6
\begingl
\gla ŋinda ŋaygu-na balgan //
\glb {you (AGT)} {me (PAT)} hitting //
\glc 2SG.NOM 1SG-ACC hitting //
\glft `You're hitting me.' //
\endgl
\xe
\end{multicols}
\end{document}
虽然各个示例的行数相同,并且都包含大写和小写字符,但是当将它们并排放在两列中时,它们之间的间距就不对了,看起来很尴尬:
有什么方法可以修复此问题?有趣的是,除了最后两个示例外,我没有发现任何不规则对齐。
答案1
expex
\noindent
在 末尾发出\xe
。我认为使用 会更好(如列表)\@doendpe
。(当前系统中不需要加载 xunicode,xltxtra 通常也是不必要的,所以我删除了两者)。
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage[english]{babel}
\usepackage{multicol}
\usepackage{expex}
\makeatletter
\def\xe{%
\expandafter\vskip\lingbelowexskip
\egroup
\if@specialexno \else \stepexcnt \fi
\allowbreak
\prevdepth\dp\strutbox
%\noindent
\@doendpe
}
\makeatother
\begin{document}
\begin{multicols}{2}%\raggedcolumns
\ex %1
\begingl
\gla ŋada baniñu //
\glb {I (S/AGT)} coming //
\glc 1SG.NOM coming //
\glft `I am coming.' //
\endgl
\xe
\ex %2
\begingl
\gla ŋinda baniñu //
\glb {you (S/AGT)} coming //
\glc 2SG.NOM coming //
\glft `You are coming.' //
\endgl
\xe
\ex %3
\begingl
\gla {balan dugumbil} baniñu //
\glb {the woman (S/AGT)} coming //
\glc {the woman.ABS} coming //
\glft `The woman is coming.' //
\endgl
\xe
\ex %4
\begingl
\gla {bayi yara} baniñu //
\glb {the man (S/AGT)} coming //
\glc {the man.ABS} coming //
\glft `The man is coming.' //
\endgl
\xe
\ex %5
\begingl
\gla ŋada ŋinu-na balgan //
\glb {I (AGT)} {you (PAT)} hitting //
\glc 1SG.NOM 2SG-ACC hitting //
\glft `I'm hitting you.' //
\endgl
\xe
\ex %6
\begingl
\gla ŋinda ŋaygu-na balgan //
\glb {you (AGT)} {me (PAT)} hitting //
\glc 2SG.NOM 1SG-ACC hitting //
\glft `You're hitting me.'//
\endgl
\xe
\end{multicols}
blblabla
\end{document}
答案2
不管怎样,我可以通过在第 3 个示例之后multicols
用multicols*
和手册替换,在它之前和环境末尾用 替换来“修复”这个问题。不过,这似乎有点黑客行为。\columnbreak
\vfill