gb4e:删除前言/标题行下方的多余空格

gb4e:删除前言/标题行下方的多余空格

我正在用 撰写语言学博士论文gb4e。在许多情况下,我想在行间示例中添加序言行,而在其他一些情况下,我需要tabbing在示例中嵌入环境(主要用于计数器)。原则上,这可以正常工作,但gb4e在行前引入了不必要的空格\gll。我搜索了整个互联网,但没有找到解决方案。我的示例太多,无法切换到另一个包,例如expex。我也尝试过使用cgloss.sty,但这会弄乱我的一些较长的行间示例。

以下是 MWE:

\documentclass{scrbook}   
\usepackage{gb4e}  
\usepackage{lipsum}  
\begin{document}  

\lipsum[1] 

\begin{exe}  
\ex \gll bloss ein Beispiel\\  
just a example\\  
\glt \lq Just an example' 

\ex Swahili:  
\gll m-toto a-na-cheza\\  
1-child 1-\textsc{prog}-play\\  
\glt \lq A/the child is playing'  

\ex Some Swahili verb stems:  
\begin{tabbing}  
xxxxx\=\kill  
\textit{cheza}\>\lq play; dance'\\  
\textit{jua}\>\lq know'\\  
\textit{fika}\>\lq arrive'  
\end{tabbing}   
\end{exe}  

\lipsum[2]  
\end{document}

输出

因此,我希望在 (2) 中的“斯瓦希里语”和行间示例之间以及 (3) 中的“某些斯瓦希里语动词词干”和以下列表之间分别有一个换行符,且没有任何额外空格。我将非常感谢您的帮助!

答案1

1. 其中gb4ecglosstabular

我认为解决垂直间距问题最简单的方法是加载cgloss包并切换到tabular环境而不是tabbing

cgloss软件包在 CTAN 或标准发行版中不可用;请参阅 Alan Munn 的回答为什么在我的直行注释中,翻译和注释的最后一行之间的差距这么大?了解有关如何下载和安装它的信息。您提到您已经尝试过这种方法,但它给较长的示例带来了问题;也许您应该就此提出一个单独的问题,或者修改您的 MWE,以便我们可以使用其中一些较长的示例。

除非您有充分的理由使用tabbing,否则使用 更为常见tabular

代码

\documentclass{scrbook}   
\usepackage{array} % for formatting tabular columns
\usepackage{gb4e}
\usepackage{cgloss}  % reduces vertical space between preamble and gloss lines, as well as between gloss lines and free translation lines

\begin{document}  

\begin{exe} 
 
\ex \gll bloss ein Beispiel\\  
just a example\\  
\glt \lq Just an example' 

\ex Swahili:\\
\gll m-toto a-na-cheza\\  
1-child 1-\textsc{prog}-play\\
\glt \lq A/the child is playing'  

\ex Some Swahili verb stems:\\ % with tabular, just using a normal line break (\\) gives the right spacing
\begin{tabular}[t]{@{}>{\itshape}ll} % the @{} removes horizontal spacing before the start of the tabular, >{\itshape} specifies that the next column is italics, and ll give you two left-aligned columns
cheza & \lq play; dance' \\
jua & \lq know' \\
fika & \lq arrive' \\
\end{tabular}

\end{exe}  

\end{document}

输出

在此处输入图片描述

2. 有gb4etabbing没有cgloss

如果你真的无法工作cgloss,但又真的想使用tabbing,这里有一些让它工作的小窍门:

  • 新的pream命令为您提供了冒号并删除了一些垂直空间。
  • 当您有一个前导行但cgloss尚未加载时,gb4e会在该行前添加额外的空间\glt,因此新\pglt命令会在调用该命令之前删除一些垂直空间\glt

代码

