我正在使用 gb4e 包来管理语言学示例。我想要两样东西:
- 示例应根据其出现的章节进行编号,例如,第 2 章的第一个示例应为 (2.1),等等。
- 脚注中的例子应该用罗马数字编号((i),(ii),...)。
描述了分别实现两种结果的方法这里和这里分别。但是,如果我尝试同时使用这两种解决方案,则只有脚注编号有效,而正文中的示例将恢复正常编号,不引用章节,例如 (1)、(2) 等...
我可能忽略了一些非常愚蠢的事情。对此有什么建议吗?
这是一个简单的例子:
\documentclass[a4paper,11pt]{report}
\usepackage{chngcntr}
\usepackage{etoolbox}
\usepackage{gb4e}
\noautomath
\counterwithin{xnumi}{chapter} % the chngcntr way (preferred)
\counterwithin{exx}{chapter} % reset example counter every chapter
\exewidth{(1.234)} % leave enough room for the example number
\makeatletter
\pretocmd{\@footnotetext}{
\@noftnotefalse\setcounter{fnx}{0}%
\renewcommand{\thexnumi}{\roman{xnumi}}
}{}{}
\apptocmd{\@footnotetext}{
\@noftnotetrue
\renewcommand{\thexnumi}{\arabic{xnumi}}
}{}{}
\@ifpackageloaded{bidi}{%
\pretocmd{\@LTRfootnotetext}{
\@noftnotefalse\setcounter{fnx}{0}%
\renewcommand{\thexnumi}{\roman{xnumi}}
}{}{}
\apptocmd{\@LTRfootnotetext}{
\@noftnotetrue
\renewcommand{\thexnumi}{\arabic{xnumi}}
}{}{}
}
\makeatother
\begin{document}
\chapter{Test}
This is a test.\footnote{Blabla \begin{exe}
\ex Some text.
\end{exe}}
\begin{exe}
\ex BlaBlaBla.
\end{exe}
\end{document}
答案1
显然,重置每个脚注末尾的阿拉伯数字也会重置编号方案。您可以附加此设置以\@footnotetext
保留设置(请注意,如果您在第一个脚注示例之前有常规示例,您还需要全局命令。
旁注:如果您不使用,polyglossia
则不需要bidi
脚注修改的部分。
梅威瑟:
\documentclass[a4paper,11pt]{report}
\usepackage{chngcntr}
\usepackage{etoolbox}
\usepackage{gb4e}
\noautomath
\counterwithin{xnumi}{chapter} % the chngcntr way (preferred)
\counterwithin{exx}{chapter} % reset example counter every chapter
\exewidth{(1.234)}
\makeatletter
\pretocmd{\@footnotetext}{%
\@noftnotefalse\setcounter{fnx}{0}%
\renewcommand{\thexnumi}{\roman{xnumi}}%
}{}{}
\apptocmd{\@footnotetext}{%
\@noftnotetrue%
\renewcommand{\thexnumi}{\arabic{xnumi}}%
\counterwithin{xnumi}{chapter}% Reset regular numbering after footnote modifications
\counterwithin{exx}{chapter}%
\exewidth{(1.234)}%
}{}{}
\makeatother
\begin{document}
\chapter{Test}
\begin{exe}
\ex First example.
\end{exe}
This is a test\footnote{Blabla \begin{exe}
\ex Some text.
\end{exe}}with the footnote in between.
\begin{exe}
\ex BlaBlaBla.
\end{exe}
\end{document}
结果: