语言学示例中句子的数量更改

语言学示例中句子的数量更改

我使用该gb4e包作为语法示例。例如:

\begin{exe}
\ex It is scary PRO to be near dogs.
\end{exe}

它在 PDF 中自动显示为句子 1。我该如何将其显示为句子 5、句子 6 或句子 100?

答案1

gb4e包有多种引入不同示例编号的方法,根据实际需要,您可能需要使用不同的方法。此外,还有两个计数器控制示例的主要编号,但用途略有不同,并且设置在环境内部或外部exe。在本回答中,我将尝试涵盖所有这些内容。

主要示例数字计数器:exxxnumi

主要示例编号由两个相关计数器控制:exxxnumiexx计数器必须在环境之外设置{exe},但xnumi计数器必须在环境内部设置{exe}。因此,它们不能互换使用。

因此,对于您的问题的最基本答案有两个,两个答案都很好,但在我看来,其中一个在概念上更有吸引力。

您可以设置exx计数器外部环境{exe}

\setcounter{exx}{<value>}
\begin{exe}
\ex An example numbered <value>
\end{exe}

或者你可以设置xnumi计数器里面环境exe

\begin{exe}
\setcounter{xnumi}{<value>}
\ex An example numbered <value>
\end{exe}

这是一个完整的例子:

\documentclass{article}
\usepackage{gb4e}
\begin{document}
\setcounter{exx}{4}
\begin{exe}
\ex This will be example 5
\end{exe}

\begin{exe}
\setcounter{xnumi}{9}
\ex This will be example 10
\end{exe}
\end{document}

代码输出

从外延上讲,这两种解决方案是相同的,但我认为第一种方法在概念上更合理,原因如下。显示语言示例的典型方式是将主数字放在括号中,如果有子示例,则使用小写字母枚举。对于源代码中的语义标记,这意味着环境{exe}应该恰好对应于一个编号示例,并使用环境引入子示例{xlist}

因此,最好这样做:

\begin{exe}
\ex One
\ex Two
\ex Three
\end{exe}

这将产生(1)(2)和(3),最好使用三个独立的{exe}环境。

\begin{exe}
\ex One
\end{exe}

\begin{exe}
\ex Two
\end{exe}

etc.

这更好地反映了语义标记,也使得移动示例或用文本拆分示例变得更加简单。

因此,控制{exe}其外部环境的编号是有意义的,所以使用计数器exx比使用计数器更可取xnumi

此外,如果您需要重置文档中示例的编号,则需要使用计数器exx

何时exx必须使用

如果您出于任何原因需要重置文档中的示例编号, exx请计数器必须使用。

beamer重置覆盖上的示例数字

当使用beamer类时,Beamer 中的覆盖图会创建多个页面,因此除非您告诉 Beamer 重置它们,否则您的示例数字将在每个覆盖图上递增。重置计数器的命令是\resetcounteronoverlay,并且此命令必须使用exx中的计数器gb4e而不是xlisti计数器。

\documentclass{beamer}
\usepackage{gb4e}
\resetcounteronoverlays{exx} % using xnumi here will not work
\begin{document}
\begin{frame}
\frametitle{A frame}
    \begin{exe}
    \ex An example\pause
    \ex An example\pause
    \ex An example
    \end{exe}
\end{frame}
\end{document}

重置每个部分或章节的示例数量

如果您希望每个章节或部分都有示例数字,则必须使计数器exx依赖于chaptersection计数器。但是,如果您想更改计数器本身的格式,则必须重新定义\thexnumi。为此,最简单的方法是使用chngcntr包:

\documentclass{article}
\usepackage{chngcntr}
\usepackage{gb4e}
\counterwithin{exx}{section} % reset example numbers per section
\renewcommand{\thexnumi}{\thesection.\arabic{xnumi}} % change format of number
\begin{document}
\section{Section one}
\begin{exe}
\ex An example
\end{exe}
\section{Section two}
\begin{exe}
\ex Another example
\end{exe}
\end{document}

在此处输入图片描述

更改示例数字的其他方法

更改主示例编号只是更改编号的方法之一。还有其他一些用途可能更适合您的用例。

引用其他来源的具体示例

如果您只想引用一个非常具体的数字(例如来自其他人文章的数字),您可以使用以下语法:

\begin{exe}
\exi{(20)} An example.
\end{exe}

这样,您就根本不需要弄乱主要示例的编号。

重复一个例子

如果您想在文本中重复示例, \exr{<label>}则可以使用。这比手动重置数字更可取。

\documentclass{article}
\usepackage{gb4e}
\begin{document}

\begin{exe}
\ex This is an example.\label{Ex11}
\end{exe}

\begin{exe}
\ex This is a second example.
\end{exe}

\begin{exe}
\exr{Ex11} This is an  (repeated) example.
\end{exe}
\end{document}

代码输出

答案2

这是一个解决方案。使用\setcounter{xnumi}{<value>}内部exe环境。

\documentclass{report}
\usepackage{gb4e}
\begin{document}

\begin{exe}
\setcounter{xnumi}{4}
\ex It is scary PRO to be near dogs.
\ex It is scary PRO to be near dogs.
\end{exe}
\begin{exe}
\setcounter{xnumi}{10}
\ex It is scary PRO to be near dogs.
\ex It is scary PRO to be near dogs.
\end{exe}
\begin{exe}
\setcounter{xnumi}{1}
\ex It is scary PRO to be near dogs.
\ex It is scary PRO to be near dogs.
\end{exe}
\end{document}

在此处输入图片描述

相关内容