\documentclass{scrbook}   
\usepackage{gb4e}
\newcommand{\pream}[1]{#1:\\[-4.5ex]} % for preamble lines, supplies a colon and removes some vertical space
\newcommand{\pglt}{\vspace*{-2ex}\glt} % for use in examples that have a preamble

\begin{document}  

\begin{exe} 
 
\ex \gll bloss ein Beispiel\\  
just a example\\  
\glt \lq Just an example' 

\ex \pream{Swahili} % put your preambles in the \pream{} command
\gll m-toto a-na-cheza\\  
1-child 1-\textsc{prog}-play\\
\pglt \lq A/the child is playing' % when a glossed example has a preamble, use \pglt instead of \glt

\ex \pream{Some Swahili verb stems}
\begin{tabbing}  
xxxxx\=\kill  
\textit{cheza}\>\lq play; dance'\\  
\textit{jua}\>\lq know'\\  
\textit{fika}\>\lq arrive'  
\end{tabbing}   

\end{exe}  

\end{document}

输出

在此处输入图片描述

3. 使用expex

用户高频高频滤波器在评论中询问如何使用其他包实现这一点。该expex\glpreamble在光泽环境中提供了一个可选行,以及一个参数belowglpreambleskip用于指示此线与光泽线之间的垂直空间大小(请参阅expex 语言注释中的 aboveglftskip有关更多信息)。该软件包非常灵活;几乎任何关于示例/注释格式的调整都可以通过提供的键值选项轻松完成。

代码

\documentclass{scrbook}   
\usepackage{array} % for formatting tabular columns
\usepackage{expex}
\lingset{ % sets expex options
    everygla=, % top line of gloss is not italics
    belowglpreambleskip=-0.5ex, % removes some vertical space between the preamble and gloss lines
    aboveglftskip=-0.5ex % removes some vertical space between the gloss and free translation lines
}

\begin{document}  
 
\ex
    \begingl
    \gla bloss ein Beispiel //
    \glb just a example //
    \glft \lq Just an example' //
    \endgl
\xe

\ex~ 
    \begingl
    \glpreamble Swahili: //
    \gla m-toto a-na-cheza //
    \glb 1-child 1-\textsc{prog}-play //
    \glft \lq A/the child is playing' //
    \endgl
\xe

\ex~ Some Swahili verb stems:\\
    \begin{tabular}[t]{@{}>{\itshape}ll} % the @{} removes horizontal spacing before the start of the tabular, >{\itshape} specifies that the next column is italics, and ll give you two left-aligned columns
    cheza & \lq play; dance' \\
    jua & \lq know' \\
    fika & \lq arrive' \\
    \end{tabular}
\xe

\end{document}

输出

在此处输入图片描述

4. 使用linguex

因为底层linguex使用cgloss4e就像 一样gb4e,所以修复方法与 非常相似gb4e。切换到cgloss将意味着您无法使用\exg.提供的简写环境,linguex而无需使用\glt来引入自由翻译行。据我所知,\exg.无论如何都无法使用 和 序言,因此最简单的方法可能是只对每个示例使用并在需要注释时\ex.引入\gll和。\glt

代码

\documentclass{scrbook}   
\usepackage{array} % for formatting tabular columns
\usepackage{linguex}
\usepackage{cgloss}  % reduces vertical space between preamble and gloss lines, as well as between gloss lines and free translation lines

\begin{document}  
 
\exg. bloss ein Beispiel \\  
just a example \\  
\glt \lq Just an example' % won't work without the \glt

\ex. Swahili:\\
\gll m-toto a-na-cheza\\  
1-child 1-\textsc{prog}-play\\
\glt \lq A/the child is playing'  

\ex. Some Swahili verb stems:\\ % with tabular, just using a normal line break (\\) gives the right spacing
\begin{tabular}[t]{@{}>{\itshape}ll} % the @{} removes horizontal spacing before the start of the tabular, >{\itshape} specifies that the next column is italics, and ll give you two left-aligned columns
cheza & \lq play; dance' \\
jua & \lq know' \\
fika & \lq arrive' \\
\end{tabular}

\end{document}

输出

在此处输入图片描述

相关内容