莱比锡和词汇表一起使用的问题

莱比锡和词汇表一起使用的问题

我正在准备一份包含一些行间注解的文档,注解惯例本身显示为单独的列表。我使用莱比锡用于排版注释的包,专家包来格式化编号示例和词汇表包来创建缩写列表。

MWE#1 正确地获得了注释的形状,无论是在编号示例内部还是外部:在 pdf 输出中,1、SG、冒号和 DAT 之间没有间距。

\documentclass{article}

\usepackage{expex}
\usepackage{leipzig}

\begin{document}

\ex
\begingl
\gla mulle //
\glb \First\Sg:\Dat{} //
\endgl
\xe

go.\Pst{}

\end{document}

但是,如果我加载词汇表按照包装中的说明进行操作莱比锡手册,如 MWE#2 所示,我在 SG 位的两侧都得到了不必要的间距。此外,内联注释出现在展开为.PSTpastpst 而不是所需的。太平洋标准时间

\documentclass{article}

\usepackage{expex}

\usepackage[nomain,nostyles]{glossaries}
\usepackage{glossary-inline}
\usepackage{leipzig}
\makeglossaries

\begin{document}

\ex
\begingl
\gla mulle//
\glb \First\Sg:\Dat{}//
\endgl
\xe

go.\Pst{}

\printglossary[style=inline,type=\leipzigtype]

\end{document}

有办法纠正吗?我正在使用 pdfTeX 版本 3.1415926-2.5-1.40.14 (TeX Live 2013) 编译这些特定的 MWE,但也尝试了 Xe 和 LuaLaTeX,两次结果相同。

答案1

我无法复制 SG 周围的间距问题,因此这个答案可能对您没有帮助。

.PSTpastpst 问题与过时glossaries命令的使用有关。\defglsdisplay\defglsdisplayfirstleipzig.sty

以下是 v1.0 中第 128 行的内容leipzig.sty

\newcommand*{\SetLeipzigDisplayStyle}[1]{%
    \defglsdisplay[#1]{\leipzigfont{##1}##4}%
    \defglsdisplayfirst[#1]{\firstleipzigfont{##1}##4}%
}

您应该创建 的副本leipzig.sty,用新名称保存它,然后将上述行更改为以下内容。然后您需要加载修改后的样式文件,而不是leipzig.sty

\newcommand*{\SetLeipzigDisplayStyle}[1]{%
    \renewcommand*{\glstextformat}[1]{\leipzigfont{#1}}%
}

这可以消除过时的命令错误,还可以解决您的.PSTpastpst 问题。

答案2

至少从 2017 年 6 月 16 日发布的版本开始leipzig,这似乎不再是一个问题。你只需要使用glosses包选项。(这在文档的“多个词汇表”部分中有解释。)

\usepackage[glosses]{leipzig}

答案3

更改leipzig.sty是正确的做法。不过,这有点令人困惑……

有两个位置leipzig.sty出现(在 Windows 7、8、8.1 上的 Miktex 中):
1。2 C:\Program Files\MiKTeX 2.9\tex\latex\leipzig
C:\Users\USERNAME\AppData\Roaming\MiKTeX\2.9\tex\latex\leipzig

更改第一个时,我没有成功。更改第二个时,重新编译我的文件使解决方法正常运行。谢谢,@Jason Zentz!

相关内容