使用 gb4e 自动获取语言注释中的小型大写字母

使用 gb4e 自动获取语言注释中的小型大写字母

我正在寻找一种方法来自动将gb4e逐个词素注释的适当部分格式化为小写字母。

我在注释线中使用小型大写字母来标记功能性材料;也就是说,除了词根之外的所有内容都采用小型大写字母格式,如图所示。

example of gloss

\textsc目前,我每次想要使用小写字母时都会添加,因此图片中的示例由以下代码生成:

%typeset in XeLaTeX for the Turkish characters to show correctly; but this is not what's at stake

\documentclass{article}
\usepackage{gb4e}
\begin{document}


\begin{exe} 
\ex \gll  Hasan-Ø [uşağ-ın oda-yı temizle-me-sin]-i söyle-di-Ø. \\
Hasan-\textsc{Nom} servant-\textsc{Gen} room-\textsc{Acc} clean-\textsc{NFNom-3Sg-Acc} say-\textsc{Past-3Sg} \\ 
\glt `Hasan said that the servant should clean the room.'
\end{exe}

\end{document}

请注意光彩行中出现的五次\textsc;我想避免这种重复。我正在寻找一种方法来告诉gb4e每次需要生成光彩时将光彩行的适当部分格式化为小写字母。我认为这将涉及摆弄包宏,但我不确定如何实现这一点。

在定义需要应用小写字母的环境方面,我可以定义如下。它只是一条注释线,在最简单的情况下,可以理解为由和定义的环境\\中两次出现的 之间的字符串。在这个域中,小写字母应该影响位于点或破折号(分隔词素的符号)和空格之间的任何内容。example\begin{exe}\end{exe}

必须多次添加\textsc只是小麻烦,所以如果我发现自己的要求是错误的,我也不会伤心。但如果有这种自动化功能就好了。

答案1

leipzig软件包提供了许多用于语言学注释缩写的宏,您可以根据需要重新定义这些宏,也可以添加自己的宏。小型大写字母是作为一般宏机制的一部分来处理的(尽管可以使用 更改格式\leipzigfont)。使用缩写宏可以帮助您在整篇论文中保持一致,如果您在某个时候决定要更改注释某些词素的方式,那么您可以在序言中使用一行代码来实现(只需重新定义您一直使用的宏)。该软件包还可以与 配合使用glossaries,以表格或段落(脚注)形式自动生成缩写及其完整形式的列表。

这是您使用 设置的 MWE leipzig

\documentclass{article}

\usepackage{libertine}
\usepackage{leipzig}
\newleipzig{nfnom}{nfnom}{non-factive nominalization} % defined a new macro for this because it doesn't come with the package; see section 3.1 of the leipzig documentation for an explanation
\usepackage{gb4e}

\begin{document}


\begin{exe} 
\ex \gll  Hasan-Ø [uşağ-ın oda-yı temizle-me-sin]-i söyle-di-Ø. \\
Hasan-\Nom{} servant-\Gen{} room-\Acc{} clean-\Nfnom-\Tsg-\Acc{} say-\Pst-\Tsg{} \\ 
\glt `Hasan said that the servant should clean the room.'
\end{exe}

\end{document}

enter image description here

答案2

您可以尝试定义一个快捷命令。一个建议:

\documentclass{article}
\usepackage{gb4e}
\usepackage{enumitem}
\def \-#1 {-\textsc{#1}}
\begin{document}
\begin{exe}     
\ex Hasan\-nom
\end{exe}
\end{document}

enter image description here

相关内容