在 TeXLive '17 中使用 Babel Greek 将尾注标记更改为罗马字母

在 TeXLive '17 中使用 Babel Greek 将尾注标记更改为罗马字母

本质上,这与这个问题

我正在同时使用脚注和尾注,所以我想将尾注改为罗马字体。两年前提出这个问题时给出的解决方案是添加

\robustify{\textlatin}

序言部分,所以它看起来像

\documentclass[10pt,twoside, openright]{book}

\usepackage[greek, english]{babel}
\usepackage{endnotes, etoolbox}

\robustify{\textlatin} 
\renewcommand{\theendnote}{\roman{endnote}}

\begin{document}

Once\endnote{Or maybe twice} upon a time $t\ge0\ldots$.

\theendnotes

\end{document}

这在我的 TeXLive '15 环境中有效,但如果我使用 TeXLive '17 则无效。

我收到一条消息

./text.tex:11: Incomplete \iffalse; all text was ignored after line
11. <inserted text>
               \fi l.11 Once\endnote{Or maybe twice}
                                                     upon a time $t\ge0\ldots$.

关于如何使它与 TeXLive '17 配合使用,您有什么想法吗?我使用 MacTex,macOS 10.13.2。

答案1

还可以增强\ensureascii

\documentclass[10pt,twoside, openright]{book}

\usepackage[greek, english]{babel}
\usepackage{endnotes, etoolbox}

\robustify{\textlatin}
\AtBeginDocument{\robustify{\ensureascii}}
\renewcommand{\theendnote}{\roman{endnote}}

\begin{document}

Once\endnote{Or maybe twice} upon a time $t\ge0\ldots$.

\theendnotes

\end{document}

在此处输入图片描述

\textlatin宏不再在的上下文中使用\roman,因此可能不需要对其进行强化,但这也不会造成任何损害。

答案2

\romannumeral您可以通过直接使用计数器值来绕过一些扩展问题

示例输出

\documentclass[10pt,twoside, openright]{book}

\usepackage[greek,main=english]{babel}
\usepackage{endnotes, etoolbox}

\renewcommand{\theendnote}{\romannumeral\value{endnote}}

\begin{document}

Once\endnote{Or maybe twice} upon a time $t\ge0\ldots$\endnote{Really twice}.

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

\theendnotes

\end{document}

相关内容