![Typgloss 对第三行的小写字母进行注释](https://linux22.com/image/451613/Typgloss%20%E5%AF%B9%E7%AC%AC%E4%B8%89%E8%A1%8C%E7%9A%84%E5%B0%8F%E5%86%99%E5%AD%97%E6%AF%8D%E8%BF%9B%E8%A1%8C%E6%B3%A8%E9%87%8A.png)
我使用一个名为的包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
。如果您希望这种缩写也变成小写字母,则需要将单字母括在 中{}
。