我正在寻找一种方法来自动将gb4e
逐个词素注释的适当部分格式化为小写字母。
我在注释线中使用小型大写字母来标记功能性材料;也就是说,除了词根之外的所有内容都采用小型大写字母格式,如图所示。
\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}