我需要做一段直行文本。如果我正确理解了这个问题,我需要一个宏或格式,将每个单词视为一个三层分数。顶部存储数字引用,中间存储一种语言,底部存储另一种语言。但是这些分数,作为单词,必须在中间存储,用逗号、冒号等连接、分隔。而且行要对齐,所以单词的大小会影响行的大小,要决定如何对齐。不知道我说清楚了没有。脚注也会有交叉引用。好吧,页面部分和交叉引用似乎并不难。关键似乎是“半数学”处理三层单词……我想 context 或 xetex/xelatex 就足够了,但是……我希望得到适当的建议
答案1
根据您的实际需求,这看起来很像是expex
包裹。
ExPex 包提供了非常复杂的注释宏,可以满足您的需要。以下是文档中的一个示例:
\documentclass{article}
\usepackage{expex}
\begin{document}
\ex[glhangstyle=none]
\let\\=\textsc
\begingl
\gla
Hom\^{a}o sa \v{c}\^{o} p\^{o} tha \~{n}u nao ng\u{a} hmua. \~{N}u
dj\u{a} g\u{a}, \~{n}u dj\u{a} \v{c}\u{o}ng \~{n}u, laih gui r\^{e}o
\~{n}u. Todang bboi r\^{o}k jolan \~{n}u nao hma, \~{n}u bb\^{o}h sa
droi mr\u{a} d\u{o} bboi gah, a, hruh \~{n}u.//
\glb
\\{exist} one \\{clf} person old \\{3s} go do field \\{3s} hold
machete \\{3s} hold hoe \\{3s} and carry.on.back back.basket \\{3s}
while at along trail \\{3s} go field \\{3s} see one \\{clf} peacock
stay at \\{drct} -- nest \\{3s}//
\glft
`There was an old person who went to work in the field. He took
along his machete, he took along his hoe, and he carried his
basket on his back. While he was on his way to the farm, he saw a
peacock beside its nest.'//
\endgl
\xe
\end{document}
答案2
这难道不是语言学问题吗?Jürgen Fenn 在 CTAN 上维护着一个软件包主题目录。从那里开始总是有用的。有关语言学软件包,请参见此处:http://texcatalogue.sarovar.org/bytopic.html#linguistics
不过,我记得在德国这里进行过讨论。2008 年,有人在我们的 TeX-Journal 上发表了关于语言文本的 PSTricks 的文章。我依稀记得那并不容易。所以也许你可以给我们更多细节,然后我们再给出更好的建议。