多行/多语言语言注释

多行/多语言语言注释

我正在尝试排版包含至少两种语言的语言注释,但我想添加更多语言。

不幸的是,该软件包似乎gb4e不支持更多光泽线。我搜索了互联网和这个网站,我找到的最相关的结果是使用 gb4e 对齐多种语言的注释

例子Ab, 和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}

gb4e 代码的输出

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}

ExPex 代码的输出

相关内容