
Я готовлю документ, содержащий некоторые межстрочные глоссы, сами соглашения о глоссариях представлены в виде отдельного списка. Я используюлейпцигпакет для набора глосс,expexпакет для форматирования пронумерованных примеров иглоссариипакет для создания списка сокращений.
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}
Есть ли способ исправить это? Я компилирую эти конкретные MWE с помощью pdfTeX, версии 3.1415926-2.5-1.40.14 (TeX Live 2013), но пробовал и Xe-, и LuaLaTeX, оба раза с тем же результатом.
решение1
Мне не удалось воспроизвести проблему с интервалами вокруг SG, поэтому этот ответ может вам не помочь.
TheидтиПроблема .PSTpastpst связана с использованием устаревших glossaries
команд \defglsdisplay
и \defglsdisplayfirst
в leipzig.sty
.
Вот что находится в версии 1.0 leipzig.sty
строки 128:
\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
По крайней мере, с момента выпуска 16 июня 2017 года leipzig
это больше не кажется проблемой. Вам просто нужно использовать glosses
опцию пакета. (Это объясняется в разделе «Несколько глоссариев» документации.)
\usepackage[glosses]{leipzig}
решение3
Изменение leipzig.sty
— правильный путь. Однако есть небольшая путаница...
Есть два места, где leipzig.sty
появляется (в Miktex на Windows 7, 8, 8.1):
1. C:\Program Files\MiKTeX 2.9\tex\latex\leipzig
2. C:\Users\USERNAME\AppData\Roaming\MiKTeX\2.9\tex\latex\leipzig
При изменении первого я не добился успеха. При изменении второго перекомпиляция моего файла заставила обходной путь работать правильно. Спасибо, @Jason Zentz!