我正在尝试排版包含至少两种语言的语言注释,但我想添加更多语言。
不幸的是,该软件包似乎gb4e
不支持更多光泽线。我搜索了互联网和这个网站,我找到的最相关的结果是使用 gb4e 对齐多种语言的注释
例子A,b, 和C应该像单独注释一样间隔开。使用其他方法是否更好?也许是一些制表符方法?问题还在于,与上面链接的问题中的答案不同,我仍然希望能够使用\label
和引用示例\ref
,如果不添加,这是不可能的\ex
,而如果像这样使用,又会出现错误。
这是代码(不起作用),但它显示了我想要做的事情。提供了注释信息。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{expex}
\usepackage{gb4e, cgloss}
\begin{document}
\begin{exe}
\ex\label{par1} % Arabic numbering
\begin{xlist} % the next ones, alphabetic numbering as usual
\ex\label{par1a} Ho fame, sete, caldo, freddo, sonno\\
\ex\label{par1b} Tengo hambre, sed, calor, frio, sueño\\
\ex\label{par1c} Tenzo gana, sidiu, calore, vrittu, sonnu\\
have.\textsc{1sg} hunger thirst hot cold sleep
`I am hungry, thirsty, hot, cold, sleepy’ (lit. ‘I have hunger, thirst, heat, cold, sleep’)
\end{xlist}
\end{exe}
References to \ref{par1a} and \ref{par1c}. But let's not forget \ref{par1b}.
\end{document}
答案1
这只能用 2 种语言来实现gb4e
,因为gb4e
最多支持两行注释加上示例本身。使用功能更强大的 ExPex 包,可以实现任意数量的语言。
由于您所做的实际上扭曲了注释机制(因为您希望拥有多个带有标签的注释线,就好像它们是示例一样),因此无论哪种方式都需要进行一些破解。
在下面的代码中,我为编号的注释行创建了一个计数器,并创建了一个显示它的命令。然后将其用作每条注释行的第一个元素。该gb4e
代码与 ExPex 代码之间存在一些细微差别,主要是在每个环境中重置计数器的方式不同。
请注意,如果命令后面没有立即跟着其他命令\numgloss
,则必须以 终止该命令,否则它将被视为下一个单词的一部分,并且最终的注释将无法正确排列。{}
\label
gb4e
版本
此版本仅限两种语言。它使用相同的基本技术和\glll
宏来引入三行注释(请注意额外的l
)。
\documentclass{article}
\makeatletter\def\new@fontshape{}\makeatother
\usepackage{chngcntr}
\usepackage{gb4e,cgloss}
\newcounter{glossnum}
\newcommand{\numgloss}{\refstepcounter{glossnum}\alph{glossnum}.\space}
\counterwithin{glossnum}{xnumi}
\renewcommand{\theglossnum}{\thexnumi\alph{glossnum}}
\begin{document}
\begin{exe}
\ex\label{ex1}
\glll
\numgloss\label{par1a} Ho fame, sete, caldo, freddo, sonno\\
\numgloss\label{par1b} Tengo hambre, sed, calor, frio, sueño\\
{} have.\textsc{1sg} hunger thirst hot cold sleep\\
\glt `I am hungry, thirsty, hot, cold, sleepy’ (lit. ‘I have hunger, thirst, heat, cold, sleep’)
\end{exe}
References to \ref{par1a} and \ref{par1b}.
\begin{exe}
\ex\label{ex2}
\glll
\numgloss\label{par2a} Ho fame, sete, caldo, freddo, sonno\\
\numgloss\label{par2b} Tengo hambre, sed, calor, frio, sueño\\
{} have.\textsc{1sg} hunger thirst hot cold sleep\\
\glt `I am hungry, thirsty, hot, cold, sleepy’ (lit. ‘I have hunger, thirst, heat, cold, sleep’)
\end{exe}
References to \ref{par2a} and \ref{par2b}.
\end{document}
ExPex 版本
由于 ExPex 允许任意数量的光泽线,因此此版本没有实际限制。
\documentclass{article}
\usepackage{expex}
\newcounter{glossnum}
\newcommand{\numgloss}{\refstepcounter{glossnum}\alph{glossnum}.\space}
\renewcommand{\theglossnum}{\the\excnt\alph{glossnum}}
\begin{document}
\ex[everygla={\setcounter{glossnum}{0}}]\label{ex1}
\begingl
\gla \numgloss\label{par1a} Ho fame, sete, caldo, freddo, sonno//
\glb \numgloss\label{par1b} Tengo hambre, sed, calor, frio, sueño//
\glb \numgloss\label{par1c} Tenzo gana, sidiu, calore, vrittu, sonnu//
\glb {} have.\textsc{1sg} hunger thirst hot cold sleep//
\glft `I am hungry, thirsty, hot, cold, sleepy’ (lit. ‘I have hunger, thirst, heat, cold, sleep’)//
\endgl
\xe
References to \ref{par1a} and \ref{par1c}. But let's not forget \ref{par1b}.
\ex[everygla={\setcounter{glossnum}{0}}]\label{ex2}
\begingl
\gla \numgloss{}\label{par2a} Ho fame, sete, caldo, freddo, sonno//
\glb \numgloss{}\label{par2b} Tengo hambre, sed, calor, frio, sueño//
\glb \numgloss{}\label{par2c} Tenzo gana, sidiu, calore, vrittu, sonnu//
\glb {} have.\textsc{1sg} hunger thirst hot cold sleep//
\glft `I am hungry, thirsty, hot, cold, sleepy’ (lit. ‘I have hunger, thirst, heat, cold, sleep’)//
\endgl
\xe
References to \ref{par2a} and \ref{par2c}. But let's not forget \ref{par2b}.
\end{document}