我使用linguex
并且我不希望我的示例与直行注释和翻译被分页符分开。目前我必须检查 PDF 输出并使用包needspace
,但显然这是一项繁琐/无聊的工作。
\needspace{4\baselineskip}
将接下来的 3 行保持在一起。
有没有什么办法可以告诉 LaTeX 不要将linguex
示例分成两页?
澄清:我不希望将子示例 abc 放在一起。
编辑:添加新命令,例如在响应中gb4e 中也有同样的问题不是这个问题的解决方案——我已经说过解决方案不应该涉及手动返回每个示例环境。解决方案gb4e
是不可取的,因为它需要查找每个已经写好的示例,而且还会将行距稍微更改为旧gb4e
样式。它还涉及向每个示例添加命令linguex
,使其成为文档样式中全局问题的不太优雅的解决方案。可能有一种解决方案是将命令以\nobreak
某种方式添加到包中,但截至目前,还没有解决方案。
我的意思是,linguex
示例如下:
\documentclass{article}
\usepackage{linguex}
\usepackage{leipzig}
\usepackage{lipsum}
\def\glt{\nobreak}
\begin{document}
\lipsum[1-5]
\exg. y cath-od\\
{\Art} cat-{\Pl}\\
`the cats'
Some text about cats.
\end{document}
而提出的解决方案是这样的:
\exg. y cath-od\\
{\Art} cat-{\Pl}\\
\glt `the cats'
并且我希望我的例子保持原样,因为 1)不想手动编辑它们 2)对一个简单问题的不优雅的解决方案。
答案1
这是不需要使用\glt
宏的问题解决方案。这也适用于gb4e
(使用\glt
宏),并且我已为链接的(几乎重复的)问题添加了合并答案
\documentclass[11pt,letterpaper]{article}
\usepackage{lipsum}
\usepackage{etoolbox}
\usepackage{linguex}
\makeatletter
\apptocmd{\gl@stop}{\nobreak}{}{}
\makeatother
\begin{document}
\lipsum[1-4]
\exg. wuz x̃ũch it-ak xohish-em\\
1\textsc{sg.prn} bread eat-\textsc{inf} want.\textsc{prs}-1\textsc{sg}\\
`I want to eat bread.'
\ex. This is another example.
\end{document}