gb4e 包中的 \ex:如何强制示例不换行

gb4e 包中的 \ex:如何强制示例不换行

我使用 \ex 来列举文本中的示例。有时我希望示例以不换行的方式开始,即在同一行中。(例如,如果句子很短,为了节省空间)所以我希望输出:

“Balala,如 (2) 示例中的 Blablabal”

并且 exe 环境正在生成

“巴拉拉,就像

(2)例子。

啦啦啦”

对于 xlist 中的项目,最好将它们放在一起,因此 (1) a) Blaa。b) blla。

我不知道如何实现。似乎没有什么对我有用。有人有解决方案吗?

我删除了其他软件包。我认为应该有办法调整它。我不知道有什么替代方案可以满足我的需要。

\documentclass[11pt,a4paper]{article}
\usepackage{gb4e}

\begin{document}

Consider (\ref{exe:0}).

\begin{exe}
\ex\label{exe:some}
\begin{xlist}
\ex \emph{Some...}\label{exe:0}
\ex \emph{Not ...} \label{exe:1} %% I want to have them next to each other
\end{xlist}    
\end{exe}

Blabla:

\begin{exe}    
\ex \emph{Some...} % I want to have this "inline"   
\end{exe} 
\end{document}

答案1

要将示例集并排放置,您可以使用multicol包。这样做的缺点是,它以您可能不喜欢的方式对示例进行编号。这就是包的工作方式,因此没有好的解决方法。有关更好的方法,请参阅以下问题:

对于内联示例,这里有一种方法可以做到这一点,使用enumitem创建内联列表,但使用 中的示例计数器gb4e。它仅有的适用于顶级编号(即,内联示例中不能有子列表。)它也不支持注释示例(原因很明显。)老实说,我不认为这是做例子的好方法。

\documentclass[11pt,a4paper]{article}
\usepackage{gb4e}
\usepackage{multicol}
\usepackage[inline]{enumitem}
\newlist{inlineex}{enumerate*}{1}
\usepackage{calc}
\newcommand{\stepexx}{\value{exx}+1}
\setlist[inlineex,1]{label=(\protect\refstepcounter{exx}\arabic*),ref=(\arabic*),start=\stepexx}
\begin{document}
We can use \texttt{multicol} to put examples in columns. Consider (\ref{exe:0}).
 \begin{exe} 
\begin{multicols}{2}
 \ex\label{exe:some}
 \begin{xlist}
 \ex \emph{Some...}\label{exe:0} 
 \ex \emph{Not ...} \label{exe:1}
 \ex \emph{Third}
 \ex \emph{Fourth} %% I want to have them next to each other 
 \end{xlist}
\end{multicols} 
 \end{exe}


\begin{exe}\ex foo\end{exe} 
This is some text that contains an inline example
\begin{inlineex}
\item \emph{Some inline example.}\label{exe:inline3}
\item \emph{Another inline example.}\label{exe:inline4} % I want to have this "inline"
\end{inlineex}
This is the end of the paragraph with the inline example.
\begin{exe}
\ex This is an example to show the numbers are correct.
\ex Another one
\end{exe}
As you can see references to  \ref{exe:inline4} inline examples \ref{exe:inline3} work too. Unlike \texttt{gb4e} labels they don't need to be wrapped in parentheses.
\begin{inlineex}
\item \emph{This is one last inline example.}
\end{inlineex} And this is the last sentence.
\begin{exe}
\ex An example.
\ex Another one.
\end{exe}
\end{document}

代码输出

相关内容