我正在尝试压缩 gb4e 中示例周围的空间,目的是删除摘要中示例周围不必要的空白。以下是 gb4e 现在给我的结果:
我希望这些示例本质上看起来像正在运行的文本的一部分,如下所示:
总之,我想删除顶级项目编号之前的左缩进,删除示例之间的垂直空间,并删除环境上方和下方的垂直空间exe
。
我认为\vspace
命令可能在这里起作用,但每次都这样做会变得非常繁琐,而且我也想以“正确”的方式去做。
(我也认为linguex
也许能够毫不费力地做到这一点,但我习惯使用 gb4e,所以如果有办法做到这一点,我宁愿坚持使用它。)
梅威瑟:
\documentclass{article}
\usepackage{gb4e}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{exe}
\ex Blah \begin{xlist}
\ex Blah
\ex Blah
\end{xlist}
\ex Blah
\ex Blah
\end{exe}
\lipsum[1]
\end{document}
答案1
该gb4e
软件包实际上并非设计为可以以这种方式进行定制,但一次性修复并不困难:
\documentclass{article}
\usepackage{etoolbox}
\usepackage{gb4e}
\makeatletter
\renewcommand{\@subex}[2]{\settowidth{\labelwidth}{#1}\itemindent\z@\labelsep#2%
\topsep0\p@\itemsep0\p@%
\parsep\p@\partopsep0\p@%
\leftmargin\labelwidth%
\ifnum\the\@xnumdepth=1
\else\advance\leftmargin#2\relax\fi}
\makeatother
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{exe}
\ex Blah \begin{xlist}
\ex Blah
\ex Blah
\end{xlist}
\ex Blah
\ex Blah
\end{exe}
\lipsum[1]
\end{document}
单独调整左边距
如果您只想调整左边距,但保持行间距不变,则使用以下重新定义:
\renewcommand{\@subex}[2]{\settowidth{\labelwidth}{#1}\itemindent\z@\labelsep#2%
\ifnum\the\@xnumdepth=1%
\topsep 7\p@ plus2\p@ minus3\p@\itemsep3\p@ plus2\p@\else%
\topsep1.5\p@ plus\p@\itemsep1.5\p@ plus\p@%
\parsep\p@ plus.5\p@ minus.5\p@%
\advance\leftmargin#2\relax\fi}