我使用一个名为的包typgloss
来自动将大写的语言注释转换成小写字母。
问题是,当只有一行需要上光时,它可以工作,但当有两行需要上光时,它就不起作用了。您有解决方案吗?
我正在使用linguex
。cgloss
包typgloss
在这里:https://github.com/tpellard/typgloss
以下是最简代码:
\documentclass{article}
\usepackage{linguex, cgloss}
\usepackage{typgloss}
\begin{document}
\ex.
\a.
\gll à pjě =lè kǔ\\
AFF hare =INDF3.SG die\\
\glt `Hare died.'\\
\b.
\glll à pjě =lè kǔ\\
à pjě =lV kǔ\\
AFF hare =INDF3.SG die\\
\glt `Hare died.'\\
\end{document}
答案1
这是一个不错的小软件包。作者没有添加对三行注释的支持,但这很容易做到。
代码解释:
cgloss
(和)包cgloss4e
定义了与注释行中的单词相对应的宏:\eachwordone
,\eachwordtwo
和\eachwordthree
。该typgloss
包\grlbl
为这些宏添加了一个包装器,然后使用正则表达式将大写字母替换为小写字母,并根据所选格式对其进行格式化\eachword...style
(其中...
,one
在two
原始代码中。)我只是添加了第三行包装器和相应的样式。
\documentclass{article}
\usepackage{linguex, cgloss}
\usepackage{typgloss}
\newcommand{\eachwordthreestyle}{}
\renewcommand{\eachwordthree}{\eachwordthreestyle\grlbl}
\begin{document}
\ex.
\a.
\gll à pjě =lè kǔ\\
AFF hare =INDF3.SG die\\
\glt `Hare died.'\\
\b.
\glll à pjě =lè kǔ\\
à pjě =lV kǔ\\
AFF hare =INDF3.SG die\\
\glt `Hare died.'\\
\end{document}
请注意,这种方法typgloss
是有效的,它不会捕捉到单字母缩写,例如示例 (1b) 第二行注释V
中的lV
。如果您希望这种缩写也变成小写字母,则需要将单字母括在 中{}
。