babel + Greek 和 endnote 包的问题

babel + Greek 和 endnote 包的问题

我正在排版一份包含法语文本(主要语言)和一些希腊语的文档。这是一份学术作品,我想同时添加脚注和尾注。我想使用罗马数字而不是字母作为尾注计数器,因为尾注计数器可能超过 26 个。

问题是,当我将尾注计数器设置为罗马数字,并使用 babel 包中的希腊字母时,它会抛出一个错误。至少,据我所知,这是正在发生的事情;我可能没有看到真正发生了什么。下面是一个产生问题的 MWE;如果从选项列表greek中删除,错误就会消失。babel

有人能帮我看看我遗漏了什么吗?

\documentclass{article}
\usepackage[frenchb]{babel}

\usepackage{endnotes}% http://ctan.org/pkg/endnotes
\renewcommand{\theendnote}{\roman{endnote}}

\begin{document}

tester\endnote{tester}

\theendnotes

\end{document}

答案1

选项greekbabel修改\roman\@roman命令,使它们独立于当前语言;但是,这样做会破坏与的使用endnote

这是一个可能的解决方案:

\documentclass{article}
\usepackage[greek,frenchb]{babel}

\usepackage{endnotes}% http://ctan.org/pkg/endnotes
\usepackage{etoolbox}

\robustify{\textlatin} % make \textlatin legal in \edef
\renewcommand{\theendnote}{\roman{endnote}}

\begin{document}

tester\endnote{tester}

\textgreek{aaabbbccc\endnote{\textgreek{dddeeefff}}}

\theendnotes

\end{document}

在此处输入图片描述

相关内容