我正在排版一份包含法语文本(主要语言)和一些希腊语的文档。这是一份学术作品,我想同时添加脚注和尾注。我想使用罗马数字而不是字母作为尾注计数器,因为尾注计数器可能超过 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
选项greek
将babel
修改\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}